从程序猿到工程师的转变

前言

因为编程会占用你很多的时间,技术水平高低取决于两点,一个是悟性,另一个是时间和经验,如果没有兴趣,你会感到很枯燥,也不会有所建树。如果你对编程不感兴趣,奉劝你一句,转行吧!

一、           知识面

1.   基础思想和态度

很多人从开始就有一个错误的方向和认识,导致后来的路越走越偏差。

其实一个优秀的程序员一定要把代码写到这种定位上:“优雅”、“明确”、“简单”。

如果这个你都做不到,你只能停留在程序猿层面,也不要去谈为什么你的工资比别人低,为什么你做事领导不信任你,为什么你的代码这么多bug。

2.   技术广度方面

至少要精通两三门以上开源技术吧,例如比较前沿的技术:java、C、C++、.NET、VB(VBA)、PHP、JavaScript、node.js、Delphi、Ruby、PL/SQL、COBOL等

这些里面有些是必会的:比如C、java、.NET、PL/SQL

至少要了解很多周边技术吧。

3.   技术深度方面

研究过struts、spring等的源码,或者说你能够对各种API、各种手册都能够熟练使用。

4.   项目经验方面

从头到尾跟过几个大项目,头是指需求阶段,包括需求调研。

尾是指上线交付之后,包括维护阶段。

5.   架构经验方面

有过分布式系统的架构和开发经验。对于跨系统的结构优化,数据存储的性能指标等有丰富经验。什么缓存啊、数据库的垂直切分什么的,业务的抽象和水平拆分啊,这些应该都轻车熟路吧。

很多公司都不注重性能和用户体验性,如果产品没有质量,就相当于一块废铜烂铁,用的人满意度没有,扩展性差,后期维护成本高,如何盈利?

6.   行业领域方面

最起码得精通一到两门业务吧,所谓精通,就是比如做金融证券业务的,至少等当半个金融分析师。做电力业务的,至少等当半个电力工程师。记住没有不熟悉业务的程序员,更没有不熟悉流程的程序员。

7.   个人技术修为

对技术或者某个领域,某个知识点啥的,要有自己的独特见解,不能人云亦云。

二、           技术水平

由于本人是个JAVA工程师。所以仅谈谈JAVA方向的微观学习和发展方向。

1.   面向对象分析与设计

你应该十分了解UML(统一建模语言

要了解事务的概念,如:类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。

要了解并且会画和看5类,10种模型图中的重要的几个:类图(ClassDiagram)、对象图(ObjectDiagram)、用例图(UseCaseDiagram)、交互图、状态图(StateDiagram)、活动图(ActiveDiagram)、组件图(ComponentDiagram)、部署图(DeploymentDiagram)等。

简而言之,你要会建模。

2.   JAVA的核心类库

Collections(集合),serialization(序列化),streams(流),networking(网络),multithreading(多线程),reflection(反射机制),event(事件),handler(消息句柄),NIO(解决传统IO的问题),localization(本地类),以及其他。

3.   了解JVM

Classloaders(类加载)classreflect(类反射、反编译)以及垃圾回收的基本工作机制等。你应该有能力反编译一个类文件并且明白一些基本的汇编指令。

4.   B/S和C/S架构模式

了解这两种架构模式的优缺点和实际应用的场景。

C/S模式:是客户端/服务器(Client/Server)模式,主要指的是传统的桌面级的应用程序。比如我们经常用的信息管理系统。

B/S模式:是浏览器/服务器(Browser/Server)模式,主要指的是web应用程序,就像你说的电子商务网站,如淘宝,阿里巴巴等。相对于C/S模式的应用程序来说,B/S模式最大的优势在于客户端只要有浏览器就可以运行。而C/S模式的应用程序需要在客户端进行安装,而且升级也不太方便。而B/S模式的应用程序对于客户端来说,永远都是最新版本的。

5.   Web开发

掌握GUI设计的思想和方法,以及桌面程序的SWING,AWT, SWT。你还应该对UI部件的JAVABEAN组件模式有所了解。JAVABEANS也被应用在JSP中以把业务逻辑从表现层中分离出来。这其中你要对(css和js很了解,会用)。


未完,待续!!!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值