过去
转眼间毕业四年有余,大学所学专业是冶金,毕业后看冶金行业机械化程度较高,但是自动化、智能化程度与想象的还是有差距。就有想法学习自动化,软件编程方面的知识,用机械,程序代替反复机械的人工劳作,简化生产过程,提高生成效率和质量。于是去了北京一家和钢铁生产相关的自动化设备生产厂家工作,这便开始了我艰苦的转行生涯,公司是做硬件的,但是我却安排做软件开发和cad绘制等打杂的工作。怀着大学刚毕业的青涩和天真,在这家几个月发一次工资的公司,干了一年多。学过很多东西,最熟悉,用的最多的是c#,后面便按照这个方向来找工作。又经历两家公司,两年多的时间,一家做高速公里监控软件,一家做科研,没有产品。3年多的时间,没有真正熟悉了解一个领域。唯一熟悉的就只有c#,asp.net编程。
现在
现在在新公司工作几个月了。目前做一个电子商务平台维护工作。用到的技术也是比较老的纯asp.net mvc技术,项目框架是早已构建好的,但是存在诸多问题,其中 最大的问题是数据读取慢,代码冗余,缺少注释等都是小事。个人在之前学习的一些前端技术也根本用不着,不知道是否需要继续学习下去。工作内容作为一个普通的程序员也是相当的简单,真是和搬砖差不多,copy以前的代码,改改逻辑就能完成工作。唯一值得庆幸的是能够学习到电子商务相关的业务逻辑。
工作内容用原有的知识技能就足以解决,这是一个危险的信号。
未来
未来程序员的数量只会增加不会减少,社会对程序员的需求也只会增加不会减少。至少在未来10如此。软件编程技术逐渐会成为象word,ppt这样的被广大的员工所掌握,各行各业的发展都将离不开软件编程技术,这样一部分原本是软件编程工作的人会进入这些行业,一部分原本属于这些行业的人会去学习软件编程技术。
那么软件编程里,未来什么会最火?什么最有钱途?由现在的发展看来,必定是人工智能技术及其相关的领域。
以上均是个人揣测。
正题来了,作为一个.net程序员,以下是对职业发展的思考。
1、项目经理
- 利:跟着目前的项目经理学习,观察他做什么,自己就跟着学习相关的知识。等待机会到来,就主动申请担任项目经理职位。
- 弊 : 看似简单的学习过程,但是毕竟是偏向管理方向,团队管理可不是件简单的事情。而且通常还要承担起产品经理的角色,综合素质要求高。经验要求高,工作机会少。
2、系统架构师
- 利 : 继续学习asp.net相关知识,有一定的基础和项目经验,需要从新学习的知识较少,网上有很多开源的架构可以参考学习。主要偏向技术。
- 弊 : 通常一个软件架构一开始使用就会用很多年,实际经验相当重要,要处理高并发,大数据量、安全等问题。经验要求高,工作机会少。加之asp.net发展前景并不是很乐观。
3、前端开发
- 利 :具备一定的前端技术,学习起来相对简单。 未来前端的工作机会必定比.net多且好。前后台分离,模块化是趋势。
- 弊 :貌似要放弃c#,.net。
4、人工智能(python)
- 利 : 现在和未来相当火,且需求不断增加。最初学习软件编程也是想创造出智能的东西。具备较高的兴趣。
- 弊 : 难度较大,对于数学基础要求较高。同样要放弃c#,.net。