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

动机

你转行的初衷是什么?
无需讳言,大家对于工作的基本诉求不外乎钱多、有发展、事少(能够平衡工作和生活)、兴趣使然。这几项基本上可以归纳为一点:投入产出比。
你在设计院画工程图,晚上加班,周末加班,如果恰好做的工程是个地标或者是意义重大,还能有点满足感,那如果是改造某个职工宿舍呢?
你如果是大学毕业去了工厂,和一帮年纪稍大的人一起,要么是鸡零狗碎地打杂,要么是鸡同鸭讲,最后到手工资也不多;
你如果是一名公职人员,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. ubuntu安装使用latex和texmaker--PC端

    参考文档 据说中文文献可能不识别,可能用到的参考资料

  2. Redis的Replication(复制)

    文件并发(日志处理)--队列--Redis+Log4Net 分布式中使用Redis实现Session共享(二) http://www.cnblogs.com/stephen-liu74/archive ...

  3. nes 红白机模拟器 第3篇 游戏手柄测试 51 STM32

    手柄使用的是 CD4021 ,datasheet 上说支持 3V - 15V . 因为手柄是 5V 供电,2440 开发板上是GPIO 3.3V 电平,STM32 GPIO 也是 3.3V (也兼容5 ...

  4. [转]SSAS没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)) (Microsoft Visual Studio)的解决办法

    转自:http://www.cnblogs.com/xvqm00/archive/2011/07/15/2107338.html 打开SSAS 数据源视图浏览数据时,提示 没有注册类别 (异常来自 H ...

  5. edittext把软键盘上的回车键改为搜索、发送或者 下一步,窗口随软键盘弹出而改变。

    http://m.blog.csdn.net/article/details?id=51350501 以上博文讲解很详细. 如图所示,有时候为了布局美观,在搜索时没有搜索按钮,而是调用软件盘上的按钮. ...

  6. 【转】工控老鬼】西门子S7200入门&精通【1】S7200硬件大全

    转载地址:http://blog.sina.com.cn/s/blog_669692a601016i5f.html     工控老鬼提醒以下的信息和资料可能不全或者不准确,如有疑问可以查阅西门子中国网 ...

  7. 对c++ public、protected、private关键字的理解

    首先要明确一下: 1.这三个关键字在两种地方会用到,一个是对类的成员变量和成员函数修饰时(比如私有的成员变量,受保护的成员变量·,公有的函数),还有一种是对继承方式的修饰(比如公有继承,保护继承). ...

  8. EF之结构进一步优化

    针对之前的使用,做了进一步优化 1.将DAL对象缓存起来 2.仓储类不依赖固定构造的DbContext,执行操作的时候,从线程中动态读取DbContext,这一步也是为了方便将DAL对象缓存起来,解决 ...

  9. MySql binlog恢复数据

    1. 直接导入数据库 mysqlbinlog --database=testdb mysql-bin. | mysql -uroot -f 2. 导出成SQL文 (1) 从binlog输出为SQL m ...

  10. SuiteScript > Apply script to Assembly and Kit

    Path: Customization > Scripting > Scripts > New Limitation: Client script can't apply to As ...