【将来虫教育】合格的程序员是什么样的?
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">近期</span>同一<span style="color: black;">分部</span>另一个项目组的一位程序员被 “主动离职” 了,虽然我未曾与这个程序员共事过,<span style="color: black;">然则</span>听过一两次他的内部分享,感觉技术还是挺厉害的。后来与一个<span style="color: black;">信息</span>灵通的同事聊天,才<span style="color: black;">晓得</span>真正的<span style="color: black;">原由</span>是老大觉得 A 难以沟通,搞得其他程序、QA 都怨声载道。工作这些年,身边的好多同事来了又走了,主动或被动,这不禁让我思考什么样的程序员算得上合格的程序员。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="//q0.itc.cn/q_70/images01/20240427/11696826743c4b218ee7b8eab68d1cf1.png" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">虽然<span style="color: black;">大众</span>都自<span style="color: black;">叫作</span> “码农”、“IT 民工”,但我相信,这仅仅是自嘲<span style="color: black;">或</span>自黑,大<span style="color: black;">都数</span>程序员应该还是认可自己的这个职业的,当然,我算不上一个优秀的程序员,<span style="color: black;">由于</span>我都不曾在开源社区贡献过代码、<span style="color: black;">亦</span>不精通白板算法、对技术<span style="color: black;">亦</span>不狂热、不 geek。我的<span style="color: black;">目的</span>是做一个合格的程序员:把本职工作做好,对得起自己的薪水,在生活与工作平衡,996 什么的我是难以接受的。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">针对</span>程序员而言,技术过关当然是非常<span style="color: black;">要紧</span>的,这是硬实力。然而只会技术<span style="color: black;">亦</span>是不行的,毕竟大<span style="color: black;">都数</span>的程序员还是要与人打交道,软实力<span style="color: black;">亦</span>是不可或缺的。<span style="color: black;">怎么样</span><span style="color: black;">才可</span>算合格,我认为有以下几点:</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">1扎实的<span style="color: black;">基本</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">计算机<span style="color: black;">行业</span>是一个快速更新换代的<span style="color: black;">行业</span>,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并<span style="color: black;">无</span><span style="color: black;">那样</span>多新东西。<span style="color: black;">非常多</span>新东西只<span style="color: black;">不外</span>是已有技术的封装、<span style="color: black;">或</span>借鉴的其他<span style="color: black;">行业</span>的技术。<span style="color: black;">例如</span>缓存数据库 redis、memcached,其基本思想不<span style="color: black;">便是</span>操作系统中的缓存吗;分布式存储中的分片与复制集,不<span style="color: black;">便是</span>文件系统中 RAID 的扩展吗;还有 Google 的 MapReduce 框架,不<span style="color: black;">便是</span><span style="color: black;">源自</span>于函数式编程语言的 map reduce 吗。<span style="color: black;">把握</span>好计算机<span style="color: black;">基本</span>知识,能够更本质的看待新技术。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">2善用<span style="color: black;">工具</span></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">磨刀不误砍柴工,打造好自己的<span style="color: black;">工具</span>集非常<span style="color: black;">要紧</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">研发</span>中会用到<span style="color: black;">海量</span>的<span style="color: black;">工具</span>,不管是编辑器、调试<span style="color: black;">工具</span>还是监控<span style="color: black;">工具</span>。<span style="color: black;">大众</span>都<span style="color: black;">爱好</span>争论哪个 IDE 更好,然而这并<span style="color: black;">无</span>多大<span style="color: black;">道理</span>,关键在于能够<span style="color: black;">熟悉</span>的<span style="color: black;">运用</span>自己<span style="color: black;">爱好</span>的<span style="color: black;">工具</span>,<span style="color: black;">把握</span><span style="color: black;">各样</span>快捷键,高度自定义,<span style="color: black;">这般</span>能够大大<span style="color: black;">加强</span>工作效率。<span style="color: black;">况且</span><span style="color: black;">针对</span><span style="color: black;">平常</span>中重复的操作,最好脚本自动化。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">另一</span>,强调程序员<span style="color: black;">必须</span>的两个<span style="color: black;">工具</span>,那<span style="color: black;">便是</span>浏览器和 VPN。后者<span style="color: black;">大众</span>都懂的,不多说,<span style="color: black;">重点</span>是有了后者<span style="color: black;">才可</span>发挥浏览器的威力。浏览器<span style="color: black;">大众</span>天天都在用,<span style="color: black;">然则</span><span style="color: black;">怎样</span><span style="color: black;">有效</span>的<span style="color: black;">运用</span>,<span style="color: black;">例如</span>在指定网站搜索、<span style="color: black;">经过</span>标题、url 过滤、<span style="color: black;">选取</span>合适的关键字 还是值得<span style="color: black;">科研</span>一下,<span style="color: black;">针对</span>程序员,要<span style="color: black;">运用</span>好浏览器,那还得具备下一个能力:英语。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">3过得去的英语</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">不得不承认,在软件创新<span style="color: black;">行业</span>,国内还是落后于国外的,新的技术、一手的资料都是英文的。当新技术被广泛应用之前,<span style="color: black;">咱们</span>在百度搜到翻译要么是 machine translated,要么错误百出。看翻译的最大问题取决于翻译者本身的水平,即使翻译水平都很高,但同一个单次<span style="color: black;">常常</span>有<span style="color: black;">区别</span>的翻译,<span style="color: black;">引起</span>看<span style="color: black;">文案</span>的时候会有困惑,最好还是直接看英文原文。大<span style="color: black;">都数</span>原文,除去专业词汇、还是比较好理解的,<span style="color: black;">况且</span>,我<span style="color: black;">发掘</span><span style="color: black;">非常多</span>牛逼的项目,都有非常通俗易懂的文档。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">4良好的编码习惯</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">代码是写给<span style="color: black;">设备</span>执行的,<span style="color: black;">同期</span><span style="color: black;">亦</span>是给人阅读与<span style="color: black;">守护</span>的。<span style="color: black;">守护</span>者可能是别人、<span style="color: black;">亦</span>可能是几个月后的样子。良好的代码规范,必要的、清晰的注释<span style="color: black;">能够</span>让自己少被问候祖宗十八代。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">针对</span>代码风格,网上争议<span style="color: black;">亦</span><span style="color: black;">非常多</span>,最<span style="color: black;">要紧</span>的是保持项目内的统一。做为技术负责人,<span style="color: black;">必定</span>要在项目开启之初就顶号规范,当<span style="color: black;">海量</span>代码被堆出来之后就很难统一了,<span style="color: black;">而后</span>做好新人的 review。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">5保持学习</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">程序员这个职业,相比其他职业,可能还是要<span style="color: black;">青年</span>许多。<span style="color: black;">尤其</span>是在国内,最老的一批程序员好多都转管理了,再过 10 年 20 年,<span style="color: black;">咱们</span>会怎么样呢,没人<span style="color: black;">晓得</span>。前段时间华为 35 岁程序员被离职的事情,给<span style="color: black;">咱们</span>敲响了警钟,悲哀之余,<span style="color: black;">仅有</span>尽力学习了,拼<span style="color: black;">不外</span>体力就拼能力与经验吧</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="//q7.itc.cn/images01/20240427/bc36a9c276b94e1989595a1b24ea92b6.jpeg" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">学习这个事情说起来就<span style="color: black;">繁杂</span>了,我觉得两点很<span style="color: black;">要紧</span>:<span style="color: black;">基本</span>、学<span style="color: black;">导致</span>用。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">6独立思考</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">合格的程序员<span style="color: black;">处理</span>的是问题,而不是实现某个<span style="color: black;">处理</span><span style="color: black;">方法</span>。<span style="color: black;">制品</span>经理(<span style="color: black;">尤其</span>是<span style="color: black;">晓得</span>一点技术的<span style="color: black;">制品</span>经理)的某个需求可能只是某个问题的<span style="color: black;">处理</span><span style="color: black;">方法</span>,他认为这个<span style="color: black;">办法</span><span style="color: black;">能够</span><span style="color: black;">处理</span>他的问题,于是把<span style="color: black;">处理</span><span style="color: black;">方法</span>当<span style="color: black;">成为了</span>需求,而不是真正的问题。程序员应该主动沟通,多问几个<span style="color: black;">为何</span>,<span style="color: black;">认识</span>真正的问题,<span style="color: black;">亦</span>许能有更好的<span style="color: black;">处理</span><span style="color: black;">方法</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">之前就有这么个例子,给到的需求:为每一个用户(用户有<span style="color: black;">独一</span>的 id 标示)生成一个<span style="color: black;">独一</span>的邀请码,<span style="color: black;">同期</span><span style="color: black;">亦</span>要为<span style="color: black;">将来</span>一段时间可能<span style="color: black;">增多</span>的用户预生成邀请码,<span style="color: black;">保留</span>到数据库。而真正的需求是老用户分享自己的邀请码,<span style="color: black;">倘若</span>新用户<span style="color: black;">运用</span>了该邀请码,则老用户<span style="color: black;">得到</span>相应奖励。而我提出的<span style="color: black;">方法</span>很简单,直接用户的<span style="color: black;">独一</span> id 生成可逆的邀请码,<span style="color: black;">这般</span>就<span style="color: black;">基本</span><span style="color: black;">没</span><span style="color: black;">没</span>需数据库存储。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">制品</span>经理经常改需求这是程序员最头疼的事情,<span style="color: black;">做为</span>程序员应该<span style="color: black;">亦</span>站在 PM 的<span style="color: black;">方向</span>思考,<span style="color: black;">帮忙</span> PM 分析出本质的需求,这<span style="color: black;">亦</span>许<span style="color: black;">能够</span>减少需求的变更。当然,前提是得干一行爱一行,<span style="color: black;">必须</span>对业务有<span style="color: black;">必定</span>的<span style="color: black;">认识</span>。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">7先思考后行动</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="//q5.itc.cn/images01/20240427/cfca48af19704fd4b489d25f4274caf6.jpeg" style="width: 50%; margin-bottom: 20px;"></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">写代码的时候先想清楚了再下笔,而不是先写出一堆代码,<span style="color: black;">而后</span>在<span style="color: black;">起始</span>修 bug。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">修 bug 的时候,多<span style="color: black;">瞧瞧</span>上下文,搞明白<span style="color: black;">为何</span>出 bug,修改这个 bug 可能带来的影响,<span style="color: black;">而后</span>再修改。反面教材有两种:<span style="color: black;">第1</span>种随便改改就把代码改好了,但自己心里并不清楚<span style="color: black;">为何</span><span style="color: black;">这般</span>修改就修好了,撞运气,<span style="color: black;">亦</span>许还有其他<span style="color: black;">一样</span>的 bug <span style="color: black;">亦</span><span style="color: black;">发掘</span>不了。另一种<span style="color: black;">便是</span>,头痛医头脚痛医脚,不仔细<span style="color: black;">评定</span>修改的影响,<span style="color: black;">这般</span><span style="color: black;">常常</span>会引入新的问题。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">程序员成长的一个办法<span style="color: black;">便是</span>修 bug,修别人用不了的 bug,但前提是搞清楚 bug 的缘由,<span style="color: black;">这般</span><span style="color: black;">才可</span>避免类似的错误,有所收获。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">8顺畅沟通</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">不是巧如舌簧、<span style="color: black;">亦</span>不是忽悠达人。<span style="color: black;">必须</span>的只是耐心倾听,<span style="color: black;">而后</span>清晰表达自己的意见。</p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">此刻</span>的软件<span style="color: black;">研发</span>,<span style="color: black;">已然</span><span style="color: black;">再也不</span>是单打独斗的年代,大<span style="color: black;">都数</span>的软件、<span style="color: black;">制品</span>都<span style="color: black;">必须</span>多人、多<span style="color: black;">分部</span>的协作。而交流、沟通是非常耗时耗力的。沟通之前,先想好<span style="color: black;">目的</span>,组织好语言,<span style="color: black;">尽可能</span>不要发散、不要跑题,对事不对人。<span style="color: black;">针对</span><span style="color: black;">要紧</span>的事情,<span style="color: black;">保存</span>沟通记录,最好有邮件,免得说不清。<a style="color: black;"><span style="color: black;">返回<span style="color: black;">外链论坛:www.fok120.com</span>,查看<span style="color: black;">更加多</span></span></a></p>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">责任编辑:网友投稿</span></p>
交流如星光璀璨,点亮思想夜空。 大势所趋,用于讽刺一些制作目的就是为了跟风玩梗,博取眼球的作品。 你的见解真是独到,让我受益良多。 谷歌网站排名优化 http://www.fok120.com/ 你字句如珍珠,我珍藏这份情。 谷歌网站排名优化 http://www.fok120.com/ 感谢您的精彩评论,为我带来了新的思考角度。 感谢您的精彩评论,为我带来了新的思考角度。
页:
[1]