进入软件行业的几点建议


写在之前:今年年初给自己安排了一个任务,每个月写一遍感悟性的文章。促使自己沉淀并思考。 回望自己在软件行业的经历,总是感叹如果早知道某某事情多好。这篇文章主要写一些建议,如果这边文章有幸被你看到, 希望对你有帮助。


1.多花一些时间学习面向对象设计

When a novice is learning to program, the life span of the resulting code is usually measured in hours or days. Programming assignments and exercises tend to be write- once, with little to no refactoring and certainly no long-term maintenance. These programs are often not rebuilt or executed ever again after their initial production. This isn’t surprising in a pedagogical setting. Perhaps in secondary or post-secondary education, we may find a team project course or hands-on thesis. If so, such projects are likely the only time student code will live longer than a month or so. Those developers might need to refactor some code, perhaps as a response to changing requirements, but it is unlikely they are being asked to deal with broader changes to their environment.

                                                                             –摘自《Software Engineering at Google》

文章大意:

        当新手学习编程时,编码的生命周期通常以小时或天为单位。编程作业和练习往往是一次编写的,几乎没有重构,当然也没有长期维护。这些程序通常在初始生产后不再重建或再次执行。这在教学环境中并不奇怪。也许在中学或中学后教育,我们可以找到团队项目课程或实践论文。如果是这样的,项目很可能是学生们的代码生命周期超过一个月左右的时间。这些开发人员可能需要重构一些代码,也许是为了应对不断变化的需求,但他们不太可能被要求处理环境的更大变化。

上面的文章说事情,大多是开发人员在学校里都都经理过的, 我从 上查了些资料,目前国内软件企业的寿命只有3到5年,在中国一个软件维护5年以上是很少见的, 面试过一些同行,他们参与的项目周期大多是3到18个月,项目交付后就不再维护。写过的代码除非改Bug很少再去大面积修改重构。

在这样的背景下,开发人员很少会维护自己的代码。开发人员不会关注自己的代码,也不会对自己的代码做重构,精益求精。 也许你刚刚还在做CRUD,也许你刚刚还在做拷贝粘贴,也许你刚刚还在堆代码实现业务。 如果你看到这篇文章,我想说:如果不思考,做这些事情不会提高你的编码能力,也不会提升设计思维。 当写的代码多了, 看的源码多了, 认真思考了才会理解面向对象设计的重要性。 因为它无处不在。 值得花一些心思

2.认清自己,同时学会思考

刚刚参加工作的时候,我认为高级开发人员只是比初级开发人员经验多一些,了解的框架多一些。 所以学会使用一些框架后我就敢面试中级开发岗位,了解一些框架原理就敢说自己达到了高级开发人员水平。 

现在我不再这么想, 初级开发人员和高级开发人员确实存在很大的差距。不光表现在知识和经验上。 举几个例子

  • 初级开发人员为了完成任务,很少考虑质量、维护成本以及产生的技术债务,高级开发人员会写简单的代码和高质量的代码,让软件系统更易于维护和扩展
  • 初级开发人员只是在低头完成自己任务,并不是很理解业务需求。 高级开发人员会思考,使用更好的工作方式开发高质量软件
  • 初级开发人员将知识视为成长杠杆和进步途径,而高级开发人员分享知识、验证知识、视图提升团队水平。 他们知道团队最大的失败点还是开发人员
  • 初级开发人员只看到了顺利的任务,这导致经常低估工作,高级开发人员会将问题和安全边际添加到评估中。确保项目低意外
  • 初级开发人员在项目失败的时候会感到恐惧,关系自己是否受到指责, 高级开发更知道中要的是理解什么导致了问题。考虑系统或者过程如何阻止或者避免同样的问题再次产生

你可能天天在想某个新框架怎么用, 某个框架原理是什么, 说着把自己累死也要卷死别人的话。我想和你说, 很可能你把自己累死了,把别人卷死了, 也只是一个知识丰富的初级开发人员。让自己停下来吧。 想一想,自己最紧迫需要提高的是那些方面,那些方面是自己比较容易提高的。 然后再做打算。认清自己,同时学会思考。

 


上一篇:如何发现和处理团队中的问题

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93584 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月20日
下一篇 2022年9月20日

相关推荐