20年IT工作经历,目前在一家500强做企业架构,年薪税前150万多.最近公司业绩不好,有感觉工作不保,所以又捡起了编程,开始学习Golang,Angular等。我不是985,211也不是海归,我出生在西部的一个小县城的农村,家里经济情况也不太好,上的大学是个二本,英语也不好,情商也不是那么高,我认为我主要是努力,把别人玩耍和打游戏的时间花在了终生学习上,不过整个过程也比较坎坷,起起伏伏,柳暗花明,47岁的时候可能又是个坎。
1993年初中毕业的时候,由于毕业考试成绩还不错,有幸能上当时高等师范预科班,在高中上课,毕业可以参加大学考试,但是只能是师范专业。如果不能考上大学,可以到本市的中等师范学校经过培训去小学教书。当时中等师范还是很火,因为包分配工作,经济条件不好的学生大部分成绩比较好的都优先去上中师或者中专。当时省上为了补充大学毕业的教师,有了高师预科班这种操作。高中期间有门计算机课程,当时使用的是苹果的机器 Apple II ,感觉计算机很神奇,虽然只有短短几节课,但是对计算机产生了兴趣。
Apple II https://upload-images.jianshu.io/upload_images/11405225-6571b806d81f90d6.jpg

1996年高中毕业的时候考上了当时的一个二本师范院校,物理学专业(按当时的政策只能报考师范专业). 我当时分数其实超一本线20多分,本来可以上一个比较知名的师范大学,但是被班主任和招办黑箱操作,没有把我和另外一个同学进行投档,把当时的班长投档给这个学习,班长被录取了。这是过了几年,有人告诉我们才知道。 上了一个差一些的学校,但是被那些冒名顶替上学的幸运了。
1996年到2000年,在这个二本上学四年。上二本也有好处,因为你可以很容易掌握那些课程,并且可以很容易超过同学。 另外你可以有很多时间学习感兴趣的东西,比如文学,哲学,美学,心理学,计算机,管理等等,当时读了很多各种各样的杂书。工作后就没有这么有时间读其他的东西,除了计算机。当时报名参加了计算机的自学考试,专科,本科,毕业的时候还有几门课程,没有拿到本科的证书,但是让我的基础比较扎实,因为都是靠自己看书自学,没有辅导,也没有人可以交流。
2000年毕业的时候,来到了山东德州一个学校,这个学习既有高中,中专,也有民办的大专,我先是在高中教物理,后来去信息系教电子线路,编程兼管理机房,能有大量的时间进行编程实践。 在大学期间只有计算机课的时候才可以去机房。当时一个月500块钱的工资,但是因为学校进行大面积扩张,有时竟然拖欠工资,另外德州也简直太偏僻了,呆了一年左右暑假期间找到了个工作,就离开德州去了济南。
2001年秋天到了济南工资涨到了1200多,在一家计算机培训学校当老师,培训北大青鸟的课程,比如Windows NT,无盘工作站,Basic ,C 语言等。 干了半年多,因为学校里面比较复杂,后来离开了。在这一家公司期间,在2001年在CSDN注册了账号,应该是注册比较早的。

2002年春天去了一个做GIS (地理信息系统),工资涨到了1500.当时主要做土地行业的应用,比如使用AutoCAD ,VB,Vusual Lisp ,ArgGIS ,MapInfo ,MapX等做城市土地利用系统。 当时GIS 特别火热,百度地图和高德地图等当时还没有。期间自学了ASP和JSP ,和同事一起做了一些ASP的小活。冬天的时候得到一个北京的面试的机会,当时这家公司得到一个日本外包的项目,需要用GIS 做铁路的地理信息管理,我很容易的拿到这个机会。
2003年元旦来到了北京,工资涨到了3500。这个公司主要做NEC的外包,GIS 项目最终没有做成,主要做 基于Oracle的 PL/SQL 和 Pro*C .在这了学习到了日本人对质量的追求和设计的详细,哪怕是一个标点符号,全角的你不能使用半角的。期间长期泡在ChinaASP和Chinanux,CSDN 论坛,学到了很多新的东西,Linux,ASP.NET,C# ,VB.NET等等。



2003年的秋天有一个入股给干股的机会,原来的济南的一个同事的领导打算出来单干,回到山东本来打算大干一场,但是干的工作还是移动的外包,整个机会看起来比较差,工作也困难重重,年底又回到了北京。
2004年是坎坷的一年,应该去过三个公司,一个做丰田业务软件的外包公司,一个做华为的外包公司,一个做IBM的外包公司,期间见识了不同的公司,除了IBM外感觉工作环境都很差,在那个时候就见识了007 ,996和007 不是现在才有,当时的互联网公司估计比外企还轻松。
到2004年9月份来了转机,来到了一个韩国知名企业的IT公司做内部的物流系统,工资涨到了6000. 在这里见识了庞大的企业应用系统,比如销售,服务,物流,财务,工厂,复杂的企业管理模型和各种业务流程。在这里学会了企业应用集成,比如IBM MQ。学会了从头开始做一个企业级应用系统,学会了EJB,Pro*C,PL/SQL,OLAP,数据仓库,商务智能等。物流系统和销售,服务,生产,财务,运输,配送,仓库,合作伙伴都相关,复杂的业务流程和企业间的交互,学习到业务流程变革和业务知识的重要,仅一个流程的改造,对于效率的提升和成本的节省远比牛逼的代码带来更大的价值。也见识了韩国人的严禁不足和死板有余。虽然在这里学习到不少,也是不错的平台,但是因为年轻,呆了一年后离开又开始的坎坷的历程。
2005年9月到2017年5月先后去了5个公司,薪水也涨到了1万2,但是每个都呆的不久。
知道2007年5月出现了转机,去了一家做欧美外包的公司,工资也涨到了1万7. 我们对应的客户比较人性和厚道,他们主要做 集成中间件,EAI,SOA,BPM等,主要工作是支持我们的客户做售前和售后。在这里见识了欧美企业如何做软件研发和管理,鼓励开放和创新,注重沟通和交流,和日韩企业的保守完全不同,和国内企业的要么守旧要么胡整也不同。客户人很好,同事关系也不错,干的也是很开心。到2009年秋天的时候北京的房价猛涨,之前错过了买房的时机,有了想离开北京的想法。当时有个机会出现了,一家500强IT公司找人,但是在大连,他们也是做外包,当时和客户聊的比较好,这个机会还算很顺利,后来听同事讲这个客户当时在公司内部面试了几十个候选人,因为我的java 基础比较扎实,才最后找到我。 期间一度认为工作上升的空间已经不多,也有去保险公司看机会。
2010年元旦来到了大连,工资涨到了2万2. 在这家公司才感觉找到了自己,呆了接近7年,离开的是年薪50万多,按年看增长的不多。这是一家尊重人的公司,同事关系也不错,和客户的关系也不错,最喜欢的是各种培训。在这段工作期间买了房(不是北京),结了婚,生了小孩。但是才到这家公司的时候真大压力很大,客户在国外,我的英语也一般,才到公司第一年需要每天晚上和客户一起工作,尤其是前半年基于每天工作到半夜两点 ,不过是下午3点开始工作,和客户通过聊天工具或者邮件来来回回的沟通,好在最终取得客户的信任。这半年的死磕换来客户对我6,7年的支持和信任,我可以自己决定软件的架构,开发和设计,一个月有一次邮件的总结汇报就可以,日常大家通过wiki 或者其他协同工具工作就可以,有时候几个月不需要一次正式的沟通。我们主要是做公司内部沟通工具的创新,比如搜索,推荐,智能问答,社交媒体分析等种种,工作种掌握和探索了太多的东西,大数据Haddop,Spark ,推荐引擎,自然语言处理,自然语言理解,深度问答,信息抽取,信息检索,知识图谱,语义网,图型数据库等等。需要提到的另外一个事情是后来又在2021转回到北京,大连简直太安逸了,太消磨人,但是市场太小了。到后期公司业务每况愈下,感觉业界在飞速发展,公司踏步不前,在2016年夏天离开,又开始了一段坎坷的旅程。
先是到了一家创业公司,做物联网安全,工资涨到了年65万。我作为总架构师负责整个物联网安全平台的架构和设计,整个公司氛围还好,但是公司扩张的太快,最后资金链断裂,1年后 2017年秋天再次离开。虽然公司最后黄了,但是自己的能力有很大的提升,能从整体设计一个大的平台,负责端(各种安全设备,传感器,工控设备,应用)边(边缘计算,网关)云(云平台,Docker,Mesos ,管理平台,运维平台)网(网路通讯,Kafka,HTTP,MQTT)智(人工智能分析,比如异常检测,关联分析,图型分析)的整体设计。
后来2017年秋天去了一个外资的云计算公司,薪水涨到年80万,56万的base, 24万的奖金,比较坑的是奖金不能全部拿到。面试等都很顺利,但是没想到有坑,公司的文化非常的霸道,大老板非常强势,小老板比较懦弱,我又不是很能忍,另外公司的业务也不怎么好,呆了大概6个月最后自己走人,走的时候还被大老板威胁,这是平生第一次见到。在这里对整个的云平台有了更深的整体的理解,之前可能只是使用某些云服务,在这里接触到了各种公有云新的云计算技术,区块链,流程云,物联网云平台,移动云平台,容器云,集成云,API 网关,微服务等。
最近2018年春天去了一家500强制造企业的IT部门做架构,薪水涨到了年90多万,没想到年终奖可以拿到合同2倍,最终到手约120万,好的年份可以拿到150到180万。企业架构主要做整体企业IT的技术和架构的规划,标准,推进和治理,在这里之前所有学习的东西都有了用处,技术的,架构的,业务的。
作为企业架构师,要求非常全面,主要对整个公司的架构,技术和数字化进行规划和指导。需要兼顾业务架构,应用架构,数据架构,技术架构,安全架构,了解各种技术和趋势。为了学习积累和形成自己的知识库,我创建了 架构师百科。架构师实践分享,架构师的百宝箱和灵感源。架构师的百宝箱.分享架构师,企业架构,业务架构,数据架构,应用架构,技术架构,安全架构,产品架构,TOGAF,云计算,大数据,物联网,元宇宙,AI,安全,隐私,分析,微服务,云原生,数据治理,数据仓库,合规https://architect.pub/
另外需要涉及的范围越来越广,扩展到了整个IT的治理,需要和公司的不同部门打交道,比如CISO(安全部门),法务部门(涉及数据合规,隐私合规,开源合规),采购(软件采购,供应商评估),审计等,为了更好的融入和帮助到工作,形成了自己的另外一个知识库,IT运营和战略分享。
期间也有猎头推荐200到300万的职位,最后还是拒绝了,在这里干的很开心,另外200到300万年薪的风险也更高。也有朋友120万年薪但是因为ZZ斗争出局,后来两三年多都找不到合适的职位,最近接到一个年薪80万的offer ,虽然是外地,但是后来应该也是去了。
最近公司业绩不好,平时的工作感觉越来越虚,现在心里越来越慌。今年我46岁了,我又捡起了编程,学习Golang和Angular,希望万一有一天离开目前这家公司,我仍然可以有事做,比如去编程或者创业,比如建立企业架构管理或者IT治理的平台,不辜负多年在企业的摸爬滚打,也可以以后可以有个事情做。为了学习,自己创建了自己的学习笔记网站,程序员云开发。| 程序员云开发,云时代的程序员.云时代的软件开发。交流程序员,软件工程师,开发,开发工程师,技术工程师,工程师,Java,Spring,JavaScript,Python,PHP,Golang,Rust,DevOps,云计算,PaaS,APaaS,低代码,前端,后端,数据分析,系统软件,元宇宙开发等。https://pgmr.cloud/
后来发现CSDN 越来越强大,学习氛围也很好,所有又把CSDN的账号找回来了,和大家一起学习。
欢迎大家关注,后期我也回分享我的学习方法和学习工具。
从给定URL下载文件并立即将其上传到AmazonS3的更直接的方法是什么(+将有关文件的一些信息保存到数据库中,例如名称、大小等)?现在,我既不使用Paperclip,也不使用Carrierwave。谢谢 最佳答案 简单明了:require'open-uri'require's3'amazon=S3::Service.new(access_key_id:'KEY',secret_access_key:'KEY')bucket=amazon.buckets.find('image_storage')url='http://www.ex
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
在Ruby(尤其是Rails)中,您经常需要检查某物是否存在,然后对其执行操作,例如:if@objects.any?puts"Wehavetheseobjects:"@objects.each{|o|puts"hello:#{o}"end这是最短的,一切都很好,但是如果你有@objects.some_association.something.hit_database.process而不是@objects呢?我将不得不在if表达式中重复两次,如果我不知道实现细节并且方法调用很昂贵怎么办?显而易见的选择是创建一个变量,然后测试它,然后处理它,但是你必须想出一个变量名(呃),它也会在内存中
我有以下代码,它下载一个文件,然后将文件的内容读入一个变量。使用该变量,它执行一个命令。这个配方不会收敛,因为/root/foo在编译阶段不存在。我可以通过多个聚合和一个来解决这个问题ifFile.exist但我想用一个收敛来完成它。关于如何做到这一点有什么想法吗?execute'download_joiner'docommand"awss3cps3://bucket/foo/root/foo"not_if{::File.exist?('/root/foo')}endpassword=::File.read('/root/foo').chompexecute'join_domain'd
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
在Ruby中,这两个表达式看起来做的事情相似:'it'=~/^it$/#0'it'=~/\Ait\Z/#0#but/^it$/==/\Ait\Z/#false所以我想知道^-\A和$-\Z和如何选择使用哪一个? 最佳答案 仅当您匹配的字符串可以包含新行时,差异才重要。\A匹配字符串的开头。^匹配字符串的开头或紧跟在新行之后。同样\Z只匹配字符串的结尾,而$匹配字符串的结尾或者一行的结尾。例如正则表达式/^world$/匹配“hello\nworld”的第二行,但表达式/\Aworld\Z/匹配失败。