具备良好的编程基础。所谓的编程基础其实就是常见的编程语法以及编程用法,编译调试等基本功。什么样的算是基础好,就是在编码速度和编码的质量方面底子都很雄厚。在编写代码的过程中不需要对于简单的语法细节都要跑到百度或者google上面去搜索,常见的面试题目基本上保持百分90以上的成功率。
独立解决问题能力。高级工程师和比初学者在气质上一个重大的区别,初学者在遇到问题的时候,总会急急忙忙的,但是老手遇到问题总会想出办法,更加重要的是用最恰当的方式解决掉疑难问题,这些都是老手比较突出的表现,解决问题不仅仅是代码逻辑上面的体现,更加重要的是编程思想的体现,遇到棘手的问题总能拿出相应的合适的解决方案。
具备独立的模块的构架能力。设计的单元模块,在稳定性以及扩展性方面都有体现,设计出来的模块能跟上整体代码的框架,能领悟整体的代码框架设计思想,这点也是老手区别于新手的一个比较鲜明的特点之一。
深度调试和维持软件高性能以及稳定性能力。软件过了功能开发阶段,就会进入软件性能维护阶段,这个阶段要求工程师对代码有一个整体的把握准确定位出问题所在,这是软件成为产品很重要的一步。一般的老手也比较喜欢玩这个阶段,因为这样很能体现整体逻辑思维能力,一般出问题都比较棘手解决起来也比较麻烦,但是从另一个层面说明要求高级工程师需要具备整体分析解决问题的能力。
以上四点做到,拿到理想的月薪只是时间问题,当然要拿到2万月薪还需在软件比较发达的一线城市,在二三线城市基本很难实现。当然还要取决于选择了正确的软件开发方向,有些方向即使做到老也很难有大的突破。选择好一个方向然后全力以赴的去做,月薪两万不是梦。