作为一个北漂过十几年的程序员, 根据自己的经历来分析下这个问题. 在一线城市的程序员拿到月薪两万不是什么特别难的事情, 特别是一些稀有的职业有些刚毕业的大学生在专业对口的情况下, 直接就能拿到这个数, 毕竟物以稀为贵. 但也不是随便一个程序员就能拿到这个数字, 在正常的情况下能拿到这个数起码属于一个合格的程序员.
作为一个在一线城市的程序员如何拿到月薪 2 万?
1. 编程基本功扎实
代码编写能力是一个最直接的表现, 当然基础不仅仅是写代码的能力, 同样都是在写代码, 表现出的效果往往差异非常大, 背后就是编程语言的基础语法, 数学算法基础, 英文文档的阅读能力, 在很大程度上学历能决定基础, 特别是一些对口的专业, 所以讲编程学习拿出功夫来搞定也不是很难的事情, 但要真要学好还是存在很多制约的因素.
就拿算法例子来讲, 特别是涉及到一些非常复杂的算法, 如果具备一定的数学基础, 搞起来就会轻松许多, 如果不懂从头开始学习不是不可能, 但要付出很多精力, 这就是有没有基础的差异, 只能讲基础好学的会快很多.
2. 具备一定的项目经验
很多人在讨论学历对程序员有多大的影响, 学历对于第一份工作显得非常重要, 因为用人单位在选择刚毕业的学生, 就看两点其一: 学校和专业; 其二: 编程基本功. 一个程序员最初缺的就是项目经验, 项目经验不完全是代码编写能力, 还有具体解决问题的能力, 以及应对客户紧急需求的能力.
所以企业在招聘简章上要求的项目经验, 招过来的人有了经验直接就上手做事情, 意味着可以直接产出高质量的代码, 项目经验是程序员的生存之本, 所以有了项目经验的程序员本身的毕业学校或者专业等东西都变成了次要因素. 所以初学者在选择公司的时候不能过份看重待遇, 要看是不是能够拿到真正的项目经验, 理论上做的项目越多获取的经验越丰富.
3. 具备一定的架构能力
架构能力说大了, 可以没有边际, 任何一个合格的程序员都需要具体一定的架构能力, 单个模块功能也需要精细的设计, 也需要考虑后续的兼容性问题. 架构无处不在, 不是说只有架构师才具备这种能力, 从一个标准的程序员的开始就要培养这种意识. 不可能每个程序员都有机会去架构一个系统, 起码在心理上时刻准备着, 所有的架构师开始都是时刻准备着, 然后有机会了直接上, 然后不断的总结经验教训, 慢慢成为真正的架构师.
就要从单个功能模块开始学习架构能力, 要不停的提升自我的要求, 从最小的功能函数开始, 关注每个设计细节, 有了新的想法就要去不断的尝试学习, 平时多去研究开源社区的代码, 多去看一些结构理论上的书, 然后在代码寻找实践的影子, 机会总是给有准备的人, 作为一个程序员总要设计一次系统, 也算是没做过一回程序员.
在编程领域有一句话叫功到自然成, 能力到了该有的待遇自然就跟上了, 如果跟进的不及时就该考虑辞职了, 所以本质上先要把内功修炼好, 基本功要扎实, 要靠谱, 再去考虑别的事情.
一位好的 web 前端开发工程师在知识体系上既要有广度, 又要有深度, 所以很多大公司即使出高薪也很难招聘到理想的前端开发工程师. 那么如何系统的学习企业实用的 Web 前端技术呢, 为此建立了一个 Web 前端的直播学习扣扣裙, Web 前端前面数字是 767,Web 前端中间的数字是 273,Web 前端最后是 012, 将数字连接起来就是了. 真正想要学习的可以进入, 打酱油的就不要浪费大家的时间了. 现在说的重点不在于讲解技术, 而是更侧重于对技巧的讲解. 技术非黑即白, 只有对和错, 而技巧则见仁见智.
来源: http://www.jianshu.com/p/95bca3e71ebf