我是一位非常年轻的软件工程师/ QA团队负责人。我已经开发了大约2年的软件,其中有一年我也是软件开发公司QA团队的负责人。目前,我仍在担任QA工具的QA团队负责人/软件工程师。最近我被邀请加入一群希望成立软件公司的朋友和同事。他们希望我成为软件的架构师/技术主管(用Java编写的特殊聊天客户端就是我所能说的)。我非常擅长在火中学习,我从中学到很多东西。但是,我担心我缺乏经验会导致项目失败(或至少发展不佳)。所以我想知道你是否会建议我采取这个立场,尽我所能并随时学习?或者你会建议我拒绝?
如果你建议我采取这个职位,请你提供一个或者对初学Java架构有用的资源吗?
答案 0 :(得分:18)
答案 1 :(得分:10)
作为一名能够成为小公司架构师的人,我认为以下几点可能有所帮助:
答案 2 :(得分:8)
作为团队领导者,您最重要的资产不是您的经验,而是与您合作的团队。如果你了解并信任这些人,或者你可以聘请自己的团队,那么无论如何都要去做。如果您打算招聘,请先阅读一本关于良好招聘的书(Joel on Software有一篇很好的文章)。
你在Stack Overflow上询问它,所以你至少对它有正确的态度。在需要时寻求帮助。不要试图通过不谈论问题来过度补偿你缺乏经验。仅仅因为你不知道问题的答案并不意味着经验丰富的经理也会有。在门口检查你的自我并完成工作。无论如何,你会受到更多的尊重。
如果你是一个根深蒂固的团队遇到问题和问题,那么当你成为一名经验丰富的经理时,真的会派上用场。这听起来对你来说是一个绝佳的机会。如果没有管理,你永远不会成为一名经理。
答案 3 :(得分:6)
mythical man month& Peopleware是您需要阅读的2本书。
答案 4 :(得分:3)
我不会告诉你这样做,但是......
我会告诉你,如果你想真正提高自己的技能并在事业上取得进步,你将不得不承担风险并暂时离开你的舒适区。
此外,作为开发人员,尽管我们对项目/时间表更乐观,但我们对自己的技能/能力往往持悲观态度,并专注于我们不知道的事情,而不是我们的工作。
如果您有疑问,则需要与潜在的业务合作伙伴讨论此事。
答案 5 :(得分:1)
软件架构上没有多少有用的独立资源。一旦你过滤了供应商营销和手工挥动象牙塔的东西,似乎没有什么实用建议。
一个好的是Coding the Architecture,专注于建筑,并为开发人员向建筑师过渡提供了大量信息(完全披露 - 我已经以一种小的方式参与其中) )
此外,还有一个simillar question关于建筑博客的答案。
答案 6 :(得分:0)
您应该向新团队表达您的想法。事实上,你是开放的,这是一个很大的优点,我会说。尽力而为,保持专注 - 经验并非一切,特别是当你意识到自己的缺点时!
答案 7 :(得分:0)
由于您在同一句话中使用了 Java 和 architect 这些词语,我是否可以建议SCEA认证中使用的学习资料?特别是,我发现Core J2EE Patterns是一本非常有用的书,用于思考更大的图片架构问题。
答案 8 :(得分:0)
与小组中的其他人一起开放,确保每个人都了解风险并了解“最坏情况”是什么。您还需要熟悉项目在技术上达到最新速度所需的所有额外时间。
如果项目确实失败了,还要问问自己是否可以在经济上做到这一点。
如果每个人都在船上,听起来像是一次很好的学习经历!
答案 9 :(得分:0)
我不会担心这是公司失败的潜在原因。提前关注你的问题,但要用自己的能力(和愿望)来锻炼。
您应该自己审查公司创始人的融资和业务安排。我认为,由于“商业”原因,而不是技术原因,公司更有可能失败。
答案 10 :(得分:0)
如果你可以加入小组而不必放弃你的工作,那就太棒了。但是如果你必须选择走哪条路,哪一条放手,只有你能做出决定。跟随你的心,你永远不会迷路。
答案 11 :(得分:0)
根据您目前所说的内容,此项目将失败。哎呀,大多数新项目都失败了。如果你对此感到满意,那就去吧!对你来说这将是一次很好的学习经历:)请确保你不要失去亲密的朋友。
答案 12 :(得分:0)
我发现Craig Larman关于迭代软件开发的书多年来非常有用。
答案 13 :(得分:0)
作为团队领导者,您需要善于发挥团队的最大潜力,以及自己学习。通过100%提高自己的技能,您可以将团队的工作效率提高10%。通过100%提高团队的生产力,你可以提高它......当然是100%。
您对朋友创业的价值不仅仅在于您纯粹的编码技能,还在于他们了解并信任您作为合作伙伴。显然对他们来说他们觉得你可以贡献一些真正的价值,所以我的建议是你“假装它直到你成功”:)