在准备面试的过程中,突然想到一个问题:面试这个岗位的人那么多,和其他人相比,你的优势在什么地方,公司为什么要录用你?
在技术水平相当的情况下,很难取舍到底要录用哪个人,这时候个人核心竞争力就发挥作用了。

什么是核心竞争力?核心竞争力就是我们每个人身上,区别于别人的独特“优点”,比如超牛的研发能力、超强的管理能力
、熟练的人际关系处理能力等等,这些就属于一个人的“核心竞争力”。

在工作的这几年中,积累了不少优秀的习惯,这就是我的核心竞争力。下面一一列出来:

  • 万丈高楼平地起

    想要成为优秀的程序员,必须具备扎实的计算机基础。基础是最硬核最干的,基础好的人触类旁通,学什么都快。比如,之前遇到过浮点数比较相等不准确,想起来是因为浮点数是用符号位、阶码和尾数的方式表示,它本身就是不精确的,比较相等自然不精确。

  • 磨刀不误砍柴工

    熟练的手头工具:adb 命令、Linux 命令、Git 命令、IDE 快捷键等等,就像工匠的工具箱。追求高效的程序员都会熟练使用它们,来提升自己的开发效率。在开发中我经常使用终端命令,相比带 GUI 的操作界面,我觉得终端更加 Geek。

  • 无规矩不成方圆

    内部研发规范有利于降低沟通成本、提升工程质量,包括代码规范、发版规范等。目前公司的研发规范都是由我发起,然后推广到整个部门,规范后研发效能有了很大的提升。另外,积极借鉴外面大厂的经验,比如阿里巴巴的 Java/Android 开发规范。

  • 重复工作,事不过三

    重复三次以上的无脑劳动尽可能用脚本工具解决,把时间投入到更有价值的事情上,不会“偷懒”的程序员不是好程序员。比如,每次更新动态库,都要进行大量的文件替换,还有打包上传远端仓库,我写了一个 shell 脚本,把要执行的流程代码化,化繁为简。

  • 知其然,知其所以然

    对于被安排的工作,刨根问底清楚为什么要这么做,后面才是怎么做,不做没有思考能力的执行者。比如,产品经理曾提过在绿幕抠像功能页面加个调色板和取色器,我建议二选一,两个功能一起上一方面是增加使用的复杂度,另一方面是增加开发成本。

  • 技术沉淀,知识共享

    在技术研发的过程中,总会遇到很多问题,我一般会以文档的方式记录,然后分享到部门内部,避免大家再次踩坑。除此之外,我也会经常更新自己的博客,形成自己的技术方法论。持续不断地学习技术,记录学习的内容和所思所想,这或许能帮到后来者。

  • 热爱编程,兴趣使然

    因为热爱计算机,大学报了计算机专业,虽然中间有曲折,但最终还是走上了编程的道路。大学期间做过不少项目,从前端后端到移动端,接触过不少技术栈。可惜大方向没有把握好,忽略了职业规划,后来走了不少弯路。工作后积极提升技术能力,阅读过很多专业书籍,在这篇文章 《给程序员的推荐书单》 中聊过。

  • 沉稳干练,做事靠谱

    别人交代的事情,尽我所能,竭力完成。在入职第一年的年终总结会上,Tech Leader 对我的评价只有两个字:靠谱。我想这是对我最好的肯定,也是优秀的职业程序员应该做到的。所谓靠谱,就是凡事有交代,件件有着落,事事有回音。

  • 勤奋刻苦,踏实肯干

    这是骨子里的东西,我从小在农村长大,经历了不少艰难的日子,却从来不向生活低头。工作这几年,早上我是最早到公司的员工,几乎天天如此,晚上和同事一块下班。早到公司,每天就比别人多出来一个多小时,可以用来规划当天的工作、浏览技术文章等。

  • 没有最好,只有更好

    我承认自己有点代码洁癖,总想把代码写成诗一样。在闲暇之余,会组织代码重构,总是想把作品打磨得尽善尽美。然而,需求总是变化莫测,架构也随之不断迭代,完美的终点并不存在。其实为人也是这样,都想越来越好。

这些都是我的肺腑之言,总结了职业上的行为习惯和价值观,我热爱这份职业,希望这条路走得远一些。