03 | 初程:带上一份技能地图
胡峰
该思维导图由 AI 生成,仅供参考
程序世界是一片广阔的大地,相比我十多年前进入这个世界时,这片大地的边界又扩大了很多倍。初入程序世界难免迷茫,要在这个世界立足、生存,并得到很好的发展,应首要具备怎样的技能呢?未来的程序之路,先给自己准备一份基本的技能地图,先有图,再上路。
在程序的技能地图中,需要先开启和点亮哪些部分呢?回顾我过去的经历并结合现实的需要,可以从如下两个不同程度的维度来说明:
掌握
了解
掌握,意味着是一开始就要求熟练掌握的硬技能,这是生存之本。而至于掌握的深度,是动态的,倒是可以在行进过程中不断去迭代加深。了解,相对掌握不是必需,但也需要达到知其然的程度,甚至知其所以然更好。
一、掌握
上路之初,需要掌握的核心生存技能有哪些呢?
1. 开发平台
开发平台,它包括一种编程语言、附带的平台生态及相关的技术。在如今这个专业化分工越来越细的时代,开发平台决定了你会成为什么类型和方向的程序员。比如:服务端、客户端或前端开发等。其中进一步细分客户端还可以有 Windows、Mac、iOS 和 Android 等不同的平台。
编程语言
语言的选择基本决定了开发平台的性质,但有些语言可能例外,如:C++、JS、C# 等,这些语言都可以跨多个平台。但即使你选的是这些语言,基本也会归属到某一类平台上。好比你选了 C++,如果你去做了客户端开发,就很少可能再去用 C++ 写服务端程序了。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
程序员的基础技能图中,源码管理是至关重要的一环。文章强调了对Git的了解和运用,以及源码管理的基本诉求:并行开发、协作编写和版本切换。作者总结了技能图的红色区域需要深度掌握,蓝色区域需要广度了解。这张技能图是程序员在广阔的程序世界中立足、生存和发展的基本技能地图,为程序员未来的发展奠定基础。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《程序员进阶攻略》,新⼈⾸单¥68
《程序员进阶攻略》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(33)
- 最新
- 精选
- third看着地图很安心,感谢老师的分享 有一个小想法 即使疯狂努力,也并不是每个人都有机会成为顶级程序员, 在文章中看到了许多生态字眼,经常被提到的可读和健壮。我个人的理解和感受是,随着计算机发展,趋势是越来越强调协作。 据说程序员内向居多(不知道是不是真的,求证一下老师) 那么擅长于沟通和协作,技术能力在上流水平,是不是也是一条程序员成长可选择之路呢?
作者回复: 我感觉擅长沟通的并不多,沟通协作和技术都在上流水平的,这是稀缺人才,这是很好的路线
2018-08-08220 - AdmaBoy老师,最近感觉到很迷惘,本人已经26了,在银行从事后台工作,主要语言C语言,跟接近底层开发,不能说精通但应该说熟练吧,数据结构和算法能用C手写,熟悉网络编程,但我感觉C想出来的范围限制的很死,想要从事互联网行业,但感觉互联网行业基本木有用C进行开发的,就像你说的得等你语言融会贯通的时候,才能说语言只是工具。如果从事网络开发,要求会涉及到更低层的2,3协议开发,这个要求就高了。如果我出去找互联网工作,我觉得能找到,但薪资可能还达不到现在的薪资(税前30w),但是如果继续呆在这里的话,感觉以后差不多就这样了,很矛盾。感觉就像围城一样,里面的人想出去,外面的人想进来。希望老师解惑一下。
作者回复: 如果是我,我会在业务上多上心积累一些;技术上参考同业其他用的什么技术栈,可以先扩展一下。金融科技行业很有潜力啊,也很互联网啊,找到你的独特优势去发展路线,做业务开发纯技术路线,天花板太低
2018-08-1410 - monkeyking老师,工作中用到的技术想要精通它,但是要做到精通它的话就要去搞懂其他底层技术,但底层技术平常工作用不到,所以我要不要下班后花精力去研究这些底层技术,然后去达到我想要精通某项技术的目的
作者回复: 通常你只需要往下深一层基本足够,比如做Java应用开发,往下深一层就是JVM的原理。而不用一直深到操作系统内部去,大概有个框架性的理解就够了。毕竟不是直接依赖和需要应用的
2018-08-109 - 爪哇夜未眠这些技能具体怎么学习掌握,老师有推荐吗
作者回复: 一般都在实践中学,辅以书本课程吧
2018-08-089 - 山上有只马最后一张图,干货,正是我需要的。 编程的路上有很多知识,虽然我知道哪些为主,哪些为辅。但是,我始终看得不清晰。现在清晰了
作者回复: 😊
2018-08-105 - 很大气最后一句,感觉很心安。努力,才是开始而已。
作者回复: 恩,才开始
2018-08-085 - monkeyking工作中实际用到的技术与想学的技术有冲突,该怎么分配精力啊?
作者回复: 除非实际中用到的技术是历史遗留产物,否则没必要分散精力,技术没有实践的应用环境,单纯学起来也会事倍功半
2018-08-104 - hinzer按照10000小时定律,如果每天8个小时计算,每周有效时间40小时,需要250周,算下来竟然需要5年左右的时间
作者回复: 是的,大部分人成长为专业且熟练的工程师需要这么久
2020-01-013 - wanums老师好,平台生态都包括哪些内容?
作者回复: 我觉得这个问题需要你自己去搞清楚呀?你属于哪个开发平台,有些什么库,框架,解决方案,软件系统等等
2018-08-143 - AT老师,我现在在做wince系统和Android系统开发,但发现涉及的知识太广泛,感觉无从下手,需工作三年有余,但扪心自问,感觉自己好像什么都没积累到什么知识,更像是在虚度光阴,有时在想叫我换个公司都没信心去换。
作者回复: 以客户端开发和操作系统为骨干去连接聚拢你的广泛知识
2018-08-093
收起评论