但凡过了试用期,也不至于问出这样的问题。
第一个最大出路无非是自己能单干搞点私活。
至于第二个,那就是大多数公司能把你捧起来的神。
魏文侯问扁鹊:“你兄弟三人,哪个软件开发水平最高?”
扁鹊说:“大哥最好,二哥其次,我最差。”
文侯甚为不解。扁鹊解释道:“我大哥不等Bug出现就提前预防了,所以名声传不出开发组。二哥在Bug出现时就顺手解决了,所以名声传不出技术部。我呢,每天像打地鼠一般到处救火,所以在公司没人不知道我。”
这选择,一目了然吧。
问这种问题的一看就不是老程序员,老程序员一般都会毫不犹疑的选第二个。
几乎只有非程序员(比如在校计算机专业学生、其它领域的研究员)才会经常不断的写新程序,作业也好、课设也罢、或者研究过程需要临时编程演算什么的。这些不用形成正式产品,不用太考虑质量,也没有广泛的用户群体给予“测试”反馈,更不用考虑后期长期的面向甲方爸爸的维护。所以他们可以有恃无恐的写新程序。而真正的公司程序员,长远来算差不多三天写bug三十天修bug(自己或其他人的),这还算是不错的,有些人大部分时间都写不了什么新程序,一直在测bug修bug。
而且几乎没有程序员会追求程序一写出来就没有bug,因为有bug也没关系,只要再改就行(第二个技能正好)。而且任何程序都有它的运行场景和范围,范围内工作正常,没有客户抱怨,那基本就可以看做没有(紧急)bug,都可以从长计议。但是几乎所有程序员都会经常面临被紧急bug弄到焦头烂额的时候,当程序员被bug逼到茶不思饭不想疯狂掉头发的时候,你跟他说“兄弟,我这有颗药吃了就能立马发现bug,以后都不用愁修bug。” 那甭说免费了,折寿十年他也要(反正他这么熬下去也得折寿十几二十年,还没有什么前途,996.ICU可不是说着玩的)。
写程序会出错才有编程的乐趣,如果一写就对,写出来就不用改,那将失去编程甚至合作编程的大部分乐趣(况且刚写完就没问题心理不慌么~)。但是这并不会减少你的工作量,只会导致你需要写更多的代码,而代码,是永远写不完的!这个技能只适合一种人,那就是给自己打工的人。给自己打工的人的最大乐趣是用最少的人月,完成最多的有效产出,获得最大的收益。而代码一写就对,无疑是能让收益最大化的技能。但是这个技能并不能保证你成为一流程序员,因为它有两个大的漏洞,一个就是程序员不光自己写程序,程序员大部分时间需要审核或修改别人的程序,这时候第一个技能没用,除非你把别人的程序都重写一遍。另一个大漏洞就是你不一定有那个知识水平写出程序来。你都没能力写出程序来,谈会不会出错则完全没有意义。
反观100%发现并能定位bug,这个技能简直是打工人的利器。而且这个技能不完全受上面“漏洞”的限制,因为定位bug并不需要你对整段程序都有全面的理解和认识。比如有一个空指针访问的bug,你只需要定位是哪里产生了这个空指针就可以了,但是对于一个复杂程序来说,这有时是很难定位的。而你100%定位bug的技能就可以让你省去很多时间,你还可以自己选择什么时候说出来,先慎一段时间,然后经常在别人之前指出问题还可以让其它人对你肃然起敬,这技能简直收放自如,想装苦时可以装苦,想装B时可以装B。
写程序有bug是极其正常的事情,只要不是经常出特别严重的bug,则完全不用放在心上。而且你和别人产生的bug,还会成为后面程序员的performance来源,甚至营造更多的就业岗位!哈哈哈~而100%发现并定位bug的技能可以在自己给自己review代码时能马上定位自己代码的bug,更重要的是自己给别人review代码时也能马上精确的指出别人代码的bug,还能告诉他怎么改。这是高级程序员(上不封顶)最需要的技能了,各大项目的maintainer都会争先恐后的招揽你,而你则可以游刃有余的游走在各大项目中,享受各个公司给你开出的技术顾问的礼遇。
ps: 问题本身就有不少bug,大家不用过于纠结,这就是个娱乐性问题,一看一乐就好。毕竟程序员除了工作以外,调侃娱乐一下也是需要的嘛。如果对专业方面的内容感兴趣的朋友,可以翻看下面的README,看看有没有中意的。
当然是第二个了。。。
100% 不出错有什么用,还是 996 搬砖。
要是能修正自己或其他人的所有 Bug,你基本上是神。
你能打造技术层面上绝对安全的系统。
对安全敏感的行业龙头,只要请得起你的,都要请你过来看看。
退休了找一家财大气粗的当个顾问,有事没事地修几个可能造成亿万损失的 Bug 就好了。
以前是给我 10 亿美元,但会有一只蜗牛永远追杀你,问我干不干?
还有要我吃一小勺太阳会如何?
更有甚者,直接让我强化一亿倍,问我是什么概念?
我只想问这次的药丸是谁发?麻烦给我快递一下,谢谢
不出错≠能写出牛逼的代码
发现改bug就可以不用写代码了啊,改别人的代码就好了!
你自己写代码没bug用处不大。最多解决10%的问题。
大部分bug都出现在系统整合上(integration),最常见的是数据不匹配合约。
大白话讲就是你没bug, 别人写的代码有bug。以及你和别人的都没bug但合一起就有bug。
当然是第二个。
找出已有系统的问题,比写一个不出问题要值钱的多。因为你可以专门去找那种已经被证明很值钱的项目的bug。
这个技能还有一个更猛的地方就是,你找到bug以后未必要把它修好,至于不修好以后你打算怎么办,我就不好明说了。
这!难道是程序猿药丸 ( ̄◇ ̄;)
不不不,第二颗药丸药效太厉害了。
弱化一下:不用解决bug,只要100%定位bug,就已经保证一辈子不动代码还能吃香喝辣并且名正言顺当上业内知名的技术专家了。就像那个故事一样:9999美刀告诉你在哪画线,至于最后画线的1美刀,让别人挣去吧。
至于第一颗药丸?说破天了也就是个高级工程师。