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

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

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

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

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

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

  1,跟其他工程师讨论

  2,编写代码

  3,解决bug

  4,和用户沟通

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

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

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

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

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

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

  程序员薪水超高?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  小结

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

时间: 2024-10-13 02:46:26

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

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

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

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

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

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

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

微信小程序:开发之前要知道的三件事

前言 微信之父张小龙在年初的那次演讲中曾表示:"我自己是很多年的程序员,我觉得我们应该为开发的团队做一些事情".几个月后,微信正式推出微信应用号(即微信小程序),在互联网中掀起了又一波热潮. 于是,很多人准备要开发微信的小程序,如果你真的想要开发小程序,就要先学会一套微信特制的"开发语言".为了更好地上手这门开发语言,下面这三件事你一定要知道: 语言与文件 微信小程序来发与其他平台开发的最大差异在于:微信使用的开发语言和文件很"个性". 小程序所

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

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

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

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

java程序员最不愿意看到的十件事

0.遍历结果集并构造对象如果你是个时髦的开发者而不是专业人员,显然你从某篇博客中读过有开发者遇到Hibernate的“性能问题”,因而认为ORM都不好,觉得手动编码“明显更好”.喜欢的话你当然可以用JDBCTemplate之类,但是谢谢你的对它们的无端指责,我还会继续用我的JPA/Hibernate. 1. 在交易型系统中写PL/SQL随着时间推移,你系统中的业务逻辑会被逐步迁移到关系数据库中,所有宝贵的设备交易都会迁移到数据库中去.有的人将它们转换为类似COBOL的处理方式,绑定到调用物化视图

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

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

你适合做程序员吗

不是每个人都适合做程序员. 从小学到高中,我们接受的都是应试教育,而缺对少养学生的兴趣进行培养.当我们要进入大学选择专业的时候 我们茫然了,大部分同学都不知道自己喜欢什么专业,也不知道这个专业以后是做什么的!这样就会导致很多同学只 能按照自己父母的意志选择专业或者看目前社会上热门专业来选择,根本没有根据爱好.兴趣考虑过自己是否喜欢这 个专业,随大流的选择.没有上大学之前,高中老师都会说好好学习到了大学你们就解放了!果不其然,到了大学同学们压抑已久的荷尔蒙都得到了释放,各种玩可以说整个大学在一个"