IT概述--程序员

一般会经历几个阶段

1. 编写漂亮的代码,某个段代码写的很漂亮,算法很OK,对库用的很熟练和巧妙,逻辑很给力。

2. 追求面向对象的写法,或者特定模式,认为这个就是流行。

3. 对设计模式有所了解,开始写出维度拆分合理,交互简单的代码。

4. 眼界开拓,设计开始考虑可以不同的库,OS底层模型,数据库选择还有操作方式等等。

5. 开始组件化思考,构建更多的组件来完成特定的功能。

6. 系统化的思考问题,开始搭建不同进程或者工具来构建一个系统。(更大的组件化)

7. 对技术的热爱,还有工具化、自动化的文化的认可和热衷

8. 分布式的思考。考虑更多的非功能性需求,比如上量了,failover,容错,扩容等

9. 更多不同行业和硬件的搭配,更大的系统化思考问题。你的系统应该怎么运行的,用什么方案,模型如何,哪些用设备来实现哪些用开源,哪些自行开发等。

 

对软件程序员来说,这些事情应该依次了解的

1. 数据结构:数据结构,基本的算法,算法的数量级差别

2. 操作系统:多任务系统的(进程,线程,协程,应用程序域,Task是怎么回事,有啥区别,什么情况下用?该不该用?)、进程间的通讯方式、内存区

3. 设计模式 gof

4. 常用的一些库的了解

5. 多读些和当前项目相关的优秀开源代码,学习库的使用,还有开拓一些设计上的理念。

6. 架构模式

7. 不同的系统,不同行业的知识,不同的应用场景,他们都有不同的关注点、开发模式和开发准则(数据库原理,Mobile开发,架构开发,Web开发,还有一些平台化的产品在不同应用场景下的做法和思维)

8. 多沟通,还有是对这个行业的热情。

 

一般来说,弄1~5,可以往专家方面转行了或者往公司资深员工方面或者管理发展(对业务和公司平台了解,另外可以通过人脉协调不同部门一起顺畅做事)


整体要求

眼界和分析非常重要,比如chrome和ie6市场占有率为啥突然变化那么多。是因为很多浏览器shell(比如遨游,360之类的切换了引擎,由IE6改成chrome),还例如db的不同引擎的区别和使用场景。

对业务和系统的理解,早期关注的技术细节。后面就应该关注业务和系统。


发展方向

横向:通用化,抽象化,简化,配置化的,结构化的走

垂直:业务深度化,点化深度,特殊算法(比如视频,音频,识别,处理等等)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值