程序员的3年之痒改变的不止薪水(转载)

  此文为转载,原文地址:http://my.oschina.net/52love/blog/711397

  写在开始,这里借用特立独行的猫的一句话,你可以原地踏步,但别觉得别人都该和你一样。
  程序员的3年之痒,的确是时候该挠挠自己了。3年的程序员生涯,不长不短,但它的确是一个坎。3年改变了我们的不仅仅是年龄,当然还有薪水。
  工作也有几年了,特别是今年要学的东西越来越多,然后感觉自己越来越无知。有时候恨不能所有的东西都要了解都要懂甚至要精通。但时间毕竟是有限的,况且你还有项目任务在身。当然很多时候也是惰性使然,空闲时间对于技术的关注虽然有,但是很多东西都是理论的东西。
  躺在那里的叫信息(information),只有内化为自己的才是知识(knowledge)涓涓细流,饮多少全凭心意。作为一名合格的程序员,你不能嘴上说的天花乱坠,实际让你去做的时候你就干瞪眼。从后台到前台,从汇编到java,从大数据到云计算,吾生有崖而知无崖,欣赏,开放,包容,很多地方都可以学习。
  所以很多东西,特别是感兴趣的开源框架,我一般都会做一个demo,理论性深层的东西可以暂且放到一边,当然你要懂得基本的概念,它是个什么东西,用来做什么的。然后慢慢去接触一些框架底层的东西,实现原理和设计模式,当然你如果模仿框架写一个自己的东西,那么恭喜你框架模型已经吃透了。
  记得前一段时间接触阿里巴巴的分布式框架dubbo,网上查询了很多资料,也加了几个群,关注一下架构大牛的心得历程。其中有一个同学,貌似依照dubbo写了一个属于自己的调度框架,虽然下面有些评论说基本跟dubbo一个架构,但我感觉他是吃透了这个框架才能一步步模仿来的,生活中处处不都是学习借鉴嘛。有句老话怎么说来,照着葫芦画瓢,虽然不甚完美,但有些人他连笔都懒得拿。
  提到dubbo我不得不说下敏捷开发,现在很多公司提倡敏捷开发,包括我们公司,老总会议也是提倡我们要做敏捷开发。起初我是不大关注这个词语的还特意百度了一下,如下:敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
  但是就目前来说,公司的项目很多敏捷性都不够好,的确我们开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发,但后面的内容我们执行的很不好,或许我们缺少一个好的架构师,也许我们缺少一个好的前端设计师,更甚至我们缺少一个好的核心程序员。作为一个一线的程序员,你要知道一个功能要改N+1个项目的时候你是奔溃的,当你将要完成这个功能,上面说需求有变动时你是泪奔的,即使你愤怒也仅仅是你自己的事。你永远不知道这样的需求还有多少,而大多数程序员也就是这样过来的。
  出现问题总是要解决问题,提出统一合理的解决方案,如果这件事现在没人做,对于你来说这何尝不是一次挑战或者是机会。程序员的思维不仅仅是完成本职工作,而应该是敢于突破自己,挑战公司现有平台的缺陷和不合理的地方。程序员的经验不是随着岁月的流逝而累加的,也就是说经验的增长并不与年龄成正比的。不是说你工作3年就一定能成为一个中级或者高级程序员,也不是说你才工作2年就不可以成为一个架构师。还是那句话,涓涓细流,饮多少全凭心意。你掌握多少东西在心而不是在年龄。
  安逸的公司环境会是一个不求上进的程序员,变得更加懒惰,我甚至无法想象如果脱离公司去其他项目公司会是怎样一种情景。所以,我时常跟身边的同事说,不要仅仅做好本职工作就ok了。不要空闲的时候无所事事,浏览新闻,逛贴吧,这个年龄段你应该成熟的去面对和规划自己的职业生涯了。不要觉得自己多做了就是吃亏,要知道做了就是自己了,年终总结不是写个一二三那么简单。不要庆幸,上级就给我分配了一点任务,又可以无聊发呆看新闻了,殊不知,上级可能觉得你根本无法承担此任务(这样你还感到庆幸吗)。
  你得尝试着去改变,不能因为公司怎样你就可以这样一直下去。事情总是朝着好的方向去发展的,你要真正把自己当成公司的一员,而不是一个打工的。你要把公司向好的一面去推进,其实很早有就发现公司平台有很多差强人意的地方,只是的确自己水平有限,有改造的想法,但是没有实施的能力。
  你得尝试着去改变,你要把平台复杂的问题简单化,重复的任务统一化。我觉得这才是敏捷开发的根本,用最少得时间成本解决相对复杂繁重的问题。最近也在研究一些架构性的我东西,也是得益于李智慧老师的大型网站技术架构,很系统很全面。什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其实是对我们重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见。

  一个合理的架构设计后期是可以避免很多不必要的繁重的任务。从你的项目搭建,服务化组件,消息中间件,数据库中间件,配置管理,甚至于项目安全,高可用,扩展性,伸缩性等等都是架构师所考虑的范畴。当然一个合格的架构师关注的是人而不是产品,一定要坚信:一群优秀的人做一件他们热爱的事情,一定能取得成功。不管过程多么曲折,不管外人开来多么不可思议。一个好的产品,驱动应该是人而不应该是其它。一个优秀的架构师,指望优秀的人来帮自己做事,不如做成一件事让自己和参与的人都变得优秀。
  成长是需要过程的,更是需要用心的,所以不要在最好的年华浪费了你最充沛的精力。
  前几天一个朋友碰巧问到我并发的问题,其实这方面我也接触的比较少,至少到目前为止公司的项目数据库都没有做主从、读写分离,又何来的高并发让你去实践。但这并不代表有些东西你就不能去接触,未来和机会总是留给时刻有准备的人。高并发其实虚无缥缈东西,很少有网站真的需要这些东西,而且其中很多技术,其实你已经在用了,只有很少的网站真的能达到高并发, 所以很多人没有接触也是常态。
  其实对于这个问题,我是不好意思回答的。虽然系统中也用到了类似的技术,比如页面静态化,本地缓存服务,Nginx反向代理,静态文件压缩以及动静分离。当然还有,消息队列,文件服务器,数据库主和集群,应用负载均衡集群以及分布式服务等等。说到底,解决高并发无非是上面技术的罗列,程序员要做的就是把每个技术具体实现。
  对于一些创业型公司来说,免费的永远是最好的,linux、nginx、tomcat、mysql、java,redis......各种开源免费的工具。在保障可用的情况的,尽量使公司的利益最大化。
  所以作为一名合格的程序员,你不仅仅要会写几行代码,掌握以上开源的工具也很重要的。对于linux的关注,其实也是在去年开始。由于win2003的不再维护,我狠狠心把服务器系统换成了linux系统。从开始的不习惯到现在的得心应手,说真的,不要畏缩不要不敢去尝试,习惯这东西说白了就是懒惰,明知道有更好的解决方案,更好的结果和未来,你就不去做,除了懒能是什么?
  再长的路一步一步也能走完,再短的路不迈开双脚也无法到达。可能这句话用在这里不是那么恰当,只是让大家明白一点,勇敢的走出一步,兴趣永远是最好的老师,当然一步步收获的喜悦也是你前进的动力。
  说了这么多,有点乱,但都是平时的一些思考。这里引用博客园的一段话:
  如何不停的学习和提升,这里以Java语言为例,首先, 一定要 理解 JAVA;第二步,JAVA完了以后,一定要 理 解 JVM;其次,还要 理解 操作系统;再次还是要了解一下 Design Pattern,这将告诉你怎么把过去的经验抽象沉淀供将来借鉴;还要学习 TCP/IP、 分布式系 统、数据结构和算法。
  最后就是我想说的就是今天我所说的可能一切都是错的!大家通过不停的学习、练习和总结, 形成自己的一认知体系,谢谢大家。

  记得在上一篇文章中说过这样一句话:成长是需要过程的,更是需要用心的,所以不要在最好的年华浪费了你最充沛的精力。本文可能跟大家分享重点在此,所以就引用了一下,当然也有一些乱弹。
  爱好
  2013年有幸接触了阿里云,2014年购买了第一台云服务器开启了我另一段建站生涯,取名为科帮网-享受科技,热爱生活。我希望程序员对这份职业是热爱并且享受的,如果单纯为了生计,那将会是一件多么痛苦的事情。网上曾流传一篇很有意思的文章,调侃程序员和妓女“最大的共性是——得到快乐的同时,又得到了金钱”。时至今日,靠一个WPS打遍天下的神话已经一去不复返了,但是无可否认,程序员们最大的乐趣,往往还就是编程序。2016年给坛友网友群友的一封信中有提到,一名合格的程序员要做到以下几点:读书、敲(看)代码、读(写)博客、有空回答下别人的问题、搞一搞开源的项目,当然也别忘记健身和约妹子。
  生活与工作
  如果说感情是水,那么程序员的感情,就如一潭深水,平静而深沉。2016年注定是不平凡的一年,让我遇到了她,感谢以后的道路会一直有她陪伴。此处省略五千字......
  前几年由于工作以及生活压力挺大,并且项目上的事情很多,整个项目平台的开发过程中也走了不少弯路。不断的推倒重做,来回的需求变化调整来适应当时的社会环境,当然也见多了来来去去的同事,身边的人一茬又换了一茬。有时候也很迷茫,自己那份坚守到底来自何处?
  最近一年产品已经基本定型,多多少少一些新的功能以及BUG修复也有新的员工代替。突然之间自己好像轻松了很多,于是会经常思考以后的职业生涯,回顾下这几年的点点滴滴,有迷茫、有失落、也有成功的惊喜,但更多的是自己的碌碌无为。不禁让我想起《钢铁是怎样炼成的》中的主人公保尔·柯察金曾这样说过:一个人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业——为人类的解放而斗争。当然可能我没那么伟大的想为人类的解放去斗争,我只是不想让自己碌碌无为而羞耻罢了。
  思考与成长
  一旦一种新技术开始滚动碾压道路,如果你不能成为压路机的一部分,那么你就只能成为道路的一部分。于是乎经常混迹于各大IT社区,恶补着各种知识。但是当自己掌握了一定知识量后,突然发现自己害怕了,因为不知道自己该如何走下去了。可能真的是应了无知者无畏那句话,在我们刚毕业的时候我们什么都不怕,因为我们什么都不会,以为自己懂那点就可以了,别人也不会要求你太多。记得有位博主曾经说过:发现有个挺有意思的现象,从程序员、高级程序员,到现在挂着架构师、专家之类的头衔,伴随着技术和能力的提高,想不明白的事情反而越来越多了。但生活依旧得继续,工作依旧得做下去,知识面够了,那就往深了挖吧。
  随着年龄的增长你会越来越恐惧面对(这种恐惧并不一定是真实存在的,可能在某个点就会被触碰到),有时候甚至不愿意去面对,因为成长是需要付出代价的。可能别人在打游戏,你在敲代码;别人在看电影,你在敲代码;别人在约妹子,你又在敲代码。因为你一直坚信,现在努力工作将来才会有收获,你舍弃了这么多就是为了有一个比别人更舒服的将来。
  大家小时候有没有骑过自行车?上坡很累,但是下坡很快,是不是?上坡的时候需要一步一蹬,特别的累,但是这样才能往上爬。 而下坡的时候就没有必要像上坡那样猛蹬脚踏板了,不仅浪费精力,也会让你错过欣赏沿途风景的最好时机。但想要舒舒服服地下坡首先得辛辛苦苦地爬上去,生活中将来你要走的舒服你现在就应该"牺牲"掉一些事情:打游戏、看电视、刷朋友圈。这些占据你生活中大部分时间的娱乐消遣,为了享受以后惬意的生活,你必须牺牲掉它们。尽管对于一些人这有些难,但惬意是需要付出代价的,没有人可以轻轻松松就可以成功的。
  关于青春饭
  都说软件开发是“吃青春饭”的。网上很多人给予否认或者列举了种种理由,但这些前提是你年轻时足够努力足够牛逼。所以我认为这句话一直是对的,我想说的是年轻时我们不够努力浪费了你最充沛的精力,当我们步入中年,家庭的责任,让我们无法像年轻时那样拼杀,到那时我们该何去何从?有些程序员越老越吃香,是因为他在年轻就就积攒下了资本,而天上是不会掉馅饼的,有些人坐等升职加薪那也是不可能的。
  所以工作中不要逃避艰难的任务,主动迎上去,你要有这种迎难而上的态度和决心,你要相信你所做的不管是现在还是将来对你都是有好处的。非工作时间也要牺牲掉一部分自我时间,为自己工作,为自己成长。
  总结
  适当的时间找一个合适的爱好,比如网站。
  现在的努力只是为了更好的将来。
  不要让未来的自己看不起现在的你,当你的才华撑不起你梦想的时候,你该学习了。
  "牺牲"掉那些无谓的消遣,请记住,只有不懈的努力才能取得成功,才能打败其他人。
  还有一个好的程序员即使在过单行道时也总是会环顾两边,你会吗?

时间: 2024-10-05 09:49:20

程序员的3年之痒改变的不止薪水(转载)的相关文章

程序员的3年之痒改变的不止薪水------转载

写在开始,这里借用特立独行的猫的一句话,你可以原地踏步,但别觉得别人都该和你一样. <ignore_js_op> 程序员的3年之痒,的确是时候该挠挠自己了.3年的程序员生涯,不长不短,但它的确是一个坎.3年改变了我们的不仅仅是年龄,当然还有薪水. 工作也有几年了,特别是今年要学的东西越来越多,然后感觉自己越来越无知.有时候恨不能所有的东西都要了解都要懂甚至要精通.但时间毕竟是有限的,况且你还有项目任务在身.当然很多时候也是惰性使然,空闲时间对于技术的关注虽然有,但是很多东西都是理论的东西. 躺

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告【转载】

走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们.01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个.还好户口没丢掉,其他都已经是乱了,好几个城市里,

程序员的 升级 ,价值观的改变

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 第1章 为何这本书与你先前读过的任何书籍都迥然不同 高亮 [页面 19]: "优秀 的软件开发人员",是那些能够把控自己的职业生涯.达成目标.享受生活的人 高亮 [页面 19]: 一名软件开发人员如何超越编写代码本身? 高亮 [页面 19]: 如果你想真正成为一个更好的软件开发人员(或者其他真正优秀的人 才),你需要把重点放在整个"人"上,而不只是你生活

每个程序员都可能犯过的10个错误!(转载)

每个程序员都可能犯过的10个错误! 2015-03-04 深度操作系统 深度操作系统 深度操作系统 微信号 功能介绍 深度操作系统——个性.时尚.前卫.deepin,为您带来海量最新资讯,与您分享更多技巧. 点击上方↑↑“深度操作系统”↑↑ 可关注我们 本文列出的10个错误,并不局限于C#,Delphi,JavaScript等——几乎涵盖了所有的编程语言.是不是大吹大擂,欢迎各位品鉴…… 1.面向编译器写代码,而不是面向用户 当人们使用编译器创建自己的app时,在把自己的想法诉诸于机器代码的过程

程序员必备的代码审查(Code Review)清单【转载】

在我们关于高效代码审查的博文中,我们建议使用一个检查清单.在代码审查中,检查清单是一个非常好的工具——它们保证了审查可以在你的团队中始终如一的进行.它们也是一种保证常见问题能够被发现并被解决的便利方式. 软件工程学院的研究表明,程序员们会犯15-20种常见的错误.所以,通过把这些错误加入到检查清单当中,你可以确保不论什么时候,只要这些错误发生了,你就能发现它们,并且可以帮助你杜绝这些错误. 为了帮助你开始创建一个清单,这里列出了一些典型的内容: 代码审查清单 常规项 代码能够工作么?它有没有实现

程序员如何成长?你现在的职位和薪水真的配得上你的工作年限吗?

何为成长? 成长是指自我提升,一方面是本身的个人能力,另一方面是社会对你的认可度. 最终,程序员的职位和薪水都能在成长中得以体现. 成长是有过程的,也是有迹可循的,我平时就很喜欢去GitHub上学习,来提升我的个人能力 GitHub对我们程序员来说是很棒的学习平台,大家可以看看我的GitHub:https://github.com/Meng997998/AndroidJX,没有的程序员也可以自己注册一个去学习 但是,不是所有人都会通过自己学习去成长! 很多人对成长有误解,在他们眼中,随着工作年限

月薪3万的程序员都避开了哪些坑?

程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?我特意总结了容易导致薪水低的九大行为表现,避开这些大坑,你就离高薪不远了. 习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月就想着要加多少多少钱,干了没几个月,薪水要是没涨,就放

月薪3万的程序员告诉你:这样工作才能拿高薪(转 IT之家)

习惯即刻回报 他不懂得只有春天播种,秋天才会有收获.刚刚付出一点点,甚至还没有付出,就想要得到回报.技术刚刚掌握,能一边百度一边干活了就觉得该拿到多少多少钱了.找工作先想着多少多少钱,入职了没干几个月就想着要加多少多少钱,干了没几个月,薪水要是没涨,就放弃了,准备通过跳槽加薪,不跳槽的话,往往也会因为没加薪而牢骚满腹,工作敷衍了事. 一个程序员的价值,是通过他带给公司的价值体现的.先给公司带来了价值,然后才会反过来在薪水上体现出自己的价值.公司都很现实,很少会为你的潜力买单,在你还没有体现出价值

看顶级高手如何编程--从带程序员新手想到的

当了几年的程序员了,虽然写码的时间多点,但手上也管理过.带过一部分程序员.一直都在想一个问题,什么是程序员,程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的程序员算是负责的程序员呢? 工作当中我发现有不少员工是为了工作而工作,怎么回事呢?他们只是把我分配的工作分毫不差的完成,但从不问为什么?有些程序员是喜欢随便改变需求,自己感觉不错就得改,改了还不做报告,最后上交项目时才发现和需求不一样?于是傻了. 我根据自己的经验把程序员分为以下几种 1.单纯没有脑子的:这种员工是最气人的一种