程序员成长体会,专业练级书籍推荐[整理中]

接触过一些非专业的同学转行到程序员这个行业的,动手能力和代码能力都很强,但是底层知识的逻辑总会稍显欠缺,我也是在想这个问题,到底缺少的是什么?专业论坛也是对从培训班出来的同学,带着各种有色眼镜,原因是什么?先看看大学软件工程类专业必修的专业课程:计算机组成原理、程序设计语言、计算机多媒体编程、计算机网络、数据结构、操作系统、编译原理、数据库、软件工程、统一建模语言、软件体系结构...;这些专业书籍摞起来,你觉得全部看完一遍需要多少时间,专业的同学花了超过3年时间才全部修完这些,所以非专业的同学转行程序员,我觉得需要慎重考虑,包括你后续在这个行业的竞争力,以及后续的职业发展。


专业的同学在修完上述的课程后,如何快速的转变为职场大拿,则需要逐层构建能力,我理解至少经过两个层次;

第一层次:学习使用某个系统API、三方SDK库的API、遵循某个协议开发一个小型业务应用(比方应用开发工程师岗位职责,如Android、iOS、Windows等平台应用开发工程师,或者是Java后台开发工程师、C++开发工程师等等);

第二层次:培养业务系统架构、设计能力,涉及综合各个业务系统的API,接口,完成一个大型业务系统(比方系统开发工程师岗位职责,如嵌入式系统开发工程师,音视频开发工程师,游戏开发工程师等等); 


更高阶的层次则需要自己的摸索,比方达到类似左耳朵耗子陈皓老师这种高级别的,路也就走出来了;结合马斯洛的需求理论,到第二层次的同学或许有更多被尊重,被认可的需求,甚至是开始追求自我实现了!

 

呱牛笔记

将收藏的书目分享出来,既读专业书,也要善于读paper或者rfc标准;


程序员的修养类:

《重构:改善既有代码的设计》

《修改代码的艺术》

《代码整洁之道》

《程序员的职业素养》 


编程语言与设计模式类:

《代码大全》 

《设计模式,可复用面向对象软件的基础》

《大话设计模式》

《HeadFirst设计模式》


Java通用类:

《Head First Java》、《Java 核心技术卷》

《Java编程思想》、《Effective Java》、《Java网络编程》、《代码整洁之道》

《Java并发编程》、《深入理解Java虚拟机》、《Java性能权威指南》、《深入理解java虚拟机》


数据结构和算法类:

《算法》作者: Robert Sedgewick / Kevin Wayne

《算法图解》 作者: [美] Aditya Bhargava

《算法导论(原书第3版)》

《算法之美》

《编程珠玑》

《数据结构与算法分析》


操作系统与编译原理类:

《鸟哥的Linux私房菜》

《现代操作系统(第3版)》

《计算机程序的构造和解释》

《编译原理》

《深入理解计算机系统(原书第2版)》 

《Linux内核代码规范》

《Linux内核设计与实现》

《深入理解Linux内核》


网络编程类:

《计算机网络》

《TCP/IP详解(卷一)》

《TCP/IP Sockets编程》

《Linux高性能服务器编程》

Http官方文档


数据库设计:

《MySql必知必会》

《数据库系统概念》


其他类: 

《Google 软件测试之道》

《领域驱动设计》

《UNIX编程艺术》

《Clean Architecture》 


Java后台开发类: 

《Spring实战》

《Spring Boot 实战》    

《精通 Spring 4.X》


Android开发类:

《第一行代码》

《疯狂Android讲义 》李刚 著

《Android4高级编程》

《Android编程权威指南》

《App研发录》

《Android群英传》

《Android C++高级编程:使用NDK》

《深入理解Android》

《Android开发艺术探索》

《Android系统源代码情景分析》

《实战Gradle》

《高性能Android应用开发》

《Android移动性能实战》

《Kotlin程序开发入门精要》

《Android应用性能优化最佳实践》

《腾讯Android自动化测试实战》


Web前端:

《Head First HTML与CSS(第2版)》

《CSS权威指南(第三版)》

《ES6标准入门(第3版)》

《锋利的jQuery(第2版)》

《JavaScript DOM编程艺术 (第2版)》

《JavaScript高级程序设计(第3版) 红皮书 》

《JavaScript权威指南(第6版)》 犀牛书

《深入浅出Node.js》

《JavaScript设计模式》

《Vue.js权威指南》

《React全栈:Redux+Flux+webpack+Babel整合开发》

《揭秘Angular 2 从入门进阶到实战》

《你不知道的JavaScript(上中下卷) 》

《HTML5与CSS 3权威指南(上下册)》


iOS开发类:

《Objective-C基础教程》

《iOS开发进阶(唐巧)》

《Objective-C 高级编程:iOS与OS X多线程和内存管理》

《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》

《The Swift Programming Language》

《Xcode江湖录》

《iOS应用逆向工程》

《iOS应用安全攻防实战》

《Swifter - 100 个 Swift 必备 tips》

《精通iOS开发》

斯坦福大学公开课CS193P《iOS7应用开发》(Objective-C语言)

斯坦福大学公开课CS193P《iOS8开发 》(Swift语言)


C/C++类:

C语言入门推荐:《C primer plus》 、《C程序设计语言》

《C专家编程》

《Essential C++》

《C++ Primer》

《Effective C++》

《C++编程思想》

《More effective C++》

《C++语言的设计与演化》

《深度探索C++模型》

《Modern C++ design(现代C++设计)》

《C++ 标准程序库》《Inside the C++ object model(深度探索C++对象模型)》

《高质量程序设计指南.C.C语言》


STL类:

《泛型编程与STL》

《STL源码剖析》


看了很多篇知识付费被收智商税的逻辑,你还花钱买网络课吗?互联网提供了丰富的资源,网易公开课,慕课网,专业的知识学习建议还是从基础、专业的开始,比方极客时间的课程,主题内容偏碎片化,缺少系统性的知识,需要挑选其中对你有帮助的精华,有目标的学习;读专业的书,吃苦不吃亏!

呱牛笔记

本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com

请先登录后发表评论
  • 最新评论
  • 总共0条评论