精华内容
下载资源
问答
  • 程序员崩溃的瞬间(非程序员勿入)

    万次阅读 多人点赞 2019-09-17 07:33:57
    今天给大家带来点快乐,程序员才能看懂。 来源:https://zhuanlan.zhihu.com/p/47066521 1. 公司实习生找 Bug 2.在调试时,将断点设置在错误的位置 3.我有一个很棒的调试想法时 4....

    今天给大家带来点快乐,程序员才能看懂。

     

    来源:https://zhuanlan.zhihu.com/p/47066521

     

    1. 公司实习生找 Bug

     

    640

     

    2. 在调试时,将断点设置在错误的位置

     

    640

     

    3. 当我有一个很棒的调试想法时

     

    640

     

    4. 偶然间看到自己多年前写的代码

     

    640

     

    5. 当我第一次启动我的单元测试时

     

    640

     

    6. 数据库的 Delete 语句忘了使用限定词 where...

     

    640

     

    7. 明明是个小 bug,但就是死活修不好......

     

    640

     

    8. 当我尝试调整生产数据库中的一些东西时

     

    640

     

    9. 好像真的没人发现我产品里的 bug......

     

    640

     

    10. 下班前我还有一项任务没有完成

     

    640

     

    11. 产品还没测试直接投入生产时

     

    640

     

    12. 调试过多线程的都会懂!

     

    640

     

    13. 当我以为已捕获了所有可能的异常...的时候

     

    640

     

    14. 当我试图清理几行所谓的旧代码的时候

     

    640

     

    15. 当有人让我帮他调试代码时

     

     

    640

     

    16. 当程序员第一次向老板演示项目时

     

    640

     

    17. 结对编程,需要再了解一下吗?

     

    640

     

    18. 当你看到你几个月没碰过的代码

     

    640

     

    19. 接到产品经理电话的我睡意全无!

     

    640

     

    20. 测试的时候一切 ok,真正上线的时候……

     

    640

     

    21. 作为一个程序员,拷问灵魂的时刻到了!

     

    640

     

    22. 当年学 C 语言的过程

     

    640

     

    23. 当前端程序员想改后台代码时,后台程序员的样子

     

    640

     

    24. 调试 bug

     

    640

     

    25. 正在调试,突然内存溢出了

     

    640

     

    26. 需求文档又改了

     

    640

     

    27. 苦逼的后端工程师

     

    640

     

    28. 后端工程师做 UI 的活

     

    640

     

    29. 前后端分离开发

     

    640

     

    30. 单身互联网狗的一天

     

    640

     

    31. 在生产环境做 hotfix

     

    640

     

    32. 刚调稳定的系统,公司叕空降了一位架构师,又双叕要重构现有系统……

     

    640

     

    33. 当程序员听客户说还在用 IE 时

     

    640

     

    34. 当黑客拿到 root 权限之后

     

    640

     

    35. 代码进入循环分支后

     

    640

     

    36. 新手程序员第一次做项目的过程

     

    640

     

    37. 零错误零警告一次编译通过

     

    640

     

    38. 春节前后上班写代码状态是这样的

     

    640

     

    39. 自信爆棚地去重构一个看似简单的模块

     

    640

     

    40. 被老板委派接手刚刚离职同事的项目...

     

    640

     

    41. 当他们要求我测试所有应用功能时

     

    640

     

    42. 准备下班的时候,测试又提 bug 过來了…

     

    640

     

    43. 使用新框架却忘记阅读文档

     

    640

     

    44. 测试实习生的代码

     

    640

     

    45. 网络延迟的危害...

     

    640

     

    46. 测试刚写完的代码

     

    640

     

    47. delete 时,忘记加 where 条件了

     

    640

     

    48. 轻量级架构遇到重量级需求

     

    640

     

    49. 当我以为我修复了一个 Bug

     

    640

     

    50. 当我看实习生编码

     

    640

     

    51. 首次在 IE 中测试我的网站

     

    640

     

    52. 当我第一次测试我的代码时

     

    640

     

    53. 新手调试 CSS

     

    640

     

    54. 提前交付客户要求

     

    640

     

    55. 我设计的接口 和 别人调用我的接口 (好疼)

     

    640

     

    56. try-catch 在错误的地方

     

    640

     

    57. 修改一个小 bug,却把服务器弄宕机了

     

    640

     

    58. 当我推错了分支

     

    640

     

    59. 工作中经常被打断

     

    640

     

    60. 高级开发人员作为一个团队进行编程时

     

    640

     

    61. 能一个手指完成的绝不用两只手系列

     

    640

     

    62. 高级开发人员重构代码

     

    640

     

     

    没有了,过瘾不,忍住,不能笑哈

    640?wx_fmt=jpeg

    ‧  END  

     

    关注公众号『strongerHuang』,在后台回复“1024”,查看更多精彩内容,回复“加群”,可加入黄工的技术交流群。

    640?wx_fmt=jpeg

    展开全文
  • 程序员都应该看看

    前言

    近些日子收到了很多粉丝的来信,其中包括了很多即将步入程序员圈子和刚做程序员两三年的小伙伴们的一些问题,我总结了几个大家都比较关心的问题,作为一名从事了18年一线代码的退休程序员,我今天就来给大家分享分享我的经验。

    在此之前请允许我做个简单的自我介绍,不是炫耀哈,只是为了让还不了解我的小伙伴对我有个初步了解。我做过上市公司的技术总监,目前是两家公司的股东,在攒够了自己觉得还OK的小钱后,决定退出上班程序员行列,闲在家中写写自己的文章,学点想学的东西,陪陪家人。

    今天我要分享的内容主要包括以下5个

    1. 低学历(大专)能不能进大厂?

    2. 非科班出生的程序员能不能进大厂?

    3. 年纪大能不能进大厂?

    4. 35岁是不是程序员的中年危机?

    5. 年龄大的程序员有哪些出路?
    在这里插入图片描述

    一、低学历(大专)能不能进大厂?

    在程序员这个职业圈里面,目前学历最低也得是大专起步,如果你的学历都没有达到大专学历,说句实话,你现在最需要做的是抽空去先提升学历。

    如果你是低学历(大专),根据这些年来我交际圈和阅历来讲,有些大厂可以进去,有些大厂你注定是摸不着的,就算你是考的是在职研究生学历也不行。

    哪些大厂低学历也能进?

    据我所知的,有阿里、京东、滴滴、顺丰、海尔、58同城等公司,低学历也有机会进去,这些公司对学历的要求较为开放,只要你技术够硬并带有足够征服人的工作经验,应聘这些公司还是有机会的,京东比阿里要严一些,阿里各部门的评判标准并不是很协调,求职者经常要经过好几个部门的面试。

    我之前还在任职的时候,我们公司(不是BAT,但也是上市公司)手底下的一名大专学历的小伙子离职后去面试阿里P6(资深工程师)级别岗位,一个多月下来就拿到了阿里的offer,不过那小伙子确实技术很扎实,为人处世也不错,工作期间也是几个项目的核心人员。
    在这里插入图片描述
    哪些大厂低学历你没戏?

    腾讯、华为、美团、拼多多、快手、国企等等,这些大厂你基本不用想了,学历这块卡的很严,就算你考的是在职研究生也没戏(在职研究生有些公司并不是很认可),更别说自考本科了,像快手现在的招聘对象都是以985高校为主,巴不得全员清华北大。

    不过如果你是本科(统招)学历,二本也可以,仅从学历门槛上来讲,你都有机会进去,每年都有很多优秀的本科生进入这些大厂。
    在这里插入图片描述

    二、非科班出生的程序员能不能进大厂?

    我们都知道,很多程序员原来学的专业并不是计算机相关专业,属于非科班出身,那么对于这类程序员,能否进入国内顶尖的公司呢?

    答案当然是可以。

    不过光会几门编程语言是不够的,你需要补习一些必备的知识,加强自己的计算机底层知识,编程语言是属于上层,俗话说得好“底层基础决定上层建筑”,想要走得远,光有强力发动机是不够的,车胎也得选好。

    非科班出生的程序员需要补哪些知识?首先是最重要的操作系统知识,其次是IO网络、算法,补完这些就差不多了,不说达到科班毕业的人的水平,但也八九不离十了,再具体的应该怎么补、去哪补,你们可以百度一下,现在的学习资源比我们那时候多太多了。
    在这里插入图片描述

    三、年纪大能不能进大厂?

    程序员工作几年之后的技术都是比较成熟的,这时候当然也想往年薪更高的地方发展,那么如果年纪比较大,能不能进入大厂呢?

    这个不好说,说它不能吧,但有人就进入过,说它能吧,但很多技术高手因为年龄大被PASS了。

    我之前认识的朋友里面有2个年龄大面试过大厂,1个37岁面试阿里的P8级岗位,技术很牛逼,前面的面试都过了,但后面被HR卡住了,说年龄大,不过他最后还是去了58同城,拿到了80万的年薪;还有1个42岁的朋友也是面试阿里,过了4轮面试都OK,最后还是没有进去,给出的原因也是年龄问题。

    在大厂的重要招聘时,差不多的条件下,基本都会认为年轻人更适合,这几乎是大厂的一条不成文规定了。

    但保持一颗学习的心态去要求自己,不断地区提升自己,进大厂的可能性就会一直存在,实在不行,就降个档次去中厂,薪资待遇未必没有大厂好。
    在这里插入图片描述

    四、35岁是不是程序员的中年危机?

    在我看来,35岁并不是专属于程序员的中年危机,绝大部分行业都有中年危机,做老师有中年危机,在车间工厂有中年危机,就算你去送快递你也有中年危机,原因是什么?

    1.精力衰退。就拿我自己来说吧,我以前可以在公司疯狂工作二十几个小时,今天下班的同事看到我在写代码,明天他们来上班依然看到我在写代码,但现在不行了,现在你让我工作12个小时我就扛不住,身体精力大不如前了。

    2.脑力衰退。不仅是记东西的速度比以前慢,而且记住的东西忘得也比以前快,不过这是普通人都存在的现象,也没什么奇怪的,不过奉劝大家少喝点酒,酒精影响大脑细胞更快。

    3.知识/技术迭代。相信很多人都看过《大江大河2》,宋运辉在从金州化工出去之后去了东海,他就扮演着新技术冲击着旧技术的角色,化工行业作为老传统行业是如此;2020年的新高考改革第二轮开始大范围试行,学校的很多老师甚至都没有教育机构里面的咨询师对新高考如何选科选专业了解;还有传统媒体行业,十年前电视台还如日中天,现在一半的天都是新媒体的了。
    在这里插入图片描述
    再回到我们互联网行业,如果你是从20岁左右开始工作,到35岁左右已经差不多15年了,15年的时间足够让技术更新迭代了3次,就算你很强你3次都跟上了技术的迭代趋势,掌握了最新的技术,那么第4次第5次呢?你还能跟上来吗?更何况有的人还停留在前面的第1、第2次的技术层面。

    再加上生活压力等等问题,绝大部分行业的人到了35岁左右,都不想折腾了,考虑转岗。

    但我并不认同“35岁程序员转岗”这种说法,正确的观点应该是“技术+管理”,而不是“转”

    有的人喜欢说“35岁技术干不动了就转管理”这种话,我就特别好奇,你一个做技术都做不好的人你能管谁?三十多岁丢弃自己十多年来的技术从0开始学管理?听起来都觉得荒唐,我见过不少30岁出头就早早转做产品经理的程序员,结果都废了,本来还是技术比较好的,后面做产品经理不专业,做技术又落伍了。

    管理是一门水到渠成的学问,用不着从0开始拼命去追求,你需要做的是35岁左右训练自己的情商、交际能力、带队能力,把自己的人际关系再扩大和稳固一些,慢慢从纯技术路线转变成“技术+管理”的路线,最出名的莫过于阿里的转岗测试了,尤其是P9级别的题,就考你的人际关系,建议35岁左右考一个MBA,这是所有企业高管职位都认可的证书。
    在这里插入图片描述

    五、年龄大的程序员有哪些出路?

    每个人有成为大叔程序员的一天,那么到了那天,我们有什么些出路可选呢?

    1.技术管理。这个我就不多说了,前面说过了。

    2.创业。一把年级了还折腾创业?40岁很老吗?只要你心态年轻,你的身上总会有让人着迷的东西。79岁的褚时健从监狱出来还创办了褚橙,任正非44岁欠了200多万依然创立了华为,马云也是40多岁拉着一帮人干起来的,所以,什么时候开始努力,都不算晚。

    3.技术外包。拉几个人做技术外包的业务,比如网站的外包就是业务之一,我结识的程序员当中就有不少人当初就是几个人一起做技术外包起家,现在都是有模有样的公司了,当然了,并不局限于互联网行业,只要你有想法,你都可以试试。
    在这里插入图片描述

    4.做老师。用自己这些年来的经验去做初学者的道路指引者,虽然普通工资是比程序员低1/3左右,但做得好的话跟程序员薪资也相差无几,尤其是空闲时间会比较多,线上的机构比如像逻辑教育、马士兵之类的机构,线下比如千峰、黑马之类的机构,里面就有很多程序员转做老师的。

    5.做自媒体。比如我们CSDN的一些大号博主,粉丝都几十万起步,通过自己的技术分享给粉丝的同时也获得丰厚的收益,再比如一些公众号号主、B站up主,抖音的大V等等,都很不错,就拿私人的公众号号主来说吧,假如你的公众号1篇文章的阅读量大概有1000人左右,那么广告商想在你这里投1篇广告的价格就是1000元,挺不错的,但是就是需要持续运营起来才能产出价值。

    6.写书。学过Java的人可能有人知道周志明,《深入理解Java虚拟机》这本书就是他的作品之一,十年前我认识他的时候就一直在写书,现在也是,现在你就是给他200万的年薪他都不屑于给你打工,哈哈哈。
    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 当程序员老去

    万次阅读 热门讨论 2014-11-05 10:10:04
    程序员将代码注入生命去打造互联网的浪潮之巅,有一天他们老了,会走向那里,会做些什么?

       

           程序员将代码注入生命去打造互联网的浪潮之巅,当有一天他们老了,会走向那里,会做些什么?




         很多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做饭),送完外孙上学,刚好8点。由于北京从2020年开始单双月限行了,这个月是单月,所以只能挤地铁。人一如既往的多,一小伙子要给我让座,看了看他的小身板,我说不用,你也是干 IT 的吧,今天咱们都是程序员。


        来到公司,墙上那条新贴上去的刺眼规定总是让我很不舒服:所有的服务器端语言必须使用 Come,移动端语言使用 Swallow,还在使用 Java、C、Go 和 Swift 语言写程序的,罚款500元。我不知道自己还能学会几门新语言,工作了四十年,我已经用过一百多种编程语言了……


          上午十点,00后 Team Leader 跑过来告诉我,池大大,新上线的智能手表操控 UI 是您老做的吗?好像出了点问题。我说是老王上周做的,他老花眼早就不该做 UI 了,这周没来,据说动脉硬化了。唔,那您帮他改改得了……


         这个上午,老板又收到了两份在家办公申请,其中包括老冯的,申请理由是:腰不好。坐着站着都不能解决问题了,只能把屏幕安装在天花板上,躺着编程。我还行,一直打羽毛球,腰好,身体就好,吃嘛嘛香。不过今天中午却没什么食欲,因为牙疼,各种牙都开始松动了,只好在食堂里挑了点软乎的饭菜吃了。



          下午部门开会。我发现唯一的70后主程(主力程序员)记忆力减退了许多。说完第8个功能点的实现后,丫突然来了一句:好,以上是第1点,现在来说第2点。直到下班,我们一直都在说第2点。会后主程怪我为什么没有提醒他,其实我一共提醒了他13次。不跟他计较,明年他65岁,就要退休了。


          分配到需求之后,下午的工作就是画界面做表单填程序,这个工作我做了几十年,已经非常熟练了,编码的时间总是最快乐的,不知不觉就晚上10点了。回家吧,过了9点就可以打车了。


          夜晚11点回到家,菜凉了,孩子们都睡着了。我躺在冰凉的床上,打开一本《Come 语言编程实战》开始读。程序员,是一个终身学习的行业……


    ------------------------------



          看到这估计大部分程序员读者心都碎了……不用担心,不读 MacTalk,晚景才是凄凉的,看了的都没事!


          关于「程序员老去」这个话题,从我开始编写第一行代码的时候就有了。那时候我二十郎当岁,正值青春年少,眉宇苍茫,中年人和老去仿佛是下一个世纪的事情(确实是),遥不可及。我时而在阿尔卑斯山脉编写代码,时而去草沿天路调试程序,我觉得世上之事无所不可为。只有那些年近三十的老程序员,听到这个话题时,才会紧蹙双眉一言不发,仿佛他们看到了无边落木和滚滚长江。


          很快,我就站到了三十岁的十字路口,望了望周围,其他三个方向都没有路,只能向前,于是我非常不情愿的挪到了35岁这个黄金分隔线上,或者叫程序员的生命线。不知道是哪位大神为我们程序员画了这么一条线,三百六十行,行行出状元,为什么只有程序员才有这条线呢?用 Google 百度一下「程序员 35岁」,尽是「不作35岁的程序员」「技术大龄恐惧症」「35岁后要转管理」「35岁前程序员要规划好的 X 件事」这样耸人听闻的字眼,一想到自己并没有规划过「这些事」,我绝望极了,35岁生日的那一天可能会发生什么不好的事吧,比如编程、演讲、写作、设计这些技能都会烟消云算?我可能会跟不上时代的发展?我可能会被解雇吧,我想。


            35岁生日过去了,除了收到生日礼物,什么事都特么没有发生,我依然活蹦乱跳的编程、演讲、写作和设计产品,一切都变得更好了。


           再也不相信年龄了……


         回首往事,我发现当年那些对编程充满激情,对生活满怀理想的小伙伴,有的变成了某个领域的技术大牛,在做产品的同时忙着布道演讲写书;有的经营者或大或小的公司,同时还在编写程序;有的设计出了千万人使用的软件产品;有的则转变成了一个纯粹的管理者,经营着上千人的机构。他们都是程序员。


          真正有可能晚景凄凉的程序员,是对技术和产品没有兴趣的人,是仅仅把编程当做生活工具的人,是那些不能终身学习的人。开篇的文字,就送给这些人吧,希望他们能够在40岁以前看到这篇文章。


           关于程序员转行的问题,也是个伪命题。没有人的职业是一成不变的,今天你在考虑 LVS 要使用 IP 隧道技术还是直接路由,负载调度使用加权轮叫还是最少链接,十年后你要做的可能是增加哪些产品特性和阅读用户的消费心理。时间会驱动着你去不停的选择自己的道路。


           如果继续编程能够最大化你的价值,那就去编程,太多精深和复杂的技术需要长期的积累和实践才能化繁为简鬼斧神工,请在技术大神的道路上一路狂飙。


           如果设计产品能够最大化你的价值,那就去设计产品,现代世界已经不再是「美学、艺术」与「电子产品、软件」毫无关联的年代了,人们越来越重视产品体验和艺术美学,如果你懂得产品之美,又能估算这个产品多久能够开发出来,还懂一些开发细节,不知道能够虐多少程序员啊,想想这个场景多么美好。


           如果经营一家公司能够最大化你的价值,那就去创业,去招募战友,服务伙伴,提供产品,去创造属于你自己的天空。


           如果演讲……如果咨询……如果市场……,很显然,我看到的程序员未来有无限可能,而且我们最大的优势是:这帮家伙甚至能编写代码,这真是太酷了!


            当然,我们程序员也不要过于沾沾自喜,在某个领域深耕细作的同时,不要忘记拓宽自己的知识面。如果一个人的领域太过专业化,一段时间后,你可能发现自己的专业已经陈旧了。如果一个人的知识面很广,在终身教育的配合下,你的专业可以随着时代的变化而改变。


          另外,在调试程序或程序出现问题的时候,程序员要避免说这些暗语:


    
    扯淡,这不可能!
    
    我机器上就没事!
    
    不应该啊……
    
    一定是隔壁老冯的问题!
    
    原来怎么没问题?
    


            每少说一次,就能前进一大步!


           最后,对不是程序员的读者也说两句吧,如果你身边有程序员,一定要对他们好,不懂技术不要对程序员说这很容易实现,平时多送些小礼物,他们不开心了就请吃海底捞,加不加班都要给他们加薪,没有女朋友的给介绍女朋友,还没订阅 MacTalk 的让他们赶紧订阅……你会有回报的。


           经年以后,当你偶然之间再次翻到这篇文章,也许会说,唔,这个老家伙说的还有点道理呢!



                                                                                                                                                                                                                 -----------  文章来自微信平台「MacTalk By 池建强」










    展开全文
  • 大龄程序员的未来在何方

    万次阅读 多人点赞 2015-12-16 07:36:25
    当程序员老去……有人说这是程序员最怕的事,然而,老程序员的将来究竟怎样……

    程序员最怕的是老去

    我发了一篇题为“35岁程序员的独家面试经历”的文章,结果引起了不少大龄程序员的共鸣和感慨,大家都对大龄技术人员的未来非常关心,有的迷惘,有的坚定,不一而足。因此,我准备写一篇文章专门来谈谈这个问题。

    大龄程序员的界定

    老早网上有人说,软件开发干不过30岁,后来又有人说干不过35岁,后来又有人说干不过40岁,后来又有人说干不过45岁……各种说法很多,所以我写了一篇文章,题为“程序员的年龄天花板”来讨论这个问题,感兴趣的可以跟进去看看。

    这里我采取通俗的说法,认为过了30岁的程序员算是大龄程序员,只是为了讨论方便,不同意的请保留自己的意见。

    人生的阶段发展理论

    《论语•为政》篇:

    子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”

    这是至圣先师孔老夫子对人一生的发展阶段的精辟概括,里面谈到三十而立。所谓三十而立,是指人在三十岁之后,就应该在稳定在某一个职业上,有所建树。

    现代社会,对人生职业发展阶段研究最为著名的学者是美国的舒伯(D.E.Super),他是世界职业规划发展史上里程碑式的人物。舒伯对人的生命发展过程,提出了以成长、探索、确立、维持、衰退为中心的五个阶段模型。每个阶段都有不同的职业课题需要完成,当前阶段的职业课题没有完成的话,就会影响后续的职业发展和人生生活。

    对舒伯感兴趣的可以问下贴心的度娘,她会微微一笑很倾城地告诉你舒伯职业生涯阶段理论的细节。我这里只涉及与大龄程序员相关的阶段。

    在舒伯的生涯阶段里有个确立阶段,25岁~44岁。在这个阶段,职业上的发展课题有这些:

    • 逐渐稳定于一项工作
    • 确立自己将来的保障
    • 发现适当的晋升路线

    作为程序员,请先好好理解一下这个老前辈提出的这些课题,反观自身,自省三分钟再往下看。

    确立阶段又可以细分为两个小阶段:

    • 25~30岁,修正期
    • 31~44岁,安定期

    如你所见,我们所说的大龄程序员,就是30岁往后,即过了孔老夫子所说的三十而立阶段的程序员,大龄程序员基本也是处在舒伯老前辈提出的安定期内。你要说你超过44岁了,噢卖糕的,按孔老夫子所说,应该不惑了。

    31~44岁这个安定期,其实是人生最富有创造力的阶段,如果能稳定到一项工作上,一定可以有所成就,为将来打下保障。

    30岁这个年龄,是每个人都会遇到的,不单是程序员、软件开发工程师,它是人生的一个节点。所以,你不是一个人在困惑,程序员,世界上所有的人都会经历这个阶段。而且,已经有人经历过并提出了一些有效的应对措施。

    还有一点很重要,25~32岁是人的婚育高峰,所以,此时人会面临工作、生活的双重压力,事业家庭两头忙,身心俱疲。假如两头都不定,那就基本没法愉快地生活了。

    我不想扯到太原,还是要聚焦在程序员身上来。

    技术人生的三个方面

    这节会谈到对程序员来讲至关重要的三点:

    1. 知识、技术
    2. 技术能力和阅历
    3. 业务积累

    前文书咱说过,30岁是所有人都会面临的人生转折节点,那对于程序员来讲,这样的节点,有什么特殊的表现和含义呢?且来水水。

    软件现在已经成为各行各业的基础服务,它具有非常特别的属性:软件本身形成了一种产业,它又和其他产业结合形成了交叉领域。

    说白点,纯粹的代码没有意义,解决现实问题是软件存在的最大意义。而现实问题来自各行各业,所以,大部分的软件产品,是软件技术和行业需求的有机结合

    所以,多数程序员的工作方式是这样的:使用某种开发工具、通过编程语言来实现一个解决特定问题和需求的软件。有了这样的界定,真的可以开始水了。

    知识、技术

    程序员需要掌握编程语言、应用框架、开发工具等这些具体的知识和技术。这是第一点,必须的。
    不同的语言和技术,都有特定的应用场景,这种语言解决这种问题效率高,那种语言解决那种问题效率高。

    随着人类社会的不断发生发展,随着信息化和互联网化的不断深入深化,现实问题越来越多,越来越复杂,老的知识、技术在面对新的问题时可能力不从心或效率低下,所以不断有新的语言和技术问世,比如Go、比如Scala、比如Swift、比如ROR,都才出现没多久,都是因为特定领域问题而出现的。没有最好的语言,只有最合适的语言。

    面对这样的现状,程序员就需要保持学习,为了更好的解决问题,可能需要掌握多种语言和技术,而且会随着社会的发展和技术的发展不断地调整自己的知识、技术图谱。

    所以,早在几千年前,我们的儒家经典《大学》就预料到了将来会有程序员这种人群,对他们的生活做出了概括性的预言:“苟日新,日日新,又日新”。

    OK,这就是程序员面临的知识、技术现状,所以有人觉得过了30岁奔四张去的时候,家庭事业两头忙,身心疲惫精力不足没时间充电没时间学习不再适合做程序员了。

    这是一种现状,当然它对某些人如此,对另外一些人则不然。其实,31~44岁,正是人年富力强精力旺盛创造力爆棚学习能力焕发第二春的黄金阶段啊。不信你去看看舒伯的生涯彩虹图,一看便知。

    举个例子,王江民就是这个时候(38岁)转做软件开发,后来(45岁)一骑独行白衣飘飘杀进中关村创造了江民杀毒的传奇历史,塑造了一代软件神话。

    在30岁到44岁这个阶段,如果你还在做程序员,对自己的学习模式一定有所了解了,加上之前的积累,学起新东西来很快,应该会不断收获举一反三触类旁通的愉快体验。

    技术能力与阅历

    对程序员来讲,知识、技术是一方面,是容易习得的,是较浅的层面。那较深的层面,就是技术能力与阅历。

    技术能力是指,对具体的知识和技术的运用水平。它在很大程度上决定了一个程序员身上的技术价值。

    技术能力是在不断地运用知识、技书解决现实问题的过程中培养出来的。在这个过程中,有的人爱琢磨好总结能升华,技术能力提升就快,干一年可能能收获一般人两三年的技术经验;有的人可能会停留在写段代码写完了事儿这种层面,那可能干三年不如人家干一年。

    《天龙八部》中的神仙姐姐王语嫣,很多少年看了都很喜欢。从IT的角度看,她实际上就是一个掌握了很多知识、技术的字典型程序员,但不会实际开发。当然,她也可以是很妙的程序员鼓励师,既能极大激励程序员的干劲,又能在必要时提供字典式的帮助与指导。

    与王语嫣对应的另一个人物是扫地僧,超越了知识、技术,阅历极深,不拘泥于招式,一抬手一投足就拍“死”了慕容博和萧远山这种超强高手。他是我们专业技术者的梦中梦。

    扯了这么多,我想说的是,技术能力和阅历,随着程序员年龄和工作经验的增加,其重要性和价值将超越知识、技术本身。这是我们必须意识到的,这也是老江湖的价值所在。

    你可以在三两个月学会服务端开发,但如何应对大用户量、大业务量、大数据、大并发带来的挑战,绝对不是一个小白三两个月能搞定的,不积累个五年八年,不随着企业的产品、服务的发展而经历技术架构的变迁,你很难有能力去解决这些问题。

    业务积累

    大部分软件是技术和业务的结合,甚至有的行业软件,开发技术只占20%,80%的都是业务层面的知识、流程。所以,对于一个程序员来讲,熟悉业务也是非常重要的。做电商网站和测绘软件绝对是天差地别。

    业务和行业紧密相关,你选择一个行业,选择一家企业,就会决定你能积累的产业、业务知识、经验。而这部分业务积累,是程序员的重要价值所在,它和技术阅历一样是经得起时间考验的。

    有句老话,早已告诉了我们业务积累的重要性:隔行如隔山。还有一句老话也说明了同样的道理:男怕入错行。

    学一门编程语言容易,深刻理解业务却没那么简单。而你不理解业务,空有编程语言和应用技术框架,实际上没什么卵用。这就是我们强调业务积累的原因。

    企业的分类

    我在“程序员的年龄天花板”一文中曾经提出过软件企业的分类:

    • 外包型
    • 项目型
    • 产品型

    这里结合前面提到的“技术人生的三个方面”再啰嗦一下。

    外包型公司,通过承接别的企业的部分或全部软件业务来发展。这导致了业务不稳定,编程语言、技术框架等技术方面也不稳定。

    外包型公司做软件的心态,是“干活、交活、拿钱、完事儿”。在这样一种心态支配下,程序员较难有机会仔细打磨产品,对技术能力的积累会有一些影响。另一方面,因为业务随时会变,对行业知识积累也会有较大影响。

    还有,从企业角度讲,考虑成本的话,更愿意用成本低的年轻人,所以,大龄程序员的将来,在这种公司不够乐观。你一个35岁的程序员和22岁的程序员,做同样的App,老板不会觉得你35岁就比22岁做出来的东西好多少,他会认为年轻人多加个班多改改就差不多了,这时候会产生劣币驱逐良币的效应。

    项目型公司通过承接电信、银行、电力、政府或其他单位的软件项目为生,比外包型稍强一些,技术上可以自己选择,也能够在某个行业长期积累经验。如果这类公司的项目规模小而多、行业不集中,那就与外包型公司类似。另外,做项目的心态和外包有些类似,对成本的考量较多,对程序员的持续技术发展不利,比如有新技术出现,公司不一定会用,可能为了快和规避风险而选择较老较趁手的技术来完成项目,这一方面会减缓开发人员的技术更新周期,另一方面也减少了锻炼机会降低了技术成长速度。

    产品型公司是最好的,一个产品,要产生竞争力,要么靠对业务的深刻理解,要么靠技术上的领先优势。这类公司是对程序员的技术阅历、业务知识都很有好处,我认为是程序员的较好选择。

    大龄程序员的将来

    通过前面的分析,我们知道程序员这种技术性职业,价值体现在三点:

    • 语言、技术
    • 技术能力与阅历
    • 业务积累

    用一句话来概括,程序员最大的价值就是运用技术解决问题的能力。而这种能力的构成里,技术能力与阅历、业务这两方面是具有经久价值的,是相比语言、技术更耐得住时间考验的。

    程序员的将来,就与价值维系有关,可以参看我发布在微信订阅号“程序视界”的文章“程序员保值的四个秘密”。在我们进一步展开阐述之前,需要先看看四大职能取向。

    常见的四种职能取向

    一般来讲,有常见的四种职能取向:

    • 管理者
    • 专业技术者
    • 自由职业者
    • 创业者

    管理者又分为职能管理者和全面管理者。CEO、总经理之类的角色属于全面管理者,开发经理、研发部门经理、项目经理、项目总监、HR经理等属于职能管理者。

    专业技术者指靠技术吃饭的人群,比如程序员,比如测试工程师,比如UI设计师,比如会计,比如律师,比如编辑……这些人的一个共同点就是拥有独特手艺和技术,能用自身所掌握的技术为别人解决问题创造价值,他们通常会依附一个组织来工作。

    自由职业者首先是一个专业技术者,然后他脱离了特定组织,自己跑单帮了,自己安排自己,今天想干就今天干,老子今天不爽就明天再干。

    创业者是特殊的一类职能取向,他们特别想拥有自己的产品和服务,于是就拉一帮人成立一组织,协调各种资源来实现自己的梦想。

    程序员的职能取向,多数会落在专业技术者。我个人来讲,做了6、7年管理,现在还是回到了专业技术上来,因为做具体技术工作会让我更自然更自在也更快乐。每一个程序员都应该理清自己的职能取向,只有职能取向清晰了,谈将来才比较靠谱。

    所谓“成功”

    有人说,三十出头的程序员,如果你混的不够成功,面临的压力就会山大。话听起来没错,不过也不尽然,这里面有个关键的问题需要澄清。那就是“成功”的定义。

    世俗的成功,古时候是“十年寒窗无人问,一朝成名天下知”,是“春风得意马蹄疾,一日看遍长安花”。现在也差不多,财富更多,老婆更多,社会地位更高,不过如此吧,你看流布甚广的“当上CEO,迎娶白富美,走上人生巅峰”之类的说法就是这种观念的反应。

    我这里说的成功,是指找到适合自己的职业,完成自我实现。简单点说,就是你在干你想干的事儿,又有成就感又快乐。就这么简单了。

    我们不必活在社会统一的价值取向里,也不必活在别人的期望里,你的人生是你自己的,哪怕父母非要你成为一个什么样的人,也不必去听。

    有了这样的基本认识,就可以继续了。

    程序员在企业中的发展

    程序员的直接发展通路如下:初级工程师–>中级–>高级–>架构师(专家)–>技术总监–>CTO。

    技术总监和CTO带一些管理职能,也可以从另外一条路上来。这条路就是程序员的管理之路:工程师–>项目组长–>项目经理–>项目总监–>技术总监–>CTO。

    一条技术通道,一条管理通道。这是程序员常见的职业晋升通道。

    除此之外,还有一些交叉发展的机会。比如开发转测试,开发转产品经理,开发转售前,开发转售后,开发转销售……

    最后,还有一个选择,就是离开软件行业,到别的行业里自由自在的飞翔。啊哈,朋友再见,朋友再见,再见吧再见吧。祝你好运。

    走管理路线的人十不其一,这次不谈也罢(回头我会写文章聊);转做别的职业的朋友们我已经说了再见了;那剩下的,就只能说说技术这条路的将来了。

    走技术路线的程序员怎么办

    其实这原本不是一个问题。你说,哪行哪业没有老将?

    而这之所以又成为一个问题,是因为程序员是“有知识、有技术、有理想、有焦虑”的四有新人,觉着自己已然学了那么多,付出了那么多,将来总不能停滞不前吧总不能走下坡路吧总得蒸蒸日上吧,所以就焦虑这件事儿,就担心,就困惑,就觉得这行当是青春饭吃不了几年。

    其实根据我前面的分析,结论已经呼之欲出了:保持学习能力,丰富技术能力与阅历,积累行业知识与经验,然后就可以持续走下去。即使会有衰退阶段,那也是正常的,人生就如花儿一样,有含苞待放,有盛放,也有枯萎的过程,我们需要自然接纳。

    程序员的二八定律

    有结论只是第一步,我们还要讲清楚一个事实:程序员群体中的二八定律。

    先说技术路线和管理路线的选择,基本上也是二八开(或者一九)。

    小部分的人走了管理路线,剩下的大部分程序员,走技术通道。那技术通道,有多少人能成为高级软件工程师、架构师、技术专家、CTO?

    百分之二十。

    那剩下的百分之八十,在技术路上不能走得更远,但还得维持自己的竞争力,保持价值不衰退,这样才可能继续做下去。怎么维持竞争力,前面已经说过了。

    大量的大龄程序员将面临无法晋升和如何维持竞争力的问题,这是每个人都必须看到事实。

    从晋升角度看,任何一个行业的从业人员的分布,都是金字塔型的。大锅饭不存在,共产主义按需分配也还没到来,我们必须接受、接纳这个事实,然后才能在此之上谋求发展。

    怎样面对将来

    前面已经确认,技术路线可以走下去。现在我们来看,如果一个程序员的四大职能取向定位到专业技术者,到30多岁时,该如何走好,如何适应。

    • 选择企业

    就做技术来讲,如果想维持竞争力,在选择企业时就应当做一些考量,选择将来向好的行业,选择产品型、重视技术的公司,这种选择非常重要。它会严重影响你将来能在技术路线上走多远。

    我前阵子找工作,就根据行业、企业、产品,只选了三家来面试。我35岁,需要稳定下来啦。

    有人说可否选择创业公司,我的观点是,如果你能承受一定的风险(金钱和时间成本),创业公司的创始团队和产品又都比较靠谱,可以尝试。小米当时创立时,从摩托罗拉等公司找了好大一批开发工程师哦。

    • 稳定于一项工作

    根据舒伯的职业生涯阶段理论,31~44岁是安定期,程序员应该稳定于一项工作,发现适当的晋升通道,确立自己将来的保障。

    在这个时期,频繁的跳槽对将来的发展不利,这是毋庸置疑的,所以选择要慎重。尤其你到了40岁还没在哪个行业长时间待过,技术也换来换去,那再出去找工作,就会遇到比较大的困扰。

    到招聘网站遛一遭,看看招聘信息中对年龄的要求,你就知道我所言非虚,除了技术总监、架构师、技术专家、高级软件开发工程师等岗位的年龄区间落在30~45岁,其他岗位,绝大部分都要求你30以下。所以,如果你在不同行业、不同公司晃来晃去,到了三十四五岁还没稳定,也没能达到高级软件开发工程师应有的水平,那再找工作肯定会遭遇比较尴尬的状况。

    • 不能晋升怎么办

    技术路线,可以初级、中级、高级、架构师(技术专家)……这么走下去,假如一个程序员发现自己到一定程度无法再走下去,就会产生挫折或倦怠。通常这种情况会在你稳定一项工作7年左右出现,所谓七年之痒。对本科毕业来讲,这个年龄就在33~35岁左右。

    此时怎么办?这是很现实的问题。

    这个我们就要具体问题具体分析:是你很牛X限于企业环境无法晋升?还是你自身能力到了天花板了无法晋升?

    不同的原因对应的行动是不一样的,前者的话,可能应该考虑换一下。后者的话,要调试心态,建立第二生活中心,在职业之外发展其他的兴趣爱好来平衡。

    在这个年龄阶段,有一大批程序员会因为晋升受挫或倦怠而成为创业者或参与到创业中来。这是需要留意的现象。

    • 竞争力有区域性和相对性

    程序员的价值和竞争力,其实是相对的。比如你在腾讯,牛人太多,无法晋升了,其实别处可能有鸡头的位置等着,比如其他行业内的小公司的技术总监、部门经理,如果你看重职位和头衔,就可以去尝试。这也是典型的一种路线,有部分程序员在大公司镀镀金,回头到其他行业的相对规模较小的公司去做管理或技术专家。

    如果你很在意职位等级,很在意比别人更受尊重,那就找一个能凸显出你价值的环境。比如乒乓球运动员何智丽,在39届世乒赛上因为没按领导指示输球,后来被取消参奥资格,在国内无法发展了,她移民日本,继续在乒乓球领域活跃并取得了辉煌战绩,还曾经战胜邓亚萍取得亚运乒乓球女单金牌。类似的还有一些国外的业余足球运动员或退役的足球选手到中国来,迅速成为热门选手受到重视。这都是一个道理。

    所以,对于大龄程序员来讲,为了发挥价值和竞争力,还有下面的路径可选择:

    • 到其他公司,不换行业,利用自己的技术优势,谋求管理职能,走管理通道
    • 到能凸显自己技术价值的公司,继续做开发
    • 到平均技术水平较差的地域,继续做开发,彰显自己的优势
    • 学习其他技能

    哦,亲爱的,如果你有时间,也可以学习其他可以赚钱的技能,因为,虽然我们说大龄程序员可以一直做技术,但能一直做到退休的,估计也只有20%。如果你是那80%,当你不得不离开心爱的开发岗位时,就能够因为有所准备而不至于忽然失重。

    • 职业之外的兴趣

    这点是我们必须要谈的,程序员的人生里不只有软件和工作,还应当有其他的。生活是多元中心的,要有一些其它的兴趣爱好,能够滋养心灵,修复纯技术工作给心灵带来的磨损。

    提笼架鸟,雕刻,书法,围棋,游戏,写作,读书……都挺好的,有比没有强太多了。很多人(包括我)缺乏信仰,再没有点兴趣爱好,那就太容易内分泌失调了。

    到底能干到多少岁

    还问啊……让星爷来回答你吧:

    “曾经,有一份真诚的爱情放在我面前,我没有珍惜,等到我失去的时候才后悔莫及,人世间最痛苦的事莫过于此……如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:‘我爱你。’如果非要在这份爱上加上一个期限,我希望是……一万年!”


    更多精彩文章,扫码关注我的微信订阅号“程序视界”,第一时间阅读。

    展开全文
  • 嫁给程序员好吗?妹子们听好了,程序员是一个挣钱多,还没时间花,智商高,为人踏实,有错(BUG)必改的好男人,犯错了,会一直debug(道歉)到底的。 现在我们来看看知乎上的那些大神对“嫁给程序猿好吗”...
  • 说在前面:有粉丝提问说自己并不确定学前端,因为自己还没有工作,想做程序员,想问问做哪个方向比较有前途; 有两三个小伙伴这么问的,感觉很有意义,拿出来单独说说比较。 目录 程序员有哪些选择? 选择...
  • 程序员将代码注入生命去打造互联网的浪潮之巅,有一天他们老了,会走向那里,会做些什么?表面光鲜的“程序猿”的真实生活的背面是不为人知的辛酸史,让我们一起去了解程序员这个职业吧! 当程序员老去 再也不...
  • 程序员小哥哥真的很好当吗?

    千次阅读 2018-02-05 00:00:00
    但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看下面是如何回答的。在全栈开发者 Adam Leffert 看来,最重要的是态度:我...
  • 哪些人不适合当程序员

    千次阅读 2018-02-22 00:00:00
    点击上方“中兴开发者社区”...但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看 Quora 上面是如何回答的。在全栈开发者 Ada
  • (一) 你适合当程序员吗,你知道编程序是怎么回事吗?  1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,...
  • [img=https://img-bbs.csdn.net/upload/202104/22/1619081929_983705.jpg][/img]
  • 数学和英语不好,能当程序员吗?

    千次阅读 2018-03-01 00:00:00
    比如做图形图像处理的,做游戏引擎的,做科学计算的,做机器学习的,做加密解密的,而大部分的程序员,都是 API Caller ,其实用不到多高深的数学和算法,即便用,也是调用别人封装的。 所以,如果你不是想做图像...
  • 为什么当程序员?来听听美国程序员的理由!

    万次阅读 多人点赞 2021-06-22 20:00:47
    看看在国外当程序员的理由,与我们国内有什么不同!
  • 有哪些事是你程序员之后才知道的?

    万次阅读 多人点赞 2021-05-24 01:35:47
    比如程序员真的不好找女朋友
  • 程序员毕业去大公司还是小公司

    万次阅读 多人点赞 2020-03-23 07:09:05
    大公司哪里?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观...
  • 你想成为更程序员吗?

    千次阅读 2014-11-15 20:42:41
    在某次clean code的培训开始之前,coach说,参加我们这个培训有两个前提,第一,我们是程序员,第二,我们想成为更程序员。很显然我们都是程序员。我们当中,有人不想成为更程序员吗?我们相视而笑,以为这...
  • 程序员垃圾简历长什么样?

    万次阅读 多人点赞 2020-03-30 07:56:59
    这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并...
  • 专科程序员就比本科程序员差吗?文|洪生鹏1对于程序员岗位而言,学历初看是一个门槛,有的知名单位,把学历定在了全日制本科学历以上,把专科生排斥在外。毋庸置疑,高学历自然不错...
  • 点赞再看,养成习惯,微信搜索公众号【程序员老班长】关注这个互联网老班长。 昨天发了上篇文章之后,有朋友私下联系我,问我现在已经30岁了,还能不能转行做程序员。 按照我上篇文章中的观点,这个年龄应该是...
  • 当程序员吗?想做软件开发吗?嗯,单单会写几行代码是远远不够的。
  • 程序员是做全栈工程师?还是专注一个领域

    万次阅读 多人点赞 2020-04-03 07:45:43
    谁知,讲到最后,更确定了他做全栈程序员的梦想。 但凡做全栈工程师的,要么很惨,要么很牛! 但凡很牛的,绝不是一开始就是做全栈的! 全栈工程师听起来好听,但绝没有你想象的那么简单。 今天听我来给你唠,...
  • 程序员工资高吗?

    千次阅读 多人点赞 2019-04-16 13:35:56
    程序员工资高吗? 有一段时间,网上有个话题还挺多人讨论的,有人问程序员工资高吗,公务员工资高还是程序员工资高? 然后,引起了一些网友一本正经的讨论,不管是不是干IT行业的,反正好多网友都在一本正经的...
  • 可是仍然还有许多人前赴后继的想来学java当程序员,但是心里面有隐约担心:年纪也不小的,快30了还能学java吗?来得及吗? 年纪大了还想转行当java程序员,现在学java还来得及吗? 来得及的,种一棵树最好的时间是...
  • 为什么当程序员? A:我是被我妈逼的。 B:我只想盗取QQ账号。。。 C:很早以前和相隔一个省的同学聊天,“我能控制你的电脑”,为了实现这个目标,然后。。。。就这样吧。 D:我是为了混口饭吃才玩代码的,面试官...
  • 优秀的程序员真的不写注释吗?

    万次阅读 多人点赞 2020-05-11 07:02:23
    我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。...我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我
  • 程序员就应该熬夜吗

    千次阅读 多人点赞 2020-11-29 18:47:09
      比如我刚吃完饭后,对着电脑完全静不下心来,吧,我是活跃过度了,我一会儿刷刷博客,一会儿去接杯水,看上去忙忙碌碌,其实啥也没做。   如果你认为这时候投入工作效率会更高那你就大错特错了。精力越是...
  • 习惯成就好程序员

    万次阅读 热门讨论 2010-01-15 00:36:00
    会上我向大家提出了我的想法,习惯才能成就好程序员。有很多人可能对这句话很不以为然,我也不忙辩解,先回答我下面的一个问题。现在我们身边的同事,开车的越来越多了,如果周末你出去游玩,你需要寻找一个开车的...
  • 做个程序员到底不好

    万次阅读 热门讨论 2015-12-17 11:38:57
    今天闲着无事,我们就来聊聊做个程序员到底不好?问题 我今年27了,大学学的是经济与贸易,我现在转行做IT可以转吗? 我大学学的是建筑设计专业,今年30,想转行做IT晚不晚? 我今年高三了,我想知道IT行业到底...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,116,078
精华内容 446,431
关键字:

当程序员好吗