我是一个从建筑行业转行过来的后端工程师,转行来写代码了。最近发现经常有同学和网上的朋友问我一些转行的问题,零零散散地回答莫不如写一篇文章,以后回答此类问题就方便多了。
我的专业是给排水,属于非常传统的专业。大学期间自学了一些编程语言,没有什么项目经验,只能算是有一个感性认识。在真正换行业的时候,还是经历了一些波折的,所以还挺愿意分享出来的,让大家在换行的过程中有个参照。
如果你不是转行做开发的,也可以看看,毕竟套路是相通的,作为参考。
虽然我转行不久,但是我觉得我的分享还是有意义的,毕竟大牛离你更远,我离你的水平更近。

动机

你转行的初衷是什么?
无需讳言,大家对于工作的基本诉求不外乎钱多、有发展、事少(能够平衡工作和生活)、兴趣使然。这几项基本上可以归纳为一点:投入产出比。
你在设计院画工程图,晚上加班,周末加班,如果恰好做的工程是个地标或者是意义重大,还能有点满足感,那如果是改造某个职工宿舍呢?
你如果是大学毕业去了工厂,和一帮年纪稍大的人一起,要么是鸡零狗碎地打杂,要么是鸡同鸭讲,最后到手工资也不多;
你如果是一名公职人员,N学N作,业务考核,慢慢燃尽自己的青春(我还是见过真心喜欢这个行当的,而且非常理性,这类是例外);

为什么你不想做了?
其实不是你不安分,只是上面工作的投入产出比太低了。如果一个行业已经发展了几十年,而且行业的总量也就那么多,机会已经非常有限了。更不论有些行业最近经历了从高峰到低谷的转变,人才积压严重。举个例子,原来在某家市政设计院,比我们大10岁的人刚毕业没多久就自己负责一个上亿的项目,几年时间已经设计了非常多的高架桥、城市管网。到了我们这一届,同期有很多名校的研究生进来,只能是做做改造项目或者非常小的项目。 很明显,当年人才缺口大,现在缺口已经补上了。

所以,利用自己有限的人生去做有前景顺带有钱景的事情是理所应当的。

方向

刚说到了传统行业缺口都被补上了,那当你选择新的行业时,如何选择方向呢?
听说iOS开发挺赚钱的:君不见,刚入行的iOS开发已经满大街了。每项技术出来之后,如果真的非常好,用不了几年就会饱和;如果真的不好,永不了多久就会消失。
对于非常好的技术,从它开始火到饱和的时间不会非常长,这里面的原因很多,比如培训班的批量生产、别的技术路线转入。 比如我当时选的Node.js开发,从去年到现在,已经有很多人在用,现在据说刚入行的人已经不太好找工作了。但是如果某个技术非常小众,选了之后没公司用,也比较麻烦。
所以,选择一个方向真的很重要,选不好的话会非常麻烦。
比较简答的方法是去互联网招聘网站上转一圈,挨个点开里面的类目看看自己喜欢哪个方向,确定自己的关键词,比如 后端开发、前端开发、大数据工程师、安卓开发、甚至是产品经理。有些岗位是横向发展的,有些岗位专注某个纵向领域,总之,可选项还是非常多的。选的时候自然要看要求的工作年限和能够offer的薪水,这个不可避免地影响自己的感性选择。总之,选一个自己觉得最靠谱的。
接下来的一步便是列清单。所谓列清单,找来自己中意的岗位类目下的岗位需求,暂时忽略年限、经验等非技术因素,把基本的技术要求列出来。以Java后端工程师为例,作为一个后端,要会Linux服务器的基本命令、要知道HTTP的基本原理;作为一个Java工程师,要掌握Java;作为一个Java后端工程师,要会Java的某些框架。 不要觉得自己总结这些很困难,一开始肯定是一脸meng'b的,会陷入“这是啥?这又是啥?”的疑惑中。好在我们有搜索引擎,对于自己不知道的名词,总会有办法明白大概的意思。
在列技能清单的过程中,你也会对自己通过感性认识挑出来的岗位有一个较为理性的认识,或许会因为发现其实不适合自己而改变方向。早点改变总比学了一半了再换要好很多。

如果你看到了这篇文章,有什么疑惑,请联系我。weibo:@白不菜

转行做开发的Wiki:找好方向的更多相关文章

  1. 转行做web前端,该如何进行短期快速自学,达到高新就业水平

    就目前来说,毕业生如果想毕业就找到高薪的工作,互联网成为了第一个选择,在所有的职业中,不靠任何关系,全凭自己的能力就业,就是程序开发,而web前端开发是目最很热门的行业,在未来五年之内,web前端开发 ...

  2. 想转行做程序员,是学习JAVA还是Python?哪个更好?

    请大家务必审题,转行做程序员,是程序员,并非数据分析也不是软件测试. 首先声明:这是一篇容易引起撕逼的问答,为了祖国和谐,人民安康,请各位看官尽量理性讨论. 同时,这篇文章是面向一些初入行的朋友进行一 ...

  3. 大咖,我能转行做UX设计师吗?

    前几天,有个朋友找到我,叫我给分析下他适不适合转UX设计.他的专业是建筑设计,之所以要辞职,也就是公司破事多,老板又不看重他.看到UX设计这个行业的前景很不错,想要转行.他说的也没错, 现在的UX设计 ...

  4. 想转行做web前端工程师,必学这6大技能

    web前端工程师是近几年才发展出来的新兴职业,也是目前火爆且高薪的职业.大需求的市场环境下,出现了越来越多的人群转行做web前端工程师,如设计师.后台程序员.网虫.大学其他专业.策划.编辑等等. 要学 ...

  5. 想转行做web前端工程师,必学这5大技能!知道是那些吗?

    web前端工程师是近几年才发展出来的新兴职业,也是目前火爆且高薪的职业. 大需求的市场环境下,出现了越来越多的人群转行做web前端工程师,如设计师.后台程序员.网虫.大学其他专业.策划.编辑等等. 要 ...

  6. Atitit.技术管理者要不要自己做开发??

    Atitit.技术管理者要不要自己做开发?? 1. 为什么很多管理者不能自己亲自做了1 1.1. 沟通成本多了1 1.2. .组织分散. 1 1.3. 会议多 .协调多 1 1.4. 问题的根源在于我 ...

  7. 从高处理解android与服务器交互(看懂了做开发就会非常的容易)

    今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高 ...

  8. AppCan教你从零开始做开发

    经常收到类似这样的提问:新手开发APP,要怎么学?我有满屏幕的文档和视频,然而并没有什么卵用,因为我不知道该从哪看起……今天的主要内容是教大家,如何在AppCan移动平台创建应用,引擎插件选择.证书管 ...

  9. 如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调)大概效果如下:

    如何实现 Https拦截进行 非常规“抓包” 珍惜Any 看雪学院 今天 前段时间在自己做开发的时候发现一个很好用的工具,OKHttp的拦截器(何为拦截器?就是在每次发送网络请求的时候都会走的一个回调 ...

随机推荐

  1. c语言简易版文法

    文法 <程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→ ...

  2. H5新特性 input type=date 在手机上默认提示显示无效解决办法

    目前PC端对input 的date类型支持不好,我试下来的结果是只有chrome支持.firefox.IE11 都不支持.而且PC端有很多日历控件可供使用.就不去多考虑这点了. 那么在移动端的话,io ...

  3. 浅谈js回调函数

    回调函数原理: 我现在出发,到了通知你”这是一个异步的流程,“我出发”这个过程中(函数执行),“你”可以去做任何事,“到了”(函数执行完毕)“通知你”(回调)进行之后的流程 例子 1.基本方法 ? 1 ...

  4. CURL命令报错:dyld: lazy symbol binding failed: Symbol not found: _SSL_load_error_strings解决办法

    Mac OS X 10.11.6, curl 命令报错,错误如下: dyld: lazy symbol binding failed: Symbol not found: _SSL_load_erro ...

  5. uexWeiXin插件

    uexWeiXin插件 接入指引 常用功能 接入指引 Android 准备一个应包名:平台默认包名:org.zywx.wbpalmstar.widgetone.uex加上应用id AppCan平台默认 ...

  6. quick-cocos2d-x :加入精灵背景

    最近几天都在学习 quick  找例子学习. 一直也没什么好的. 并且 还不会 lua .学习学习 突突突 官方文档上的打地鼠 都没了. 不知道为什么链接不好使. 好吧 那么今天就先做一个简单的 例子 ...

  7. c#控制台調用SSIS包互传值

    有时候不仅仅需要在内部执行package包,多数情况下,是需要在外部进行调用,比如,需要一个批处理或者控制台程序进行外部调用SSIS包,而往往这个包所配置的连接字符串是经过加密处理的,所以当外部调用S ...

  8. Father Christmas flymouse--POJ3160Tarjan

    Father Christmas flymouse Time Limit: 1000MS Memory Limit: 131072K Description After retirement as c ...

  9. [转载] SQL获取所有数据库名、表名、储存过程以及参数列表

    查询一个数据库中所有表字段属性的sql语句       1.获取所有用户名: SELECT name FROM Sysusers where status='2' and islogin='1' is ...

  10. AWK命令学习

    使用方法 awk 'pattern {action}' {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到 ...