如何跨专业成为一名高端程序员?
如何跨专业成为一名高端程序员?
-
感谢邀请,一直在互联网行业工作,下面我分析下这个问题。
引言:在非互联网行业的看法中,程序员一直被认定为"吃青春饭"的高收入人群。耳朵中经常能够听到这个 谁谁谁搞 java 开发的,月薪20k... 在大家眼里的高收入却是需要付出无休止的加班换来的,互联网公司一般遵循 "996"模式,就是每周上六天班,每天从早上九点到晚上九点。

其实,程序员的工作是非常辛苦的,每天面对的都是电脑,代码,bug,需求...
其中,也会有一些问题,比如:这些程序员怎么会的这些代码?他们是上学学习的,还是后续进修的?
下面我就从 程序员身份出处(科班和进修)和不同出处如何成为高端程序员 来讲述。

一、程序员身份出处
程序员的诞生一般分为两种,一种是大学学习的关于计算机类的课程,包含一些简单编程;另一种是自己学习或者进修的,也就是所谓的跨专业,这个可能之前没有编程的功底。
科班出身,往往大学毕业后,会找一份对应的编程工作,不断学习,不断积攒经验。这类人也是互联网公司比较喜欢的,因为公司“认为”有底子(如同练习武功一般),也值得培养。科班出身往往自信心都是比较强的。
进修类也就是跨专业的程序员,往往没有任何编程功底,他们可能是听说别人工资很高,就自己学习编程或者通过参加培训机构的学习来让自己快速成为一名“程序员”。这类程序员在学成后,找工作往往不太好找,不对企业胃口。所以,有的会伪造工作经验来获得面试公司认可。如果成功录取,并有了一定的工作经验后,自信心才会慢慢提升,考虑跳槽,继续“深造”
总结:无论哪种出身,只要逻辑思维强,上进心足,吃得了加班的苦,经过几年的经验积累,也会往高级程序员进发!

二、对于不同出处的程序员,如何进阶为高级程序员呢?
其实这个问题没有绝对的答案。
程序员专业特质:逻辑思维强、抗压能力强、善于思考、善于总结归纳、善于笔记、勇于推翻自己...

有这些特点的人或者程序员再通过不断的学习,经过时间加代码的累计,进化为高级程序员简直 so easy !简单归纳下,总共分3步!
步骤1:掌握你的编程语言
你以后每天需要面对哪种编程语言取决于你今天选择的技术。但是编程语言总有主次之分。例如,Ruby on Rails 开发人员主要使用 Ruby,AngularJS 开发人员大多数时间用的是 JavaScript。确定编程语言、掌握编程语言对你的职业生涯发展至关重要。
步骤2:将重构养成习惯
随着你不断添加更多的功能,代码库也会越来越复杂。为了保持代码库的可管理化,你需要重构。如果你不重构的话,你很快就会进入两难境地——即使是做 很小的改动都很困难、bug 没法避免、没有人愿意处理这个凌乱的代码库。重构能让你的工作更加轻松。事不宜迟,赶快养成重构的习惯吧。
步骤3:展示命令行的力量
刚开始接触命令行的第一感觉就是望而生畏。但是,一旦你学会如何使用,这将大大提高你执行一些基本任务的效率。而这本身就能让你成为一名更好的开发 人员,因为你能在更短的时间里实现目标。然后你就能进入下一个水平。使用 shell 自动执行常见任务,建立自己的 dotfiles。如果你使用的 mac 或者 Linux 发行版,那么学会 shell。 只有不断地练习学到的知识,你才能真正掌握它。

总结 众所周知,成为一名高级软件工程师是非常难的。这需要大量的时间和精力。不同的人他们的学习速度也不尽相同,但是平均来说,大约需要至少5年时间才能成为一名可靠的高级开发人员。你付出的各种投资最后必将给你带来巨大的回报。软件工程师的钱途很美好,其就业市场的需求一直居高不下,薪资水平 也根据经验程度在提高。
这是一个快速增长且相对较新的领域。软件工程师的每一天都在面临挑战:挑战改变人们的生活。来吧,各位软件工程师,首先挑战成为一 名高级软件工程师吧!
2018-04-04 22:53:23