[入门]理想的小白程序员成长曲线

前面先说一段引子和提外话:

之前吐槽了一片博文,核心思想是:学习计算机编程的初学者必须从当时的主流语言开始学习。顺带叫嚣2012年了,初学者再也不要从C/C++开始学习编程。

如果仅仅为了学习流程控制语句(if,switch,for,while),没有什么是C能做而.net和Java不能做的。

==引子结束==

 

今天具体谈谈我自己想象中的一个小白的理想成长路经。不估算具体时间,因为学习速度因人而异。只是想罗列下我自己认为的一个通用程序员从小白开始怎样学习。

==阶段1==

1. 选择Java、.net或PHP(额外选项,如果是前台小白)中一个作为开始,选哪个好天知道

2. 完成Hello world(运行环境搭建,不用懂搭建过程中的任何概念与知识。只要能熟练操作步骤,并能正常编译运行)

3. (后台同学可以不着急学)HTML基础 + CSS基础 + DOM + Javascript(包括JQuery) + JSON + XML入门基础

4. 学习面向对象编程 + 设计模式 + 基础流程控制语句 + 基本内建数据类型

5. 单元测试框架 + Mock框架 + 源码管理 + IoC框架

6. 数据库基础,增删改查

阶段一结束,背点面试宝典,出去忽悠吧,或者等学了点算法再去。

反正做苦力可能还是有人要的。

==阶段2==

7. 算法 +数据结构

8. 根据实际需要,全面展开网页或者Winform(后台可以此时学习item 3的基础网页知识)

9. 特定语言的常用类库(工具,网络,IO,线程)

10. 数据库高级(视图,存储过程,复杂表连接)

11. (后台同学爱学学,就怕时间精力不够)浏览器兼容性,HTML+CSS高级功能,HTML5特性

12. (后台同学爱学学,就怕时间精力不够)PhotoShop等专业软件

条目不多,因为我也想不清楚。反正能学一遍这些东西了,team里面混混日子还是可以的。

==阶段3==

10. 设计模式高级

11. 面向对象分析与设计

12. 软件测试理论(着重自动化单元测试,UC->TC分析)

13. 软件开发流程理论

14. 软件及数据库性能调优

基本可以做个小leader了。要更上层楼,则需要更多的经验积累。

以及接触更多项目部署、配置等等的需要在实际项目中逐渐掌握的能力。

==阶段4==

14. 在某个特定domain里面成为专家。比如做财务系统做成注册会计师,做物业系统做成高级物业师。反正在一些专门业务领域搞得比客户都熟,都专业。

 

其实这4个阶段就是 陈皓 在他文章中提到的“软件开发‘三重门’

会编程

技术的基础

业务智能

 

总之,没看到里面哪里必须要用C/C++的,或者这个前置条件会带来多大好处的。

其中学算法完全可以用Java,C#,Javascript来完成。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值