7年非科班程序员生活与事业历程总结

7年非科班程序员生活与事业历程总结TOC
转眼间从第一篇逻辑思维弱的程序员的文章发表,到现在已经有4-5年时间了。那时我大概是一个2年工作经验的菜鸟程序员吧。

7,8年间可能工资涨了有三倍多。期间做过医疗数据库行业,游戏行业,到现在工业控制行业。7,8年应该是一个很厉害的程序员了吧。至少没有了逻辑能力弱的毛病(看我另一篇文章)

然而现在的我,对于7-8年的编程生涯,很难评价的。如果放在程序员圈子里,我算是混的最差的程序员了吧。8年我的编程技术有长进。但是和别人7-8年间做各种项目,克服各种项目困难,我的8年显得更加注重工程理论一些。我可以算自考计算机5年了吧。也还一年拿毕业证。我克服的高数,数据结构,离散数学等的困难吧。因为我都学会了。但是对于钱途上,并没有那么大的助力。我还是处于频繁换工作的边缘。也曾经稳定在一家公司三年。也稳定在一家公司一年。

转眼也有自己的老婆和孩子了。7-8年,我已早看不上逻辑思维的作用。因为逻辑也是认为人为定的规矩。而设计这个规矩,才更厉害。有点类似于数学建模吧。设计一个模型出来。是他能够逻辑自洽的反应出客观事物的某个角度的规律。一个事物他可以从多个角度建模。每个角度又可以建立各种不同的模型。模型的好坏影响你解决问题的质量。(大白话就是一个好的描述问题的角度,可能让问题更加好解决,解决问题的第一步是描述问题。而描述问题有不同的角度,数学建模类似于描述,只是基于数学这种严谨性形式,当然也可以半形式化建模。就是引入相关的各种图表)

最近翻看自己上一篇写的逻辑程序弱的程序总结,发现自己和之前5年的解决问题的思路没有太多变化。但唯一的变化可能是通过画图和表。想想和那些数学概念有联系。或者那些数学概念很好的描述问题。也就是多了一个描述问题步骤。在描述问题这一步我会穷举出各种描述方式,然后选择最快最好的。这样可以早早的走上一条最短路径,而且有思考层次了。(主要是学习数学带来的灵感)记得当年学java我老是我自己记忆力差,逻辑思维弱,其实都是做事情的方法不对,假设拿到一个复杂问题。你如果不分层次解决。那就是一团乱麻呀。大白话,你很难一步到位。人脑的内存空间有限,能记忆的逻辑和概念有限的。这时候你需要分而治之,也就分层思考。拆解成在不同时间范围内做专门分工的事情。

而分层思考,主要每层与每层交接点。你把它给定义好,通过一定的手段。有点类似于面向接口开发都是先定好接口,由中间向两边开发。

最近1-2年体会到了一种新的思维模式,反馈式思考。上面描述的分层思考有他的局限性,有点类似瀑布开发模式,他是自顶向下。三段论式的。因为在你解决问题时,你不可能拿到全部条件,总有些未知条件。这就会影响小前提的判断了。也就是最后瀑布模式的结果。 为了解决瀑布模式的痛点。采用演化模型,迭代模型。我们先不那么追求穷举所有条件。做出一个结果出来。然后测试,看看还有哪些没有做到的。然后修改自己的程序。这样思维方式非常有效。解决问题效率会非常高。

这种思维模式也不一定完全就是针对瀑布模型的改进,他本身也是开始的过滤一些已经解决的问题。而暴露出更重要没有解决的问题。

与5-6年前的不同还有: 就是那个一个问题。5-6年前的可能只能想一种解法。我现在可能能够先到10多种解法。想法非常丰富。我自己为什么我能想到这么解法,一个项目可能也做得蛮多的。一个自考中数据结构,离散数学,计算机系统,里面的各种解决实际问题的方法看多了。就像画画,临摹多了名家作品,绘画水平和审美也会提高一样的。

一个问题能想到很多种解法,就为解决各种特殊问题提供了更大可能。因为有的解法他可能只适应那种情况,而且如果项目是另外一种情况,而你又不知道另外一种解法,那你问题肯定搞不定。

与5-6年前的其他不同:我现在不管哪个行业或者用自己不知道的技术,我都不不需要想五年前一样去问领导解决问题的思路。(图像算法除外还是需要的)我自己能找到解法,现在主要的是非常小的卡住思路的技术小细节点。

或许在2018年的程序员太好进入了。2022-2023现在企业各种裁员。主要危及到java和前端程序员。导致我觉得自己也没有那么进步了。但是和自己比肯定是进步了的。2024年,新程序员进来,一般不会水,一方面是学历和技术都要求高了。2018年你初中毕业培训几个月,能写几个if else代码你就能进来。而且一年工资就能上万,现在不行了。

2022-23年我离开工作三年的公司,后两年不稳定的工作期,期间频繁换工作。真的非常痛苦,我被迫进入了工控行业,工控程序,刚入行是电子电力类非标自动化程序员,对于我这种非理科生来说真的很痛苦了。那几年也有好处,因为各行业各个类型的项目我都做过,也见过别人各种各样的写法。所以,自己对于代码的感悟也越来越深,原来我很纠结一定要用上设计模式才能体现一个程序员的水平,越短的代码越能体现程序员的水平。其实都不然,设计模式哪些都是特定场景的一个技术点。(主要是互联网场景,需求改动多,几个项目,维护年限久)你如果站在软件工程的高度去看,就不一样了。首先敏捷开发或者演化开发,基于原型的开发方法,这些就某种程度上设计模式相背离的。程序的写法应该基于项目时间,和客户要求,得出一个设计适中的代码。(尤其是工控行业,时间段,项目多,维护周期短,这时候你不能去过分最求设计模式,和软件架构,或者代码的短小经验,你需要最求的短平快,聚焦于工程问题的解决,而不是代码)而且很多问题也不是编码知识 了。尤其是工控程序员尤其,有大量的工程数学知识里面。能很好的使用设计模式一种本事。能解决好工程问题也是一种本事。(工程问题,也许 还考研你的协调沟通能力)我刚入工控行业的。老是以代码规范程度来评价周围同事水平。我发现按照我的评价体系。我觉得差的,别人混的越好,人家解决一个问题就是比你快。我当时还嫌弃别人代码混乱。后面发现不是别人不知道设计模式哪些东西,而是别人做了一个灵活的变通,聚焦于工程问题。

去年把电路研究了1个月(当时想转嵌入式),但可能以后用不上了。目前在激光视觉方面的工业控制。我入工控行业算两年了吧。目前觉得不会很多想不通的地方了。因为我知道除了关注设计模式,c#技术之外,更重要的工程问题的解决。很多时候是把时间花在了解工程问题,以及想工程问题的解法上。然后在c#或者架构上我就比较粗粒度了,主打一个能够实现我的解法就行。

其实我一直不想做工控,因为出差多。而且我之前不适应工控的快节奏的开发模式(他们敏捷开发,或者原型开发,),我之前公司都是一开始就有详细设计文档再进行开发。工控软件,自己就是需求人员,加软件实施。所有的需求你要和客户沟通到位。你自己去整理需求,分析需求,甚至你还有必要懂硬件知识。而且面对各种各样的人的能力也要有,面对一些不尊重你的客户该翻脸就翻脸,该讨好,就讨好,该配合,就配合,有时候出差,对个人沟通协调能力也是一种很好的锻炼,合作的客户,工厂规模,产品类型各不一样。脾气也各不一样,对需要一一适应。而且会倒逼你提升自己协调能力,因为你如果闷在那里,你很多工作根本无法开展,需要你的客户,同事,自己相互配合才能推进项目进度。

2024年,还算顺,至少目前这份工作有这么久了,在深圳。做的激光视觉行业,视觉里面有很多算子会涉及到很多算法知识,可能对于我这种有理论功底的会有优势吧(至少认真过了高数和数据结构,线性代数)。前两年做电路板测试和充电桩测试那时候真的好辛苦的。各种不顺。我目前还算顺,可能和之前跳槽讲过各种项目,各种解法,加上自己也有很多高等数学知识有关系。

我最近只是研究了比如标定他的算法原理。以及比如斑点分析的原理。我就能自己改视觉项目,或者自己做视觉项目呢,我设置不怎么会hocal。而且激光视觉行业没有电子电力行业工控卷,大概电子电力会的太多了吧。(市场上大量电工,电子工程师,电气工程师,调试人员,个个都懂点)而市场上,你见过几个激光工程师,然后激光里面搞视觉,还是比较偏少的。

2025年我也该拿自考本科毕业证了。为什么我觉得这个证重要,因为首先大学的知识,可能对你生活的各个方面有帮助。为什么大学不教你直接java编程了。而是教你数据结构,计算机系统结构,这些呢。其实计算机科目里面有太多的解决问题的方法在里面了。比如tcp底层的滑动窗口协议,不就类似与多级队列吗。路由器里面路由选择基于迪杰斯特拉算法的路由选择算法,也有基于向量路由选择算法。计算题体系结构,瀑布和流水线处理模型(GPU就是这种)这些很好的解决问题的思路方法,而且非常趋向于最优解。(有些解法是研究人员几年设置几年想出来解决方法)你这些解法会让你触类旁通,,工作那点小问题,你会很快有思路。当然这些解法对你的帮助也有范围的,主要是工程问题,编程问题等。人生问题貌似也有点帮助。只要你还是在工程行业里面待,就是有帮助的。高等数学哪些我没有学通,但我认为哪些可能让你做到别人做不到的东西,比如高斯滤波这些。傅里叶变换这些。可以自己开发图像算法那,甚至可以给你人生提供更好的解法。

数学是训练人思维很好的科目。数学问题求解可能跨越千年,百年。我们实际工程问题可能几小时,几天。利用数学思路解决工程问题等于降维打击。这也许是我怎么重视理论学习的原因吧。哪些以后不做程序员了

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值