转行做程序员之前必须考虑的三件事

2013-2014年间,全世界吹起一阵写代码的风潮,各大媒体疯狂报导,鼓吹年轻人不管所学为何,一定要学写程序。时不时就会看到“程序员是最有钱途的工作之一!”或者“连奥巴马都开始写代码,你能不开始吗?”这类的文章,不管金钱诱惑、名人带头,仿佛全世界都在疯狂的做程序。就算到了2015年底,不时仍有这类文章出现。相对之下,许多人认为自己目前工作很糟糕,包括老板高压统治、工作内容乏味、薪水仅能糊口等等,看到文章里头那些“高薪”、“非凡成就”、“热门职缺”的字眼,是不是都想转行呢?今天就整理一些建议给大家,看看转行做程序员之前必须考虑的三件事。

第一件事,程序员都在做什么?

首先,程序员的领域有许多种,我以前被电影骗了,以为程序员就是电影里头的黑客,只要几秒就可以把非常大的系统架构给完成,凡提到入侵、破解、渗透等字眼,黑客都可以轻松处理。但说实在,“黑客”只不过是程序领域其中的一个范畴,举凡手机软件、网站、数据库维护、服务器、大数据等等,每一个领域都是一门专业,不光只是我们平常看到“Google工程师”、“Apple工程师”那样简单的分类法。

所以,当各大媒体都在鼓吹转职成程序员的时候,大部分谈的都是软件工程师(softwareengineer),最主要还是因为软件是我们日常生活最常接触到的,包括桌机软件、手机软件、网站,都是这几年如火如荼在发展的项目。

以下说到的程序员,指的都是软件工程师。所以工程师到底都在做什么?就工作来说,不忽略以下五件事情:

1,跟其他工程师讨论

2,编写代码

3,解决bug

4,和用户沟通

5,和产品撕逼以及被老板骂

对于水平比较初级的程序员,改BUG这个步骤会占掉绝大部分的时间,而且过程是非常无聊且漫长的。找一位工程师问他处理过最愚蠢的错误,一定回答是“为了找一个错字耗了一整天”,听起来有没有很浪费时间?没错,就是这么浪费时间!甚至,各种错误都是“屋漏偏逢连夜雨”,每当你最需要专心做其他事的时候,错误就出现了,然后手边原本规划要做的事情就这样搁置了,进度来不及,最后就被老板骂。这绝对是刚学程序开发的常态。当然,在这些错误当中,我们去学着如何写出更好的程序,避开那些给自己埋下的地雷,减少错误发生的机率。随着时间推进,我们就很少再犯这样愚蠢的错误。

但难道高手程序员就不用改BUG吗?很遗憾,资深的工程师不只要处理自己的错误,还要处理别人的错误,越资深遇到的问题越棘手。相信大家都知道不少企业会捧着大笔钞票去找资深工程师,而这之中除了要写新软件以外,许多软件开发都是要请人来擦屁股的。就像创业家面对各种经济、心理、社会的压力一样,工程师就是在面对各种程序上的问题,有可能是针对复杂程序当中产生的一个bug,也可能是公司服务采用的技术发生了问题。

例如很有名的GitHub攻击事件,当大家都认为RubyonRails技术很安全时,突然被人抓出严重的安全漏洞,这时如果我们在公司中恰巧使用了相同版本的RubyonRails,是否也因此要为公司解决这个问题?

因此,在工程师生活中,其中一大要务就是要解决问题。如果每天都在面对这些情况,自己是否还能乐在其中?

第二件事,不要被媒体的宣传蒙蔽了双眼

程序员薪水超高?

行行出状元,所有领域都有办法赚取高薪,但对程序员来说,情况比较符合“二八法则”,就像许多人说的:

工程师饿不死,但也存不了什么钱。

不管是能力普通、只会听命行事的程序员,或是遇人不淑、老板吝啬的程序员,大概都无法取得高薪。若是半路出家的程序员,刚开始必然无法期待有超高的薪水,也很难找到商机立即创业,尤其转职的筹码较少,不像其他工种的学生许多有底子、有作品,找工作较为容易。

要谈高薪,还是得拿实力来谈,若是无法针对中型的软件项目设计出良好的构架、或是对自己擅长的技术还不完全了解,那对于薪水还是不要有太高的期待,而这些都是需要经验累积的。刚起步的程序员,对媒体报道分分钟年薪百万、赢取白富美,从此走向人生巅峰,这类天花乱坠的形容词别想太多。

根据程序员客栈这么多程序员的经历,刚起步的程序员只要有耐心,绝对能找到一份工作薪资可供生活,外加存点小钱。身为程序员,希望大家对普遍薪资较低的情况能有所抵制,对于过低的薪资要勇敢拒绝,接受的话只会放任无良企业继续用相同薪资雇用其他程序员,加上自己生活质量和士气也会跟薪资一样低落。

转行成为程序员后是否美好?

真正转行成为程序员了以后,问题才是接踵而来,很多事情等着探索。例如学历就是一大难关,程序员这个行业是看重学历的,当然这边讲的不是说一定要名校毕业,而是“本科系”这件事情是相对重要。我相信很多人都吃过这个亏,转行前一度以为可以靠一股热情打天下,殊不知在面试许多公司时,老板听到并非本科系都会眉头一皱。有一位好心的老板在通知面试未录取的时候,也同时说:

“工资是和学历挂钩的,这是全世界通用的法则,未来你想成为资深开发者,这更是每位老板都会看的。如果没办法再修一个学位,至少要能提出证明你对这些机器、算法等硬底子的学问都有点基本认识。”

虽然感到震撼,但这确实点醒了我,程序员并不是单单会一项技能而已,而是要对整个领域略知一二。

另一个难关就是要保持热忱,程序开发技术推陈出新的速度超越其他领域许多,在工作压力下,许多人会选择不去学习,导致进步的速度跟不上整个世界翻新的速度。可能有在接触的人有听过近几年Web前端技术的战国时代,从JavaScript延伸出来的框架多如繁星,从目前最热门的ReactNative,到前一两年窜起的Angular.js、Ember.js,外加之前打得火热的Node.js和io.js战争,每一年都有爆炸性的改变。

假如我今天是专精Web前端的工程师,在这些技术出现时,势必要了解他们要解决的问题、优点、缺点等等,并决定有没有需要使用这些技术来改变现有的构架。例如公司现有构架是直接用纯JavaScript实作变数即时更新,如果改用Angular.js,可以大幅减少代码的数量,直接交给该函式库来处理。今天假如我们没有特别探究这些技术,未来在寻找其他工作时,技术主管也会期望你稍微了解这些技术。简单来说,你不前进,别人也会推着你前进。

这只是其中一个例子,程序开发领域在小地方都有无限多的变化,必须不断学习、接受改变。转职前,很多事情我们想的很美好,但在转职后,才知道这个领域有他自己的法则,在这边无法一一列举,但不管怎样,如果有决心、有热情,这些难关对你来说只会是长远路上的一块小石头。

第三件事,你对写代码真的那么热爱吗?

对于热情这件事,不得不再次提到二八法则,因为有80%的热门技术是由20%的人所构架出来。不管你未来所钻研的是哪种技术,总会在领域中有一些神人,他们可以1个人就超越10个的产值,对该技术有非常完整且深奥的了解,并且针对难懂的问题有非常优雅的解法。这些人决定了未来技术的走向,例如目前市面上的大型商业软件,许多都是由少数人将构架完成,后续才是由许多工程师进行维护、更新。

你想成为那些“大神”吗?

虽然许多程序员做了一辈子也没办法,但仍然要保有那“想要成为大神”的热情,才能得到担任程序员的快乐。在生活中程序员不只会遇到系统错误,更常会遇到使用者给予的意见,包括常在GooglePlay或AppStore上看到的评论:“这软件超烂”、“一分都嫌太高”等等,没有重点却严重打击士气,也是生活中的一部分。反之,尤其在大型项目上线,陆续收到使用者说回馈说:“使用上变得更方便了,谢谢你们!”这类温馨的评论让人非常有成就感。抑或是在钻研特别技术,而成功让项目有大幅成长的时候,例如用Go语言将部分RubyonRails的API服务重写,让整体速度提升20倍以上,这些数据都会让程序员非常有成就感,也是工作上很大的满足。

反之,当我们只想着要每天安安稳稳的写代码、维护项目,以上那些情况就绝对不会发生,我们整天只会自怨自艾,对现况感到不满却不改善,把所有的错都推给使用者、推给主管、推给别人。那不如不要转行了,不妨待在自己目前的位子上,好好过生活即可。一定要充满热情,想要成为“二八法则”中的领导者,跳进程序员这个圈子才有意义

小结

当你决定成为一名程序员的的时候,你要对自己做的事情有热情、想要不断学习、发掘新知、研究新技术,否则转行一点意义都没有,如果想安稳过生活,不如就找一个安稳的工作,专心研究挖掘机技术吧,这样的生活质量会比程序员好多了!

时间: 2024-11-07 06:02:02

转行做程序员之前必须考虑的三件事的相关文章

转行做程序员之前你应该考虑的三件事

2013-2014年间,全世界吹起一阵写代码的风潮,各大媒体疯狂报导,鼓吹年轻人不管所学为何,一定要学写程序.时不时就会看到「程序员是最有钱途的工作之一!」或者「连奥巴马都开始写代码,你能不开始吗?」这类的文章,不管金钱诱惑.名人带头,仿佛全世界都在疯狂的做程序.就算到了2015年底,不时仍有这类文章出现.相对之下,许多人认为自己目前工作很糟糕,包括老板高压统治.工作内容乏味.薪水仅能糊口等等,看到文章里头那些「高薪」.「出国工作」.「热门职缺」的字眼,是不是都想转行呢?今天就整理一些建议给大家

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来.在接下来的一两年中,磕磕绊绊地走了一些弯路.庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清. 放弃复读 一路波折 或许是因为年轻,心性不够成熟,我对高考的失败一直耿耿于怀,只顾嗟叹,连复读的勇气都没有.每每看到考上大学的同学在QQ空间发表状态.晒照片,总会有一种羡慕的感觉郁结心头. 在家闲的无聊,总觉得该找点事做,我在广告宣传的引导下来到传说中的新*电脑学校,学习网络技术,当时,不谙世事的我以为学完之后就能成功跨进IT行业,成为一

现在转行做程序员,做到这三点,月薪能有15K

近几年,互联网高速发展,而在其中程序员扮演着不可替代的角色,在人工智能中,Python程序员也有着同样的重要性,薪资水平也都是比较高的. 因为程序员还是有一定的门槛,需要坚持学习才能,技术才会更好,但不是所有人都能够坚持下去,这个也是为什么学习编程的人越来越多,但是Python程序员的人才需求依然比较大.转行来做Python程序员,要懂得坚持. 转行过来做程序员的人,也就是"野生程序员",如果能坚持下去,并且有比较科学合理的学习方法,那现在转行过来做程序员也依然可以做得很好. 对于编程

想转行做程序员,学哪种编程语言比较好?

互联网行业的迅速发展,让越来越多的人开始走进计算机行业,并从事相关的工作.要成为一个更优秀的程序员,需要经常性地练习编程并用不同的语言和技术拓宽你的经验,但是语言是如此之多,很多时候你不知道从哪里开始,也不知道该选择什么语言才适合你要解决的问题风格.如果你还没有想好具体的语言,并且想要先试验下的话,建议你搜索求职网站,看看是什么语言抢手.你可以牢牢掌握一些特定的语言,然后开始研究和试验.不管你恰巧遇到或选择了什么语言,关键是经常练习.尝试不同的语言,通过一些小例子编码,然后用它们构建小的项目.一

牛逼程序员一定要干的4件事

1. 对自己着装是有高要求的.无论是春夏秋冬,白天晚上,刮风下雨,一个牛逼的程序员都要十分在意自己着装,T恤+大花裤衩子+拖鞋是标配,一年365天风雨无阻.在走廊以及任何形式的过道里,一定要双手插兜,走得像个痞子,至少要看起来有点反社会,如若不行,可走文弱天才型geek路线. 2.椅子不一定要舒服,但是一定要可以半躺着.坐下以后,姿势需要略微后仰,能翘着二郎腿最好了,然后在后仰的情况下低头盯着屏幕看需求. 最好点一根烟,牌子无所谓,能冒烟就行.要得就是云山雾绕的感觉,从烟雾中眯着眼睛看出去,一副

很多人转行做程序员选择web前端学习,前端简单在哪里?

不管你是工人阶层还是服务行业,是否想过转行IT,转行IT后肯定会选择一门编程语言进行深入学习,很多转行的人基础都不是太好,不是科班出身,甚至有的是专科乃至中专,前端的HTML和CSS相对其他的编程语言来说比较简单,是相对哦,不是绝对的简单. 为什么前端相对要简单呢? 首先前端是由HTML和CSS组成,当然还有JavaScript.HTML和CSS在写的过程中你可以立马看到效果,比如你写一个div,定义一个宽和高, 在给一个背景颜色是吧,打开浏览器立马就能看到是什么样的,我们都知道中国人大部分都很

程序员最应该知道的20件事

摘要:有人推崇产品,有人推崇运营,也有人推崇战略-到底该推崇什么?李智勇系统地分析了这三者之间的思路,并引用黑格尔的一句话,给出了自己的看法:在尺度中已经蕴含本质,这在产品.运营.战略的侧重上体现的非常好. 视野不拉升或者认知不深入时,就容易在盲人摸象层面上反复,看到微信火了,那就产品最重要,看到阿里火了,那就平台最重要.实际上一个比较显然的事实是,没有锥子一样的产品,那你就火不起来:不能从产品升级为平台,那就很可能活不下去.当然,有些人会说平台也是一种产品,但就和人与猴子都是灵长目,实际上仍是

做什么职业,也别做程序员,尤其是Java程序员

千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地都是Java培训机构,不出3年,你就不值钱了,就像3年前的C++一样!而且Java贬值更快,因为他比c++简单多了,培训个3个月,直接上岗,你说你怎么保证自己是不可替换的?而且现在Java程序员的整体工资,已经有不断下降的趋势! 我就用我的亲身经历告诉你,你这个想转程序员的人:别做这行,因为你不知道

做什么职业,也别做程序员,尤其是Java程序员(转载)

千万别做程序员,尤其别做Java这种门槛低,入门快的程序员(别跟我说Java搞精通了也很牛之类的,原因不解释,做5年以上就知道了),程序员本来就是我见过最坑爹的职业了...Java程序员更是,现在满地都是Java培训机构,不出3年,你就不值钱了,就像3年前的C++一样!而且Java贬值更快,因为他比c++简单多了,培训个3个月,直接上岗,你说你怎么保证自己是不可替换的?而且现在Java程序员的整体工资,已经有不断下降的趋势! 我就用我的亲身经历告诉你,你这个想转程序员的人:别做这行,因为你不知道