然后可以列一个目录,我们可以看到和码农相关的知识类别还是很多的。很多年轻的朋友,一说起要学习。就是要学习golang,要学习网络知识。掌握底层技术栈的码农虽然仍然稀缺,但是这个问题领域的需求并不如过去那么旺盛了。不要把鸡蛋放到一个篮子里,综合性地建立自己地知识体系会对长远发展更有帮助。
解决机器的问题如何减少时间和空间复杂度:算法和数据结构如何用排序提高效率如何用哈希提高效率如何用算法保证分布式一致性如何利用好硬件:理解硬件CPU/GPU是如何应对内存延迟高随机读带宽小的问题的OoO: out of orderSIMDSIMTSMT如何让人类更好地在半自动化系统下工作:自动化如何让人类更好地影响自动化了的部分:发布变更如何让人类更好地收到反馈,分析处理灾难:监控告警解决人的问题解决分工问题:复杂度管理按结构分工按时序分工按层次分工按同时同地发生的不同特性来分工按计算的依赖层次分工:具体场景的,模板业务逻辑的,流程平台的,基础架构的解决个体开发的效率和质量问题:编码如何最大化对个体的反馈测试驱动开发日志可视化解决群体开发的效率和质量问题:测试如何让一群人获得整体的反馈解决按期交付问题:项目管理解决业务问题人工编码让一群人干好活:复杂度管理在这个业务场景下,如何分工才能最小化沟通如何才能理解业务之间的联系:沟通来自业务内在的耦合微服务领域驱动开发面向对象:单变量派发,多变量派发干好我的活:业务逻辑熟练的使用框架和库:踩在巨人的肩膀上,快速落地。要能快速学习新的语言和框架证明业务收益:效果评估,置信度找到业务价值:数据分析理解业务如何运作:业务流程的理解和建模软件可用性:如何让用户喜欢,高效。基本的交互设计能力视觉设计:至少得会画界面原型产品设计:竞品分析,市场研究机器学习提高业务得到的收益降低计算成本
复杂度管理部分,展开一下