真正年轻的软件架构师

时间:2008-09-24 22:54:36

标签: java architecture

我是一位非常年轻的软件工程师/ QA团队负责人。我已经开发了大约2年的软件,其中有一年我也是软件开发公司QA团队的负责人。目前,我仍在担任QA工具的QA团队负责人/软件工程师。最近我被邀请加入一群希望成立软件公司的朋友和同事。他们希望我成为软件的架构师/技术主管(用Java编写的特殊聊天客户端就是我所能说的)。我非常擅长在火中学习,我从中学到很多东西。但是,我担心我缺乏经验会导致项目失败(或至少发展不佳)。所以我想知道你是否会建议我采取这个立场,尽我所能并随时学习?或者你会建议我拒绝?

如果你建议我采取这个职位,请你提供一个或者对初学Java架构有用的资源吗?

14 个答案:

答案 0 :(得分:18)

  1. 努力成为房间里最蠢的家伙。
  2. 如果它让你生病,恐惧,那就去做吧。如果你因害怕而生病,就逃跑吧。

答案 1 :(得分:10)

作为一名能够成为小公司架构师的人,我认为以下几点可能有所帮助:

  1. 你比你想象的更多。仅仅因为你以前从未成为过建筑师并不意味着你不知道自己不能成为一名建筑师。
  2. 作为一名建筑师,您总是需要学习并跟上趋势和技术的步伐。做好准备。
  3. 收听。团队成员将拥有挑战所有偏见的好主意。
  4. 特别是在一家小公司,你 必须要知道建筑师角色中的政治。我不太清楚并因此而被烧伤。这可能会影响你的友谊。
  5. 小公司的发展速度惊人。为此做好计划并且没有财务承诺,这意味着你不能在短时间内失业。

答案 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关于迭代软件开发的书多年来非常有用。 alt text

答案 13 :(得分:0)

作为团队领导者,您需要善于发挥团队的最大潜力,以及自己学习。通过100%提高自己的技能,您可以将团队的工作效率提高10%。通过100%提高团队的生产力,你可以提高它......当然是100%。

您对朋友创业的价值不仅仅在于您纯粹的编码技能,还在于他们了解并信任您作为合作伙伴。显然对他们来说他们觉得你可以贡献一些真正的价值,所以我的建议是你“假装它直到你成功”:)