程序员_程序员技术练级攻略 - CSDN
程序员 订阅
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。 展开全文
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
信息
中文名
程序员
外文名
Programmer
拼    音
chéng xù yuán
职    责
程序的设计、开发、维护
分    类
设计人员、编码人员
程序员岗位职责
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。7、负责相关技术文档的拟订。8、负责对业务领域内的技术发展动态进行分析研究。
收起全文
  • 今天给大家带来点快乐,程序员才能看懂。 来源: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

    展开全文
  • 前一段看到朋友圈里的学弟学妹们开始晒毕业照,这一晃据我毕业也一年多了。走出了校园,工作了一年,见得多了,体会和感触也随之变多。所以,又开始习惯性地复盘过去的一段经历,用现在不成熟的想法去回顾之前更不...

    这里写图片描述
    前一段看到朋友圈里的学弟学妹们开始晒毕业照,这一晃据我毕业也一年多了。走出了校园,工作了一年,见得多了,体会和感触也随之变多。所以,又开始习惯性地复盘过去的一段经历,用现在不成熟的想法去回顾之前更不成熟的想法,哈哈。


    挑出我认为比较重要的四点感受来说吧。

    一.理论知识的重要性

    这个问题,我在毕业半年之后就意识到了。经常听到有人说“学校里的知识都是过时的,没用的,工作中顶多也就能用到10%”。我承认这句话在某些角度上有一定的道理,但我认为理论知识并非无用,学好理论其实是很必要的。

    我来告诉你为什么。首先我们来分析一下宣扬“无用论”的那些人。我猜大部分应该都是对行业理解不深的开发小白或者是普通的开发人员,这些人可能刚刚工作没几年,觉得自己从零基础到能开发出一些模块就已经很满足了,觉得编程不过如此;还有那些可能是计算机专业出身,但是毕业后却从事不相关的行业的那些人,茶余饭后可能调侃一下专业无用论。

    后者我就不说了,那其他行业确实用不到计算机理论知识。但对于前者,在我看来,混日子或者满足于现状的人居多吧。如果他们不改变自己认知,很难在这个行业走得长远,程序员中年危机了解一下?真正牛逼的人,理论基础一定很强!

    最简单验证我的观点的方法就是,大家去招聘网站看看大公司开发岗的招聘要求就知道了。很多岗位明确要求,计算机理论基础扎实、数据结构与算法基础扎实。再结合往年BAT校招情况,哪个技术岗不考察基础知识的?据我在BAT工作的同学说,这样的行业巨头,无论是校招和社招,在面试时技术知识都会作为重点考察内容,尤其是校招。
    这里写图片描述
    我本科是CS专业,虽然我不是学院的学霸,但我专业课的成绩还算是中上游。一开始工作的时候,我也觉得以前学的专业知识对工作好像没多大帮助。但是越往后,理论基础带给我的优势就逐渐突显出来。

    这里我举几个例子。不了解计算机组成原理的人,在工作日常可能就分不清CPU、内存、硬盘等硬件相关的内容。经常碰见有的开发人员,明明花了4、5千买了一台新笔记本,但是开发用起来还是很卡,结果是因为内存仅有4G;在编码日常,就拿Java来说,有关对象的引用,实际上就是C中的指针的概念。如果不清楚计算机内存工作原理,就很难理解引用这个概念;同理对于不了解操作系统原理的人,可能就很难理解多线程;不了解网络原理的人,可能就不清楚ip、端口、http协议之间的关系等。

    培训行业之所以这么火爆,是因为单纯论编程技能,经过培训或者大量练习,的确可以做到快速上手。但培训机构很少会将有关计算机理论方面的知识,而这也是需要长期学习积累的。所以很多人反映从事开发几年了,到某一时间点就感觉总也提升不上去,遇到了瓶颈,其实绝大部分原因就是基础欠缺造成的。

    当我认识到这个问题后,这半年来我开始针对性地复习相关基础知识。虽然有些理论学起来枯燥乏味,甚至感觉没什么用,但是一旦理解了其道理,再来看眼前的工程,感觉就完全不一样了。

    二.解决问题能力的重要性

    工作中,对于没遇到过的问题,会不会往往不要紧,拥有解决问题的能力是最关键的。那什么是解决问题的能力?就是当问题发生的时候,能够用科学的、高效的方法,迅速解决它。我的一位领导说过一句让我印象非常深刻的话——“当出现问题时,不要找100个借口证明它的困难性,而是要找100个方法去全力以赴解决”。

    刚入行的时候,每天要花大量时间在基础的编码任务上。但越往后,编码本身往往不再是难点,遇到问题并解决才是工作的重点。没有人会知道所有的问题的答案,就算他知道,那每天还会有各种各样未知问题的产生。所以评判一个工程师它牛逼与否,除了看他懂得多少以外,还要看他解决问题的能力,是否能又快又好地解决问题。

    拿我个人来说吧,本科毕业一年,从事开发工作两年。我也不是那种每天都疯狂学习的人,大学四年也不敢说自己积累了多少,所以要论知识和经验,我要学习的东西还有很多。但是,这并不影响我现在从事的工作。虽然经常遇到难点,但迅速通过各种资源学习、整合解决遇到问题,是我参加工作以来一点点不断在提升的能力。我可以自信的说,只要不是超出我能力范围太大,交给我的任务或者遇到的问题,我都可以找到办法解决,尽管在这之前我不会。

    而且现在,对于开发人与来说,编程似乎越来越简单了。工程中遇到的大部分问题,其实早就有人遇到过了。互联网时代,各类技术博客论坛平台的内容越来越多,还有强大的“同性交友网”Github等开源社区,以及各种技术交流群社区等,我们很容易就能在网络上找到我们想要的解决方案。所以,对于现在的程序员来说,解决问题的能力其中一大主要部分其实是检索能力。掌握了高效的搜索能力,几乎可以解决70%的问题。这里就不展开说了,以后有时间我再整理一些我总结的搜索技巧。

    所以说,如果你拥有强大的解决问题的能力,那你的竞争力就会变得非常高。从校招就可以看出来,为什么现在互联网公司动辄能给应届生开出20W、30W甚至更高年薪,难道是现在应届生都懂得多么?说白了,每届应届生毕业时的水平都是差不多的,企业心里都有数。但企业投资的不是应届生本身,还是那句话,会不会不要紧,是否具有学习能力和解决问题能力是企业所看重的。

    同理,在面试中,面试官除了考察面试者知识技能积累情况,也会重点考察逻辑思维,其实就是解决问题的能力。有时候面试官的问题,没什么标准答案或者就是超纲的问题,以此来模拟遇到问题的情况,来观察面试者如何应对。有关面试相关的感悟,我会另写一篇来详细说。
    这里写图片描述
    各家互联网公司的给应届生的薪资概况

    三.学历的重要性

    要说我目前的遗憾之一,就是没有在本科结束后去读研究生。当然,只是遗憾,我并不后悔我的选择。我之所以这么说,就是因为我觉得学历往往很重要,但也绝不是百分百的重要。

    在某知名匿名交流社区,经常会看到抱怨HR只认学历的帖子,什么非985、211简历不看、专科靠边站等,抨击中国的学历社会多么不公平,这样的帖子很多,下面的评论也是说什么的都有。其中我觉得挺有意思的评论是“别人寒窗苦读12年考上名校和你随随便便考个专科,如果能在毕业时同等待遇,那你认为公平么?”

    如果单纯认为高学历等于懂得多,那就容易产生抱怨情绪——你看,虽然我学历不高,但通过这么多年的努力,见得也多了,懂得也不少,还非要拿个高学历去证明一下么?这其实就是对学历的一种误解,高学历背后的重要性其实有很多点,我简单和大家扒一扒。

    1.工作优势。有的工作只要985/211本硕的学生,这是硬伤。这里有人一定跟我说,985、211里也有混子,身边某某某普通学校出校混得比重本好的言论。没错,我承认,你说得都对。我还可以告诉你,马云还是杭州师范大学毕业的呢,然后呢?这个世界上,总有人用个别例子去硬怼大概率事件,或者总痴心妄想小概率事件会发生在自己身上。事实证明,985、211里大部分学生的各项能力要比普通学校学生强,所以优秀的企业,肯定会择优挑选名校学生。尽管其他学校也有牛逼的人,但相比于筛选劣质简历的人力成本,企业宁可漏掉他们。试想你是一个知名公司的HR,每天收到上千上万份简历,你会有时间一个一个分析低学历者的简历判断他们的能力么?

    2.在攻读高学历的过程,会培养并提升解决问题的能力、科学思维的方式。这也是我前面提到的,这种能力是很具有核心竞争力的。论智力水平,绝大部分人先天情况都差不多。所以这种后天训练出来的思维能力,会让一个人在人群中脱颖而出,而且一个人是思维高度,往往决定一个人能走多远。

    3.人脉优势。人往高处走,水往低处流。其实很多人忽略了高学历的潜在价值,就是你会结实一群大概率未来都会发展不错的人,你们会成为同学朋友,这是你人生中宝贵的个人财富。这比财富10年之后,会越来越值钱。大家看看那些知名企业的高管就知道了,很多都是名校出身,再看看他们身边的合作伙伴或者同事,也大多是名校出身。身处于这样的圈子,圈子就是价值。

    所以不要只认为人家高学历只不过是多读了几年书。一纸文凭确实只是一张纸,那张纸的价值是有限的,但是背后隐藏着的价值,如果利用好了,就是无限的。所以,之所以有人读了几年研究生还不如本科生、专科生,实际上就是没有利用好隐藏价值。

    不过我还是那句话,学历往往很重要,但也绝不是百分百的重要。我是普通学校本科出身,但我也拿着一份还算不错的薪水,没有比名校出身的差太多,我身边有很多优秀的同学,也没有名校光环,但也照样在大厂混的如鱼得水。当然了,这同时也要付出更多的努力,才有可能跟名校出身的人站在同一高度。你可以认为这是鸡汤,但我想说的是没有理由会阻碍你变得牛逼。按照之前我说的思路,所以如果你能够通过其他方式获得那些隐藏价值,学历的重要性会一定程度被弱化。正所谓弯道超车,机会总是会有的。

    四.坚持写作的重要性

    我从去年毕业开始,正式在CSDN上写博客,主要以技术为主,记录、整理工作中遇到的问题的解决方案以及学习笔记。看我朋友圈的朋友可能会知道,前几天我发了一个博客访客截图,开博一年多以来,访客超过10W+,排名3W+。这也是算是对我一年以来坚持写作的非常重要的一次鼓励吧。
    这里写图片描述

    为什么说要坚持写作?

    1.逼着自己把知识学透。之前也提到了,开发这个领域,程序员每天的主要工作就是学习和解决问题。如何验证自己有没有真正掌握学到的知识?大家可以类比一下学生时代,同学之间互相辅导。有时候明明自己可以解一道题,但是给别人讲的时候讲不明白。这其实就说明自己没有完全掌握这道题,如果你能给给别人讲明白你学到的东西,就说明你掌握了所学的内容。而工作中,一般也不会有给别人当面讲课这样的机会,所以通过工作笔记、博客、公众号等方式分享个人学习心得、整理学习内容、传授经验就是最方便的讲述方式。我的体会最深的就是,每次自己学习的时候,碰到不好理解的、困难的内容,如果抱着要写成博客给别人看的心态,就能逼着自己把它学会,原因很简单——我不想在博客上胡说八道误导别人。

    2.锻炼自己的逻辑能力、表达能力。有时候就算自己真的掌握了某个技能,但是依旧没办法给别人讲清楚。这就说明自身的逻辑能力和表达能力还有欠缺。经常听外行的人评价程序员话不多、社交少,这正恰恰说明了大部分理工科出身的程序员的弱点——不善于表达交流,而这也是很多人遇到瓶颈的障碍之一。虽然你做了很多,但是别人不知道啊。因此我认为,一个真正出色的工程师,一定是善于表达的,他不光自己会做,还要有逻辑地讲出来、帮助其他人一起成长,这才是出色工程师应该具备的能力之一。腾讯马化腾、微信张小龙、小米雷军、百度李彦宏、360周鸿祎就是很好的例子。

    3.写作可以提高工作、学习效率。不止一次,我的同事问我一些技术问题,恰巧这些问题我以前遇到过,花费了一定的时间去解决并整理成博客,这时候我就可以直接把博客地址发给他,这样就节省了很多时间。同时,通过记录自己学习过的知识,也极大地方便了日后的复习,避免了很多重复筛选信息的时间,而且自己整理的内容也是最适合自己的。

    4.建立个人品牌,扩大影响力。评价一个程序员牛不牛标准有哪些,学历高?薪资高?职级高?大厂出身?GitHub上有万个Stars项目?要我说,有知名个人品牌的程序员就很牛逼。经常看到有人在社区抱怨自己不是名校出身,学历不高,又没有大公司工作经验,找工作困难,能力得不到认可。而学历、学校、过去的工作经验都是已经板上钉钉的事,再怎么抱怨也没用。但这些可都不是阻碍自己建立个人品牌的理由。我们应该感谢这个时代,我们几乎没有成本就可以在各个平台上建立个人账户,发表自己的观点和内容。如果能有个百万级访问量的博客、或者运营一个有几十万粉丝的个人公众号,我相信就算你没有名校名企光环,也一样可以得到其他人、其他公司的青睐。谁会拒绝一个有影响力的人呢?

    所以,写作几乎是一件有利无害的事。当然了,我反对为了写博客而写博客。写的乱七八糟有头无尾不说,排版混乱或者干脆扔一堆代码在上面,没有注释没有自己的讲解,甚至不经审核把错误的内容发表出来,这种博客不光浪费自己的时间,更耽误其他人宝贵的时间。所以我一直坚持原创,坚持质量为主,拒绝冲量,拒绝抄袭,我也相信我的文字随着时间的积累,会给带给我巨大的价值。


    以上是我毕业一年以来的思考与总结,其实还有很多其他“重要性”,有时间再跟大家分享。一年仅是个节点,未来还有很长的路要走。时刻保持清醒,不断思考,坚持总结与复盘。最后,如果你喜欢我的分享,觉得有帮助的话,给个赞呗,哈哈。


    本文同步发表于我的个人公众号【小码叨叨】,来听马叨叨的日常叨叨,打消你一切对程序猿的误解。喜欢的朋友可以扫码关注哦~
    这里写图片描述

    展开全文
  • 原文转载于:https://blog.csdn.net/tTU1EvLDeLFq5btqiK/article/details/80655451本文来自《华为人》,转载请注明出处作者:于志国期间一位驰骋商界多年的老友问:“你现在在华为做什么工作呀?”我很骄傲地说:”...

    原文转载于:https://blog.csdn.net/tTU1EvLDeLFq5btqiK/article/details/80655451

    本文来自《华为人》,转载请注明出处

    作者:于志国



    期间一位驰骋商界多年的老友问:“你现在在华为做什么工作呀?”我很骄傲地说:”系统架构师“,可是他却愣了很久。


    但当我老婆在旁边补上一句“码农“时,老友瞬间秒懂,却把我受伤的心孤独地留在风中凌乱。


    作为与 UNIX 同年代的人,我当初选择计算机专业仅仅是因为抓到什么就学什么罢了。


    本科毕业遇到互联网危机,便没有想法地去读了研,研究生毕业找工作,面试官问为什么要做软件开发。


    答曰:“不给钱都喜欢做的事情,何况还给钱”,从此便踏入了编码这一行,只是从来没想到一做就是十几年。


    但凡一件事情做久了,无论成功与否,都会有一些真切的体验和心得。以前也读过一些工作中如何成功、快乐,诸如马斯洛理论之类的文章。


    也许是因为自己领悟能力比较差,唯一的收获是庆幸自己当初选择了编码作为自己的工作,因为编码天生就具有让人愉悦的工作内容和工作氛围,快乐如影随从。



    1

    编码世界:规则简单有效,粗暴却完美



    从事编码,可以锻炼逻辑思维能力,教会你如何思考。就像学习法律一样,学法律的人未必都是为了成为律师,但法律教会了你一种思维方式。


    同样的,通过编码可以学习到这个世界上最严谨的思维方法。因为在编码的世界里,对错是简单甚至绝对的。


    只要敲下键盘,计算机就会判定孰是孰非,0 或 1,规则简单有效,粗暴却完美。


    从事编码,可以获得持续的创造力。跟写作、绘画、作曲一样,编码也是一种创造性的工作。


    只要有一台计算机,掌握了基本技能后,你便拥有了无限的超能,便能随心所欲地创造出新的东西,丰富和美好这个世界,是不是很棒?


    更酷的是,编码可以品味孤独。除了跟别人交流、学习,程序员大部分时间都是独自在工作,只要双手触摸到键盘,内心顷刻便会变的宁静,多酷呀!


    伴随着键盘清脆的低吟,沉浸在一个人的世界里,跟烟雨蒙蒙天,一杯茶,一个人听着淅淅沥沥的雨声品味孤独,简直有异曲同工之妙,多感性呀!


    能够选择编码作为工作的人,大部分都是喜欢为人处世简简单单的人:这群人有着天真烂漫的好奇心,虽不苟言笑,但却内心火热,善于分享,乐于助人,甚至有时为了解决问题、宁愿不眠不休,却深以为乐……


    跟这样一群简单纯粹的人在一起,我觉得世界上最好的工作氛围,也不过如此。



    2

    程序员的三个境界



    但 IT 时代的膨胀已经让编码工作如同文艺复兴时的印刷匠一样,编码门槛越来越低。


    例如,遍地《一周XX速成》、《20天XX精通》,仿佛会写代码就成了程序员,这让很多人认为从事编码工作就是码农。


    其实,印刷匠很多,成为大师的不多;码农很多,但程序员并不多。程序员不是码农,码农也不是真正的程序员。


    640?wx_fmt=jpeg


    程序员在英文里对应有三个单词:Coder、Programmer 和 Software Engineer。


    我觉得这三个词,生动形象地描述了程序员所需要经历的三个阶段,或者说三个境界:


    • Coder:只要求能够熟练使用编程环境,精通几种编程语言、开发框架和开发库,擅长写代码就可以了。这个阶段的程序员能够按照既定的设计完成编码。

    • Programmer:要求在 Coder 的基础之上,精通设计模式、算法实现和编码技巧,并具备熟练应用的能力,这个阶段的程序员能够独立编码解决现实问题。

    • Software Engineer:要求在掌握业务知识的前提下,理解为什么这么实现,在综合考虑架构实现,权衡开发成本后,为解决业务问题提出最优方案,并能与业务人员顺畅沟通,让业务人员理解方案。


      编码工作达到这个阶段,才能称得上是真正的程序员,才真正实现了从工作到职业的转变。


    不可否认,这个世界上有一些天才的程序员,他们喝着咖啡,哼着歌,便完成了上面三个阶段的修炼。但绝大部分人,都需要为此付出巨大的时间和精力。


    能否成为职业的程序员,影响因素和方法论很多,各种学习类、技术类的总结遍地都是:主动思考、及时总结、制定规划等。但我认为其中最重要的是能否做到专注。


    许多没有达到第三个阶段的程序员,就是因为受到各种因素诱惑,变得心猿意马,不够专注。


    因为不够专注,他们不在意做好自己本职工作,不在意锤炼自己的技能,不在意学习新兴的技术。


    慢慢的,他们会认为从事编码没有出路,进而毫无例外地把编程看成是体力劳动,只会粘贴拷贝代码,知其然而不知其所以然,导致技术停滞不前。


    在这样的状态下工作 5 年、10 年,对于他们来说,没什么区别,程序员真的就是吃青春饭的码农。



    3

    程序员 VS 码农:我们不一样



    要避免程序员变成码农要做到如下几点:


    • 必须对编码保持热情,并持续学习;

    • 必须保持好奇心,乐于探求事物本质;

    • 必须对所做的工作及时总结,主动优化代码,让系统变得更加有机;

    • 必须主动尝试更好的开发方式、更先进的工具,来提升开发效率,并想办法避免重复性的工作;

    • 必须不断改进设计,将编程变成创造性的工作。


    只要通过这样逐步地积累经验和长时间锤炼,知识体系才能构建完备和丰富,才能避免沦落为码农。


    几年前,我曾经重构过一个模块,从外部看模块所在的系统,都是类似这样的,简洁而漂亮:


    640?wx_fmt=jpeg


    但从程序员编码实现的层面看,它实际上是这样的:



    640?wx_fmt=jpeg


    这个设计在最初的版本没有任何问题,使用继承扩展管理对象的接口能力,但仅仅过了两个版本,项目组 PL 说实在撑不下去了。


    增加一个接口,需要修改 200 多个地方,如果再过一个版本,估计要修改 400 多个地方了。


    后来我把它改成这个样子,使用聚合消除了耦合:


    640?wx_fmt=jpeg


    从代码实现层面看,在功能刚开始开发时,这两个设计区别不是很大。


    但随着系统演进、越来越多的功能加入,继承关系带来的耦合会导致模块之间关系越来越复杂。


    牵一发而动全身,终究有一天哪怕只做很小的改动,也将成为压死骆驼的最后一根稻草。


    这次重构的成果是代码量由 43K 减少到 15K,扩展新的接口能力不再需要修改已有代码。我想,这或许就体现了码农和程序员的区别吧。


    CT 是一个业务复杂度极高的行业,要想从码农成长为程序员,需要经历更多的煎熬,需要发挥更多的创造力,同时也意味着,我们比以往任何时候都需要越来越多的码农成长为程序员。


    640?wx_fmt=png


    既然我们选择了编码作为职业,注定会经历各种心劫:枯燥、沮丧、迷茫,甚至浮躁……


    然而无论处于哪种心境当中,我相信,只要想起自己曾经满怀惊奇、兴奋与真诚敲下的那个程序——“Hello,World!”我们就会充满了渴望和力量,因为那是程序员最初的梦想:改变世界。


    展开全文
  • 1、前端开发的噩梦,被视为祖宗的...IE6782、想必,在座的各位应该知道自己在什么地方了3、没有什么问题是重启解决不了的,不行就重装个系统 [滑稽]4、净扯!公司还有...
        


    640?wx_fmt=jpeg


    1、前端开发的噩梦,被视为祖宗的...IE678


    640?wx_fmt=jpeg


    2、想必,在座的各位应该知道自己在什么地方了


    640?wx_fmt=jpeg


    3、没有什么问题是重启解决不了的,不行就重装个系统 [滑稽]


    640?wx_fmt=jpeg


    4、净扯!公司还有女程序员?


    640?wx_fmt=jpeg


    5、悲剧的程序员 ~~


    640?wx_fmt=jpeg


    6、史上最佳注释 (又学会一招,哈哈哈!)


    640?wx_fmt=jpeg


    7、想必,这位仁兄入坑不浅。


    640?wx_fmt=jpeg


    8、程序员,大体分两派!!


    640?wx_fmt=jpeg


    9、他们班男生得有多讨厌他们班女生啊!!!


    640?wx_fmt=jpeg


    10、ed2k!! 我好像懂得了什么!


    640?wx_fmt=png


    11、这么简单的逻辑!很明显么,两个西瓜


    640?wx_fmt=jpeg


    12、哈哈哈,说出了我的心声


    640?wx_fmt=jpeg


    13、代码写多了 看个代码都眉清目秀的


    640?wx_fmt=png


    推荐阅读


    技术:jenkins和docker实现自动化构建部署

    技术:设计图都不会画,还想做”架构师“?

    技术:玩转linux 这些命令就够了 

    技术:Kafka、RabbitMQ、RocketMQ等消息中间件的对比

    技术:玩转linux 这些命令就够了

    技术:30分钟如何学会使用Shiro 


    工具:如何通过技术手段 “干掉” 视频APP里讨厌广告?

    工具:通过技术手段 “干掉” 视频APP里讨厌的广告之(腾讯视频)


    博主11年java开发经验,现从事智能语音工作的研发,关注微信公众号与博主进行技术交流!更过干货资源等你来拿!

    640?wx_fmt=jpeg


    640?wx_fmt=png

    展开全文
  • 程序员老去……有人说这是程序员最怕的事,然而,老程序员的将来究竟怎样……

    程序员最怕的是老去

    我发了一篇题为“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 何处藏纵使上线又怎样朝令改,夕断肠领导每天新想法天天改,日日忙相顾无言惟有泪千行每晚灯火阑珊处夜难寐...这一年,第一批 90 后程序员已经中年了、油腻了、胃垮了、身体
  • 点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事作为从事“十大最容易猝死行业”中的程序员,每天工作时间长、任务繁重、精神高度紧张。尽管被认为这行工资高,可正吃着“青春饭”的你...
  • 最近加班真是加的我生无可恋,幸亏我平时收集了不少关于程序员的段子,累的时候看看说咱们程序员的段子,缓缓神儿。缓过来了,发现生活依然还是那么的美好,哈哈。独乐乐不如众乐乐,我整理了一下自己的段子,分享给...
  • 1、程序猿最烦两件事,第一件事是别人要他给自己的代码写文档,第二件呢?是别人的程序没有留下文档。2、程序猿的读书历程:x语言入门—>x语言应用实践—>x语言高阶编程—>...
  • 从业两年,前一年拼命撸代码,不断学习新的技术,也算是进入了程序员的行列了。后一年由于机缘巧合,接手了一个被别人遗弃但自己的老板看好的项目,从半路开始项目的开发和维护,调试的时间远远超过了开发时间。接触...
  • 目前为止在安卓方面的已经工作了三年左右的时间了,从一个只会写BUG的菜鸟,到现在慢慢发展成了一名程序员。其实说实在的,我学的也一塌糊涂,当然在学习过程也积累了一些知识,对于以前没接触过Android的朋友,或者...
  • 由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,...
  • 一、 程序猿问科比:“你为什么这么成功? ”科比:“你知道洛杉矶凌晨四点是什么样子吗? ”程序猿:“知道,一般那个时候我还在写代码,怎么了?”科比:“额…….” 二、 女神:你能让这个论坛的人都吵起来,我...
  • Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的...
  • 最近,有关程序员因为参与某些项目开发导致被起诉,甚至被判刑的事件发生的比较多: 某程序员因为接了个外包,帮别人写了个软件,结果这个软件被用于赌博导致被抓。 某公司利用爬虫抓取用户信息,最后被发现,导致该...
  • 而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣...
  • 全国程序员平均工资走势图。图上可以见,6月到8月,工资涨的比较快。之后就停止甚至下跌了。当然,6到8月涨幅过快,后面的下跌可以看作是对之前的调整。怎么感觉我是评论股票的。。。大家听过就算了,别当真。 同时...
  • CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事...
1 2 3 4 5 ... 20
收藏数 1,434,214
精华内容 573,685
关键字:

程序员