CTO丢给我《技术人员发展十二条建议》

简介: CTO丢给我《技术人员发展十二条建议》

作者简介:老G先生,16年IT研发及管理经验,曾在通信大厂、沪上知名电商工作。


《技术人员发展十二条建议》


1、 关于迷信。不要迷信于造轮子来提升自己的实力,满足业务是第一位的。也接受反驳,研读源码、给开源贡献代码、甚至是放弃已知轮子,要造一个。但要问你的初心,你是为业务上线所必须,还是为了自己玩技术。再问项目时间要求,有没有时间和能力打磨好。


2、做好交付。发布频度不是越高越好,这背后是ROI。不同业态涉及到安全性、稳定性、需求的变化不一样,要量体裁衣。但快速交付基本上是大家的共识了。


3、练好基本功。熊节老师曰过:

软件做不好,就是因为不知道怎么开发。没有基本功,什么花哨的套路都玩不了,玩到最后你都会面临同样的一个问题:我今天在这儿改一行代码,我怎么知道改完以后整个系统到底是不是好的?怎么回答这个问题,是决定性的分水岭。如果你没有一套完备、可靠、快速的测试集。

4、系统学习。原理性的东西过时很难,比如网络协议。对于知识付费,少一点碎片学习,多一点系统学习,读经典。


5、刻意练习,不用10000小时,把SNS的基本功能练习了,可能对于并发、缓存、数据库索引就有所掌握;Kent Beck 的《测试驱动开发多少人run过程序?IM尝试写一个可以跑的程序,又能积累一些网络应用编程的经验。还是熊节老师说的,全靠同行衬托。


6、调查能力。余晟老师在“每七人中已有一人获得免疫能力” 一文综合了德国政府的各路报道,从信源角度就非其他人可比。余老师还谈到

如果你真的关心2019n-CoV,一定不要过多关注各种所谓自媒体的文章。这些文章大部分都没有调查能力,只能凑字数。无论引起盲目乐观还是盲目恐慌,都不是好事。今天我介绍一些国际接力合作的资源,希望对你有用。

GISAID + github + Nextstrain,对抗疫情的国际接力

调查能力,对于新闻记者很重要,对于律师很重要,对于警探很重要,对于程序员同等重要。


7、少一些无用争论,如果争论是为了说服不相干的人。


8、提升工作效率以按时合格产出为荣。多思考相同的问题,能不能提升解决问题的效率,比如你接1个渠道跟接100个渠道不应该还是同等的工作量。微服务、中台、很多“大词”最终都要会到效率问题上。


9、工程师不等于只写代码经常听说一些言论,工程师木讷寡言,不擅长和人打交道。有时候不是是否擅长的问题,是能不能的问题?尺有所长,寸有所短。人有长板短板,但这是基于短板及格(不影响拿到基本结果)的基础上的。要不要和产品去讨论需求,要不要感知客户现场作业?要不要了解需求背后的“需求”?写的代码是否可用?交付的完成定义是哪些?要不要去收集用户使用的情况?


10、处处留心 每踩一个坑可以帮助个人成长,但成长得比较快的程序员能从别人踩坑中汲取到经验。电商公司的磊哥是一个BG的总架构师,他分享成长秘诀之一就是总是把最难的问题留给自己;而小罗却是另外一类典型。BOSS之前有一个判断,小罗在悟性上明显低于吕布,但小罗会下笨功夫。他经常去研读其它系统的代码,尽管这些系统和当下做的事情无关。3年下来,他是那个一级域大约50几个系统最熟悉全局的人。


11、当日事当日毕支持晨会和周会制度,通过晨会了解相关协作者的进展,减少点对点沟通。通过周会了解项目进展和风险,更快获得信息,并反馈。


12、总结原则、实践、规律设计模式、架构模式不外乎涉及到高内聚/低耦合,抽象/平台/扩展设计,SOLID原则;采用简单的方案解决技术问题,不炫技,直到问题变复杂,不做过度设计;对于不了解的东西,做好POC 验证。凡事有利或有弊(成本),识别问题,综合判断。


相关文章
蓝桥杯之单片机学习(十八)——555定时器与频率测量
蓝桥杯之单片机学习(十八)——555定时器与频率测量
1505 0
蓝桥杯之单片机学习(十八)——555定时器与频率测量
|
小程序 前端开发 JavaScript
node使用nodemailer在本地可以正常发送邮件,放服务器后无法发送报错
node使用nodemailer在本地可以正常发送邮件,放服务器后无法发送报错
236 0
|
安全 Java 应用服务中间件
避免Tomcat调试信息泄露的最佳实践
小米分享了团队解决网站敏感信息泄露问题的经历。在处理运行时错误时,Tomcat显示的调试信息可能泄露。尝试过使用Spring Boot的`ErrorAttributes`接口和修改Tomcat默认错误页面均未成功。最终,他们通过自定义错误页面并配置`application.yml`来隐藏敏感信息,成功解决了问题。这个方法推荐给其他开发者作为避免调试信息泄露的安全实践。
203 3
避免Tomcat调试信息泄露的最佳实践
|
Web App开发 JavaScript 前端开发
使用 JS 实现在浏览器控制台打印图片 console.image()
在前端开发过程中,调试的时候,我们会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。 虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个 console.image() 呢?
414 1
使用 JS 实现在浏览器控制台打印图片 console.image()
|
SQL NoSQL Java
如何在Java项目中实现分布式锁
如何在Java项目中实现分布式锁
|
人工智能 开发框架 自然语言处理
取人类与大模型之长,人机协作式智能软件开发框架AgileGen来了
AgileGen是一种结合敏捷方法与AI的智能软件开发框架,旨在解决用户需求不全面和语义一致性问题。它使用Gherkin语言确保需求和代码的一致性,并引入人类与AI合作模式,让AI处理重复任务,人类专注于创造性决策。AgileGen还通过记忆池机制提升新用户的熟悉度和减少错误。实验表明,AgileGen提高了16.4%的开发效率和用户满意度。然而,它依赖用户清晰表达需求,并涉及隐私和数据安全挑战。论文链接:https://arxiv.org/abs/2407.15568
282 21
|
Java Spring
No qualifying bean of type 'XXXXX' available
该文档描述了Spring框架中`org.springframework.beans.factory.NoSuchBeanDefinitionException`异常的处理方法,该异常是因为无法找到类型为`com.weblog.auth.mapper.UserMapper`的bean导致。解决办法包括在对应的Mapper上添加`@Mapper`注解,并在启动类上添加`@MapperScan`注解以扫描包含Mapper接口的文件夹。
1260 8
|
缓存 开发工具 git
pip常用命令和一些坑
pip常用命令和一些坑
346 0
|
Java
零基础配置jdk1.8和jdk17(傻瓜式教程)
零基础配置jdk1.8和jdk17(傻瓜式教程)
3669 7
零基础配置jdk1.8和jdk17(傻瓜式教程)
|
Nacos Docker 容器
基于Docker搭建Nacos高可用集群
基于Docker搭建Nacos高可用集群
1610 0