从懵懂无知到独挡一面——那些萌新程序员的进阶之路

63 篇文章 1 订阅
32 篇文章 0 订阅

       刚刚入职一家IT公司成为一名初级开发工程师,我们如何在技术这条路线上野蛮生长呢。

       这条技术进阶之路就是一个金字塔形,越往上人越少。

       作为一个初出茅庐的开发人员提升自己和职业生涯前景

       无论你是正在找你的第一份工作,还是盯上了潜在的晋升,在一定程度上你都需要与其他的开发者竞争。为了确保你能从中脱颖而出,这里有一些关键的步骤可以帮助你迈向成功。

       1、规范编程,夯实基础

       不管你是计算机专业科班出身,还是半路出家,刚开始写代码都是一张白纸,如果一开始不懂的规范写代码,就会养成不好的习惯,以后很难 改。

        按照规范格式编写代码,不用格式化工具,自己写出可读性极好的代码,特别是要养成写注释的好习惯,再好的脑子也不如写上完整得注释。一定要记住这句话,别太相信自己都能记住,就算是你自己写的代码,半年后再去看,如果没有注释也很难看懂。

        另外这个时候要把最基础的编程算法打牢,如果你用的是C/C++语言,那就要把算法核心之类多弄明白,最常用的算法多多演练。

        扎扎实实走好第一步,基础打牢了,以后的路更好走。

 

        2、实战演练,技能拓展

        一定要多参与不同的软件开发项目,不同类的软件开发项目用到的技术侧重不同,这样能让你的技术通过项目实战,更加精进、全面。

        分析类的软件,需要对数据处理和展现的技术要求更高,这时你可能会接触一些ETL工具,图表展现工具(比如EChart等)。如果涉及到海量数据处理,你将有机会开始你的大数据开发之路,除了会使用oracel进行关系型数据库的开发,还要学会使用类似Hadoop这样的分布式框架进行开发。

        流程类软件,侧重流程和表单得配置,这样你会熟悉JBPM的设计机制,如何基于流程引擎完成开发,如何开发各类表单(单笔、多笔等)。如果涉及到长流程,还会让你学到依据状态机实现流程管控、有序流转的技术。

        ESB类的软件,让你学会如何进行接口总线开发,这时候你会开始接触各类接口方式,比如webservice,FTP、JMS、rest等,开始学会如何调用邮件和短信网关。

        门户类软件,让你学会如何开发统一代办,如何通过CAS实现单点登录,如何通过门户实现首页的定制开发,皮肤定制,不同子系统如何集成等。

 

        第二步,通过实战,让你的技术更全面、更精进,要想达到这个目的就不能死磕在一个项目组里。

        3、学会做软件设计

        到这,你要学会进行软件设计,大到整个系统,小到一个功能模块,你的设计方案将是开发人员进行软件开发地依据,就像盖房子,你画图纸,程序员施工,是不是感觉自己变得有一点牛了。

        做一个软件设计师,还是要懂得基本的设计思想,常见的设计模式要好好研究一下,比如单例模式、工厂模式、策略模式等。其实这些方法论的基础都是面向对象的编程思想,在基础思想加上一些应用场景,便有了各类设计模式。

         一个软件设计师,最主要的职责就是写设计文档并指导开发人员按照设计开发。设计文档的核心包含类图设计、活动图设计、状态图设计、功能设计、性能设计等。

        设计师和开发工程师的最大区别是,设计师能依赖软件架构完成软件设计,而开发不能。

 

        4、成为一个架构师

        到了架构师这个级别就需要对底层软件模型完成架构设计,包含展示层的封装、应用层的服务封装,公共技术组件封装,比如前面说的流程引擎工具、表单组件、图表展示组件都需要由架构师完成封装,形成可复用的组件,提供给开发人员使用。

        一般架构师这个级别的人就需要开始深入研究一些开源组件,阅读核心的开源代码,比较勤奋的架构师已经开始做自己的开源项目了。

       架构师一般是一个团队中的技术专家,产品研发中遇到的技术难点一般由他来攻克,比如软件的执行效率问题,软件的性能问题等。

        比较厉害的架构师,还要学会软硬件集成部署,设计应用和数据库的负载均衡方案,让系统更加健壮、更加灵活。

        架构师是一个软件架构的缔造者,一个团队的生产力高低,很大程度上取决于架构师的水平高低。

 

        5、走向CTO

        听起来是个很高大上的职位,能够走到架构师位置的人已经凤毛麟角了,要能成为一个企业的CTO更是难上加难。

        CTO最重要的工作就是关注行业的技术趋势,进行技术选型,将比较好用的新技术引入到技术架构体系中。不断升级现有的技术架构,应付不断增长和扩展的业务。

        所以你会看到很多的CTO经常奔走在,各种论坛,峰会,目的就是为了培养敏锐的技术嗅觉,拓展人脉,建立技术合作关系。

        走到这里基本上已到了技术的顶点了,有点高出不胜寒的感觉,回头看看来时的路,是否会感叹,无限风光在险峰。

         萌新程序员敲不出代码来怎么办?我个人觉得最主要的原因其实是因为有一种无从下手的感觉,这种感觉放大了我们面临的问题的难度。想要直接克服勇者无畏一撸到底是很难的,我们可以适当拆解任务,学习怎么把一个看似很复杂没办法解决的问题转化成一系列明确的子任务。这既是解决困境的办法,同时也是成长为高阶程序员甚至是架构师的必经之路。

 

         最近准备了一些c/c++相关的资料,有需要的同学可以私聊获取,有什么不懂的也可以随时问。

         只有奋斗才会有收获,加油!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值