【CSDN 编者按】本文来自 CSDN“年度征文”活动中的一篇文章,作者分析了自己入行编程20年的经历,从高中物理老师到自学编程,在IT编程领域摸爬滚打,经历多次起伏与柳暗花明。
原文链接:https://blog.csdn.net/mosquitoxh/article/details/128695618
本文版权归博主「超级总工程师」所有,未经授权,禁止转载!
作者 | 超级总工程师
责编 | 梦依丹
出品 | CSDN(ID:CSDNnews)
20年IT工作经历,目前在一家500强企业担任架构师,年薪税前150万多。最近公司业绩不佳,使得工作岌岌可危,因此决定重新拾起编程学习,开始研究Golang、Angular等技术。作者并非985、211或海归毕业,出生在西部小县城农村家庭,家境贫寒,大学就读于一所二本学校,英语水平一般,情商也不高。然而,作者认为自己的成功主要源于努力,将原本用于娱乐和游戏的时间投入到终身学习中。尽管整个过程曲折坎坷,但最终还是取得了一定的成就。
大致经历如下:
计算机启蒙
1993年初中毕业时,由于成绩优异,作者有幸进入高等师范预科班,在高中阶段就开始接触计算机课程。当时使用的是苹果机器Apple II,虽然只有短短几节课,但这激发了作者对计算机的兴趣。
自学
1996年高中毕业后,作者考入一所二本师范院校,物理学专业。当时的政策规定只能报考师范专业。实际上,作者的分数超过了一本线20多分,本来有机会进入一所知名师范大学。然而,由于一些不为人知的操作,最终却选择了一所较差的学校。
996年至2000年:在二本求学四年
在这四年间,我选择上二本学校的好处在于可以更容易地掌握课程内容,从而在学业上超过一些同学。此外,我有充足的时间去学习自己感兴趣的领域,如文学、哲学、美学、心理学、计算机、管理等。当时,我阅读了许多各种各样的书籍,涉猎广泛。工作后由于时间原因,我很少有时间去阅读其他领域的书籍,除了计算机。因此,我报名参加了计算机的自学考试,通过专科、本科的课程。虽然毕业时仍有几门课程未通过,但我的基础知识相对扎实,因为我是靠自己阅读书籍进行自学的,没有辅导,也没有人可以交流经验。
2000年:初入职场
2000年毕业后,我来到了山东德州的一所学校工作。这所学校既包括高中、中专,也设有民办大专。起初,我在高中教物理;后来,我转到信息系担任电子线路教师,负责编程和管理机房。这段时间,我能够充分利用时间进行编程实践。大学期间,只有在计算机课上才能去机房。那时的月薪为500元人民币。但由于学校进行大面积扩张,有时工资会被拖欠。加上德州地理位置偏僻,一年左右后,我在一个暑假找到了新工作,便离开了德州前往济南。
2001年秋天:转行计算机
XXXX年X月下旬,我来到济南一家计算机培训学校担任老师,教授北大青鸟的课程,如Windows NT、无盘工作站、Basic、C语言等。半年多后,由于学校内部关系复杂,我离开了那家公司。在这家公司工作期间,我在2001年注册了CSDN账号,成为较早注册的用户之一。
2002年春天:投身GIS领域
XXXX年X春季,我加入一个从事GIS(地理信息系统)领域的公司,月薪涨至1500元人民币。当时主要致力于土地行业的应用,如使用AutoCAD、VB、Vusual Lisp、ArgGIS 、MapInfo、MapX等软件进行城市土地利用系统开发。那时正是GIS热潮之时,百度地图和高德地图等尚未问世。期间,我还自学了ASP和JSP技术,并与同事一起完成了一些ASP项目。冬天时分,我收到了一份来自北京的面试机会。当时,这家公司接到了一个日本外包项目,需要用GIS进行铁路地理信息管理。凭借我在相关领域的技能和经验,我轻松获得了这个机会。
003年元旦,我来到了北京,当时工资涨到了3500。这个公司主要从事NEC的外包业务,虽然我们尝试过做GIS项目,但最终未能成功。主要的工作内容包括基于Oracle的PL/SQL编程和Pro*C编程。在这个过程中,我学到了很多关于日本人对质量追求的细节,以及如何在设计中注重每一个细节,即使是最小的标点符号也不能使用半角字符。此外,我还长期活跃在ChinaASP、Chinanux和CSDN论坛上,学习了许多新的技术,如Linux、ASP.NET、C#和VB.NET等。
2003年的秋天,我得到了一个入股干股的机会。我的一个济南同事的领导打算单干,于是我回到了山东。本来打算在那里大展拳脚,但是实际上我们的工作仍然是移动外包,整个机会看起来并不乐观。年底时,我又回到了北京。
2004年对我来说是充满坎坷的一年。在这一年里,我换了三家公司,分别是一家做丰田业务软件外包的公司,一家做华为外包的公司,以及一家做IBM外包的公司。在这个过程中,我见识到了各种不同的公司文化,除了IBM之外,其他公司的工作环境都相当差。那个时候,互联网公司的工作强度甚至比外企还要大。
转折点出现在2004年9月份,我加入了一家韩国知名企业的IT公司,负责内部物流系统的开发。那时的工资已经涨到了6000。在这里,我有幸见识到了庞大的企业应用系统,包括销售、服务、物流、财务、工厂等各种复杂的企业管理模型和业务流程。在这个过程中,我学会了企业应用集成技术,如IBM MQ。同时,我也学会了如何从头开始开发一个企业级应用系统,掌握了EJB、Pro*C、PL/SQL、OLAP、数据仓库和商务智能等技术。通过与销售、服务、生产、财务、运输、配送、仓库以及合作伙伴等多个部门的紧密合作,我对业务流程变革和业务知识的重要性有了更深刻的认识。仅凭一项流程的改进,就能为公司带来效率的提升和成本的节省,远胜过于编写牛逼的代码所带来的价值。在此期间,我也见识到了韩国人的严谨不足和死板有余。尽管在这里学到了很多东西,但由于年轻气盛,我在一年后选择了离开,开始了新的挑战与坎坷。
动荡期始于2005年9月,持续到2017年5月。在这期间,我先后加入了五家公司,薪水也涨到了1万2。然而,我每家公司都呆的时间不长。首先是一家由政府领导开设的2B公司,他们试图在一个非常小的项目中使用18种新技术;接下来是一家从事医药B2B交易的公司,他们的技术水平令人发指;然后是一家从事B2B搜索的互联网公司,当时中搜等很多竞争对手似乎看不到希望。
在这段职业经历中,有一个咨询管理公司。他们希望将自己的咨询思想转化为软件,最初的想法是一个非常简陋的绩效管理系统。这个系统让咨询顾问们的工作变得痛苦不堪,因为主意多变,充满疑虑,需要每天都要写日报、周报,还要发表几千字的个人感想并进行群发点评。
由于裸辞的原因,他们在4、5个月的时间里没有找到新的工作。直到2007年5月,他们遇到了一个转机,加入了一家主要从事欧美外包业务的公司。在这里,他们的工资涨到了每月1.7万元人民币。这家公司的客户比较任性但也比较厚道,主要负责集成中间件、EAI、SOA和BPM等方面的工作,为公司提供售前和售后支持。
在这个过程中,作者见识到了欧美企业如何进行软件研发和管理,强调鼓励开放和创新,注重沟通和交流。与日韩企业的保守相比,这种做法完全不同;与国内企业的要么守旧要么胡整也有很大差别。客户的人际关系处理得很好,同事之间的关系也相当融洽。在这里工作的这段时间里,作者感到非常开心。
然而,到2009年秋天的时候,北京的房价开始猛涨。由于之前错过了买房的时机,作者开始有了离开北京的想法。这时,他们得到了一个在大连的500强IT公司的工作机会。虽然这家公司也是从事外包业务,但与之前的合作伙伴关系较好。这次机会顺利地到来,后来听同事说,这家客户当时在公司内部面试了几十个候选人,最终选择了作者,原因是因为他的Java基础比较扎实。
在这段时间的工作经历中,作者曾一度认为自己的职业发展空间已经不大,甚至考虑过去保险公司寻找新的机会。总的来说,这段经历对作者的职业成长起到了积极的促进作用。
在2010年元旦,我来到了大连,开始了我的职业生涯。那时的工资已经涨到了2万2,这让我感觉找到了自己的价值所在。在这家公司待了接近7年的时间,离开了一家年薪50万多的公司,虽然按年看增长不多,但在这里我感受到了尊重和认可。同事关系和客户关系都相当不错,而最让我喜欢的是各种培训机会。
在这段工作期间,我买了房子(不是在北京),结婚生子。然而,刚来到这家公司的时候,我确实面临着很大的压力。客户在国外,我的英语水平一般,刚到公司的第一年,我需要每天晚上和客户一起工作。尤其是前半年,我基本每天都要工作到半夜两点,虽然下午3点才开始工作。通过聊天工具或邮件与客户沟通,最终赢得了客户的信任。这半年的艰苦努力换来了客户对我长达6、7年的信任和支持,使我能够自主决定软件的架构、开发和设计。一个月只需进行一次邮件总结汇报就可以,日常工作则通过wiki或其他协同工具完成。有时候几个月都不需要正式沟通。
我们主要从事的是公司内部沟通工具的创新,包括搜索、推荐、智能问答、社交媒体分析等。在这个过程中,我掌握了许多技能,如大数据Hadoop、Spark、推荐引擎、自然语言处理、自然语言理解、深度问答、信息抽取、信息检索、知识图谱、语义网、图型数据库等。
后来在2021年,我选择回到北京,因为大连太过安逸,市场也太小。然而,随着时间的推移,公司业务每况愈下,而业界却在飞速发展。在2016年夏天,我离开了公司,开始了一段新的旅程。
转型
先是去了一家创业公司,负责物联网安全方面的工作。我的工资涨到了年薪65万。作为总架构师,我负责整个物联网安全平台的架构和设计。整个公司的氛围还不错,但由于扩张过快,资金链最终断裂。一年后,即2017年秋天,我再次离开公司。
尽管这家公司最终失败了,但我的能力得到了很大的提升。我学会了如何从整体上设计一个大的平台,包括端(各种安全设备、传感器、工控设备、应用)、边(边缘计算、网关)、云(云平台、Docker、Mesos、管理平台、运维平台)、网(网络通讯、Kafka、HTTP、MQTT)和智(人工智能分析,如异常检测、关联分析、图型分析)的整体设计。
在2017年秋天,我加入了一家外资云计算公司,薪水涨到了80万元。公司的待遇包括56万元的基本工资和24万元的奖金。然而,令我感到困扰的是奖金不能全部拿到。尽管面试过程顺利,但我发现公司的文化非常霸道,大老板非常强势,而小老板则比较懦弱。我无法忍受这种环境,另外公司的业务表现也不佳。最终,我在工作了大约6个月后选择离开,离开时还遭到了大老板的威胁,这是我平生第一次遇到这样的情况。
在这个过程中,我对整个云平台有了更深入的理解。之前我只是使用了一些云服务,而在这里,我接触到了各种公有云、新的云计算技术、区块链、流程云、物联网云平台、移动云平台、容器云、集成云、API网关以及微服务等。
随后,在2018年春天,我加入了一家500强制造企业的IT部门担任架构师,薪水达到了90多万元。令人惊喜的是,年终奖竟然可以拿到合同金额的两倍,最终到手约为120万元。在好的年份,这个数字甚至可以达到150到180万元。在这个职位上,我主要负责整体企业IT的技术和架构规划、标准制定、推进以及治理。在这里,之前所学的所有知识都得到了实际应用,包括技术、架构和业务等方面。期间,也有猎头推荐给我价值200万到300万元的工作机会,但最后我还是选择了拒绝。因为在这个高薪职位上,风险也更高。
然而,我的一个朋友却在120万元年薪的情况下因为政治斗争而被迫离职,接下来的两三年里一直找不到合适的职位。最近,他接到了一个年薪80万元的offer,虽然需要去外地工作,但我相信他最终还是会接受这个offer的。
最近,由于公司业绩不佳,我的工作感觉越来越空虚,内心也越来越焦虑。今年我已经46岁了,因此我决定重新捡起编程,学习Golang和Angular。我希望有一天如果离开目前的这家公司,我仍然可以有所作为,比如从事编程或创业事业。此外,我还希望能够建立一个企业架构管理或IT治理的平台,以表彰多年来在企业摸爬滚打的努力,并为自己的未来创造更多的可能性。