一个程序员的成长之路,会经历多个阶段,从初级工程师、中级工程师到高级工程师再到这个领域的专家,但是能成为技术专家的终归是少数,因此我们通常给自己规划的是前几个阶段。刚毕业的时候就在想,如何能成为高级工程师?高级工程师到底是什么样子的?有的人会说,工作3-5年后,自然就成为了高级工程师,这种以工作年限来定义的并不准确,有的人或许工作好几年却在原地踏步,还停留在初、中级别,有的可能工作2-3年就成为了独挡一面,攻坚克难的高级工程师。那么,同样是3、5年,为什么差距能这么大呢?
思考方式(分析问题)
我记得在我毕业后的第一家公司的时候,在开发中遇到了一个问题,我就跑去问老大,然后老大给我说:如果这个问题给你来解决,你会怎么做?当时一脸懵逼?心里是这样的
不给答案就算了,反而给他问住了,老大问你你得回答啊,于是就分析了一下,说出了自己的想法,老大说:这不是知道吗?还跑来问我干嘛。从那以后,我都不敢轻易去问了,遇到问题了自己先分析,然后寻找解决方法,有的时候就算实在解决不了,也要先整理一下思路然后再去问。
为什么讲这个故事呢?因为很多同学都是这样,在技术群里经常有些同学会问一些没有营养的问题,可能他们自己都还没思考或者实践过,就把问题仍出来,等待答案。在发现问题的时候就为自己设置了门槛,觉得自己解决不了,想找人帮忙解决。久而久之就形成了习惯,才会发现自己没有独立分析解决问题的能力,遇到难题就扔给别人,工作了多久都是原地踏步,技术没有长进,这非常不利于我们的职业发展。
我们与高级工程师的差距可能就在我们的思维方式,分析问题的能力。遇到问题时,先想想自己的解决方案,然后再问别人,这样才会有比较,发现自己的不足,从而提升自己。
知识延伸 (总结)
实现一个需求可能有多种方案,每一种方案可能都有利有弊,在开发赶需求阶段,我们可能不会考虑哪种方案最好,或许根本就没有考虑有几种方案,只要实现了需求就行,管他效率还是封装解耦呢。但是随着需求的增加,项目的项目变大,原来的方案可能就满足不了了,这个时候,我们就需要为以前的方案还债了。花费更多的时间和精力。
高级工程师会考虑得更加全面,不止于眼前,考虑性能和可扩展性,这样才能应对将来不变的需求和更高的性能要求。会进行技术预研和考量,选择合适的方案。善于总结和分享。自己进步的同时也帮助他人进步。
全部0条评论
快来发表一下你的评论吧 !