外链论坛

 找回密码
 立即注册
搜索
查看: 12|回复: 0

【将来虫教育】合格的程序员是什么样的?

[复制链接]

1336

主题

0

回帖

9912万

积分

论坛元老

Rank: 8Rank: 8

积分
99125666
发表于 2024-7-10 23:06:27 | 显示全部楼层 |阅读模式

近期同一分部另一个项目组的一位程序员被 “主动离职” 了,虽然我未曾与这个程序员共事过,然则听过一两次他的内部分享,感觉技术还是挺厉害的。后来与一个信息灵通的同事聊天,才晓得真正的原由是老大觉得 A 难以沟通,搞得其他程序、QA 都怨声载道。工作这些年,身边的好多同事来了又走了,主动或被动,这不禁让我思考什么样的程序员算得上合格的程序员。

虽然大众都自叫作 “码农”、“IT 民工”,但我相信,这仅仅是自嘲自黑,大都数程序员应该还是认可自己的这个职业的,当然,我算不上一个优秀的程序员,由于我都不曾在开源社区贡献过代码、不精通白板算法、对技术不狂热、不 geek。我的目的是做一个合格的程序员:把本职工作做好,对得起自己的薪水,在生活与工作平衡,996 什么的我是难以接受的。

针对程序员而言,技术过关当然是非常要紧的,这是硬实力。然而只会技术是不行的,毕竟大都数的程序员还是要与人打交道,软实力是不可或缺的。怎么样才可算合格,我认为有以下几点:

1扎实的基本

计算机行业是一个快速更新换代的行业,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并那样多新东西。非常多新东西只不外是已有技术的封装、借鉴的其他行业的技术。例如缓存数据库 redis、memcached,其基本思想不便是操作系统中的缓存吗;分布式存储中的分片与复制集,不便是文件系统中 RAID 的扩展吗;还有 Google 的 MapReduce 框架,不便是源自于函数式编程语言的 map reduce 吗。把握好计算机基本知识,能够更本质的看待新技术。

2善用工具

磨刀不误砍柴工,打造好自己的工具集非常要紧

研发中会用到海量工具,不管是编辑器、调试工具还是监控工具大众爱好争论哪个 IDE 更好,然而这并多大道理,关键在于能够熟悉运用自己爱好工具把握各样快捷键,高度自定义,这般能够大大加强工作效率。况且针对平常中重复的操作,最好脚本自动化。

另一,强调程序员必须的两个工具,那便是浏览器和 VPN。后者大众都懂的,不多说,重点是有了后者才可发挥浏览器的威力。浏览器大众天天都在用,然则怎样有效运用例如在指定网站搜索、经过标题、url 过滤、选取合适的关键字 还是值得科研一下,针对程序员,要运用好浏览器,那还得具备下一个能力:英语。

3过得去的英语

不得不承认,在软件创新行业,国内还是落后于国外的,新的技术、一手的资料都是英文的。当新技术被广泛应用之前,咱们在百度搜到翻译要么是 machine translated,要么错误百出。看翻译的最大问题取决于翻译者本身的水平,即使翻译水平都很高,但同一个单次常常区别的翻译,引起文案的时候会有困惑,最好还是直接看英文原文。大都数原文,除去专业词汇、还是比较好理解的,况且,我发掘非常多牛逼的项目,都有非常通俗易懂的文档。

4良好的编码习惯

代码是写给设备执行的,同期是给人阅读与守护的。守护者可能是别人、可能是几个月后的样子。良好的代码规范,必要的、清晰的注释能够让自己少被问候祖宗十八代。

针对代码风格,网上争议非常多,最要紧的是保持项目内的统一。做为技术负责人,必定要在项目开启之初就顶号规范,当海量代码被堆出来之后就很难统一了,而后做好新人的 review。

5保持学习

程序员这个职业,相比其他职业,可能还是要青年许多。尤其是在国内,最老的一批程序员好多都转管理了,再过 10 年 20 年,咱们会怎么样呢,没人晓得。前段时间华为 35 岁程序员被离职的事情,给咱们敲响了警钟,悲哀之余,仅有尽力学习了,拼不外体力就拼能力与经验吧

学习这个事情说起来就繁杂了,我觉得两点很要紧基本、学导致用。

6独立思考

合格的程序员处理的是问题,而不是实现某个处理方法制品经理(尤其晓得一点技术的制品经理)的某个需求可能只是某个问题的处理方法,他认为这个办法能够处理他的问题,于是把处理方法成为了需求,而不是真正的问题。程序员应该主动沟通,多问几个为何认识真正的问题,许能有更好的处理方法

之前就有这么个例子,给到的需求:为每一个用户(用户有独一的 id 标示)生成一个独一的邀请码,同期要为将来一段时间可能增多的用户预生成邀请码,保留到数据库。而真正的需求是老用户分享自己的邀请码,倘若新用户运用了该邀请码,则老用户得到相应奖励。而我提出的方法很简单,直接用户的独一 id 生成可逆的邀请码,这般基本需数据库存储。

制品经理经常改需求这是程序员最头疼的事情,做为程序员应该站在 PM 的方向思考,帮忙 PM 分析出本质的需求,这能够减少需求的变更。当然,前提是得干一行爱一行,必须对业务有必定认识

7先思考后行动

写代码的时候先想清楚了再下笔,而不是先写出一堆代码,而后起始修 bug。

修 bug 的时候,多瞧瞧上下文,搞明白为何出 bug,修改这个 bug 可能带来的影响,而后再修改。反面教材有两种:第1种随便改改就把代码改好了,但自己心里并不清楚为何这般修改就修好了,撞运气,许还有其他一样的 bug 发掘不了。另一种便是,头痛医头脚痛医脚,不仔细评定修改的影响,这般常常会引入新的问题。

程序员成长的一个办法便是修 bug,修别人用不了的 bug,但前提是搞清楚 bug 的缘由,这般才可避免类似的错误,有所收获。

8顺畅沟通

不是巧如舌簧、不是忽悠达人。必须的只是耐心倾听,而后清晰表达自己的意见。

此刻的软件研发已然再也不是单打独斗的年代,大都数的软件、制品必须多人、多分部的协作。而交流、沟通是非常耗时耗力的。沟通之前,先想好目的,组织好语言,尽可能不要发散、不要跑题,对事不对人。针对要紧的事情,保存沟通记录,最好有邮件,免得说不清。返回外链论坛:www.fok120.com,查看更加多

责任编辑:网友投稿

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-7-29 13:20 , Processed in 0.247244 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.