一直不断技术转型中,回来看看
在07年之前用的powerbuilder,后来感觉这个技术没前途,转行做了产品经理,开发作为玩票。之后做过产品经理、项目经理、部门经理各种岗位。
10年进了一个公司,做RFID应用的产品管理,因为开发终端应用的需要,开始接触C#,产品开发是外包的,我自己也只是玩票。
到了14年,换了家公司,做一个全新的公司ERP,也用.net架构,因为感觉公司产品技术和架构上存在问题,开始回头钻研C#的开发,主要还是基于winform+devexpress,在这期间用上了EF。
到了17年,独自出来创业,自己聚焦在技术上,开发产品,同时和市场上的朋友合作做项目。这段时间内,技术上开始转型和拓展,首先产品的技术从.net winform转向了.net mvc架构下的后台和web前台,前台采用Bootstrap、jquery和knockout。然后也做了个java web的项目,熟悉了java,然后又转向安卓平台,使用adt开发基于安卓的手机APP(因为产品上只需要安卓下的APP)。
因为考虑到未来有做移动应用的需要,不能只做安卓平台,但同时开发安卓和ios又力不能及,所以采用了hybrid架构,开始学习跨平台的开发,学习了一个来月的angularjs,但由于项目时间上安排不过来,最后还是未采用angularjs。
19年结束创业,重新回去上班。到了一家传统做通信方向的硬件公司,为它们做上位系统和管理系统,开发web和移动方向上的应用。因为硬件上需要基于Linux ARM平台,也因为我一直做软件方向的产品,所以综合下来选择了后端选择nodejs,前端选择了ant design pro的架构,总体上是JavaScript技术栈。ant design是基于react的,所以整体上在这一阶段,技术上熟悉了nodejs和react,和linux平台。
现在随着对硬件的了解深入,回顾起来,后端其实不应该用nodejs,这个技术方案太互联网化了,它对硬件平台的要求较高,其实后端应该用php+c来搭建更好,它能适应更低配的硬件。
从软件公司转到硬件方向的公司,确实是比较难的,现在对我来说,不仅要管软件产品,还需要熟悉嵌入式开发。因为硬件的整条产品线=上位软件+嵌入式软件+硬件,所以必须熟悉嵌入式软件开发,才能更好的和硬件团队沟通。同时还需要具备一些硬件知识。所以除了已经会的技术,现在还需要继续熟悉c/c++,qt,模拟电路,数字电路这些知识,学习压力非常大。
对技术转型来说,当初从c#转出到java(当然也没放弃c#,我自己的产品主体还是c#),安卓,前端这些技术栈,自己是满意的,至少感觉自己的技术不那么落后了。但从web方向转向嵌入式和硬件方向,倒是出乎我的意料的。感觉我现在有点逆潮流了,因为现在的潮流是很多做嵌入式的出来做互联网应用(待遇更好),返回去的就很少。但这是公司需要,现在只能坚持。
总结一下自己的能力圈,在产品管理规划和技术开发两个方面。技术方面,涉及c#,java,安卓,node,react,c/c++,以及linux,qt等平台和工具。后面需要熟悉的技术,移动端我想以react为起点,选择react native。同时c/c++,qt需要继续深入。因为涉及面广,所以也不深,主要是能和开发人员沟通,能做一些产品改善,资源不足时能搭把手的能力。
这种选择和方向,对不对,有没有什么问题,欢迎大家跟帖和探讨。