接触过一些非专业的同学转行到程序员这个行业的,动手能力和代码能力都很强,但是底层知识的逻辑总会稍显欠缺,我也是在想这个问题,到底缺少的是什么?专业论坛也是对从培训班出来的同学,带着各种有色眼镜,原因是什么?先看看大学软件工程类专业必修的专业课程:计算机组成原理、程序设计语言、计算机多媒体编程、计算机网络、数据结构、操作系统、编译原理、数据库、软件工程、统一建模语言、软件体系结构...;这些专业书籍摞起来,你觉得全部看完一遍需要多少时间,专业的同学花了超过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源码剖析》
看了很多篇知识付费被收智商税的逻辑,你还花钱买网络课吗?互联网提供了丰富的资源,网易公开课,慕课网,专业的知识学习建议还是从基础、专业的开始,比方极客时间的课程,主题内容偏碎片化,缺少系统性的知识,需要挑选其中对你有帮助的精华,有目标的学习;读专业的书,吃苦不吃亏!
-------------------广告线---------------
项目、合作,欢迎勾搭,邮箱:promall@qq.com
本文为呱牛笔记原创文章,转载无需和我联系,但请注明来自呱牛笔记 ,it3q.com