java架构师指南:想成为架构师需要解决的问题

跳槽旺季,每个人都希望拥有高薪,良好的环境和稳定的工作。 现在是四月,跳槽季节只剩下一个月了。 准备好了吗 你有良好的饮食技能吗? 您准备好进入著名公司了吗? 最重要的是,您是资深java架构师吗? 想成为java架构师吗? 还是继续加班每天写代码? 这些问题只能由您自己理解并自己解决。
  java架构师指南:想成为架构师需要解决的问题
  现在正是需要我们认真考虑的时候,要如何提高我们的编程能力,要怎样努力才可以成为一名java架构师,下面几点是凭我多年经验总结出来的。大家可以借鉴参考一下。
  第一:提醒自己还有多少没有学习
  学习新事物的第一步是要认识到自己有哪些不足。 这听起来很简单,但是有经验的程序员要花很长时间才能克服这个假设。 许多计算机专业的学生抬起头来,高傲地说道:“这没什么,我全都知道”类似这般的虚张声势,
  刚上班,似乎向每个同事证明了他的能力。
  要知道,“我知道全都会”会阻碍我们学习新东西,这种输出强大的确定性叫靠谱。
  第二: 不要试图证明自己是正确的
  坚强不仅是好事,还必须学习并从经验中成长。 但是请小心,经验会阻止我们重复不良习惯并养成不良习惯。 我们已经认识了一个程序员八年了,但是在过去的八年中,他一直在重复做同样的事情。 为避免此类问题,请查看我们所做的所有事情并问自己:“我如何做得更好?” 软件开发新手和许多经验丰富的开发人员都喜欢自己的代码。 即使他们编写测试,他们也证明自己的代码是完美无缺的。 真正优秀的程序员会积极寻找可能的错误,他们知道最终用户会发现程序员遗漏的缺陷。
  第三: “代码有效性”不是停下来的地方,而是开始的地方
  没错,你的第一次总是能写出满足规范的高质量的代码。但是大多数的开发者在这一处就宣布“完成”,继续下一步。
  一旦“完成”就停下来,这个码就像拍一张快照,它还不是一个成品。优秀的程序员知道第一次迭代只是一件粗糙的物件。现在,我们让它变成更好的艺术品。
  这个过程的一部分是定义“更好”的蕴义。加快速度有价值吗?更容易做日志?更可复用?更可靠?答案可能因每个应用程序而异,但该过程并不适用。
  第四 :写三遍
  好的程序员可以编写出可以运行的软件。伟大的程序员写的软件工作非常好。但这些很少发生在第一次。最好的软件是写三遍:
  1.首先,你写软件是向自己(或用户)验证解决方案是可行的。其他人可能不认识这只是一个概念验证,但是我们先做好这一步。
  2.第二次,你让代码可以工作。
  3.第三次,你让代码可以正确的工作。
  当您看到最好的开发人员工作时,这些工作水平可能并不那么明显。 他们所做的一切都很好。 但是您看不到明星,钢琴家和技术大师在向他们展示软件之前可能已经抛弃了第一,第二甚至更多版本。 擅长丢弃代码并重新开始可能是在个人工作流程中包含“更好”的一种有效方法。
  如果没有更好的方法,“写三遍”教会我们有多种方法来解决问题,防止我们陷入窘境。
  第五: 阅读代码,阅读大量代码
  或许你喜欢领导别人来看代码。其实这是提高编程能力的最常见也是最有价值的方法。
  也许刚开始时你会觉得有些枯燥,因为它不是文学诗歌,慢慢你会看到别人如何在编程中解决问题,他们将其视为教训与挑战。为了能让自己更好,我们不妨问问自己这样的一些问题:
  1、如果是我怎样编写这段程序?现在我已经看到别人怎样解决的,如果是你该怎样解决?
  2、我学到了什么?该怎样把这个技术应用到我过去写的代码里?我怎么没有想用递归调用…
  3、我将怎样改进此代码?如果该项目参与了开源,如果你确信有更好的解决方案,那就去做!
  4、按原作者的风格写代码。按照这个规则实践编码,会帮助你进入原作者的思维中,可以进一步改进代码的同理心。
  注意:不要以为一个很优秀的程序员就能轻松的阅读大量源代码,就如一位崇拜者在不改善自己写散文的情况下,阅读伟大的文学作品一样没有太大进步。
  很多开发者会使用开源或其它下载的源代码来“查找答案”,有可能还会复制粘贴与问题类似的代码。
  如果你经常这么做,那么你可能会成为一个差劲的程序员!因为你没有经过自己的思考和检视就盲目接受了别人的智慧!
  它就像我们在夏天的露天野餐一样容易,但是我们没有花时间理解它,你永远不会意识到,这可能会引入了一系列的BUG。
  第六: 写代码,不仅仅是完成工作
  一个人在编程工作中会体会到很多优点。第一,它提供了一种在当前工作中获得的技术和工具的学习机会,这些工具技术会让你适应下一个工具和市场。无论是否为开源项目做贡献,还是为公司项目工作,我们都可以获得技术技能和相信。
  开发软件的另一个好处是它会“迫使”你想方设法解决问题。我们不能把困难的事情留给别人,所以我们决不能过早的寻求帮助。
  值得一提的是:不要只选择没有什么挑战的项目。我们也需要失败!虽然你可能不想在工作中失败或者到了最后期限失败。
  第七: 尽最大可能与其他开发者协同工作
  这样有助于倾听其他人的心声。可以使用结对编程,或者到黑客马拉松或者编程用户组,如北京 Python 用户组。当你已经为开源项目做出贡献时,请多注意用户和其它开发者的反馈。比如,你在批评中看到了哪些共性问题吗?
  如果能在团队里找一位可以信赖的个人导师,从编程技巧到职业决策和规划,他能给你更多指导,千万不要不当回事,浪费很多时间。
  第八:学习技术而不是工具
  编程语言,工具和方法林林总总,这就是为什么尽可能的学更多的语言和框架来获得不同体验的原因。专注于编程基础,因为基本的东西永远不会发生变化;比编程更深刻的是要注重架构。
  如果你有一件正确的事情去做,需要进行实时的检查。教条会阻碍我们学习新事物的能力,我们需要拥抱变化 。
  总结:
  我们需要继续前进,但自我完善的关键原则是知道何时停止。
  推荐阅读:java架构师指南之架构师的工作流程