导语:一个程序员成长的过程中,会面临不同的问题。写代码的时间长了,眼界和格局也不同了。从初级程序员只会维护模板,做个写代码的的编辑人员。到中级程序员会写增删改查,解决一些简单数据库交互。到高级程序员要懂一些底层原理,解决复杂的业务,再到架构师,要设计整个系统满足业务要求。身为程序员的你,有没有准备好面对这些东西呢?
初级程序员,模板维护
刚入职的程序员,领导往往不会分配太复杂的任务,做的最多的就是编辑内容模板吧。想当年小编刚参加工作的时候,什么都不太懂,从学校里学的都是些很零散的技能,也没有做过什么大系统。那时候修改了很多系统的模板,内容管理系统有dedecms,phpcms,帝国cms,论坛有discuz,phpwind,商城有ecshop。每天的工作就是增加模板,修改模板,套模板,日子虽然过得充实,但是感觉工作技能没有什么提升,最多算是一个高级编辑,会点html和css代码。
中级程序员,增删改查
工作了两三年,开始接触一些功能的实现,主要就是对数据库进行增删改查,然后就是做个分页页面。不管什么功能,拿过来就是先弄个带分页的列表,然后就是弄个添加和编辑页面,能保存到数据库就完事了,再复杂就导出个excel表格。做了很多功能,甚至一直觉得,web开发就是增删改查,哪有什么复杂的功能。那时候主要做php开发,需求也很简单,没什么业务处理。
高级程序员,底层原理
工作了五六年,慢慢了解了一些底层原理,比如内存的分配,HTTP协议的通信方式,FTP协议的使用,多线程的调用等等。开始接触一些复杂的业务,比如批量导入数据,插入的数据后台多线程处理,从远程服务器上拿数据然后返回给系统等等。真是知道的越多,才越知道自己知道的少。开始关心每个功能的底层原理,如果让自己实现该怎么做。
架构师,系统设计和实现
工作的时间长了,有时领导会让我负责一些小系统的设计,无论是数据库的设计,还是整个系统的架构,或者复杂功能点的实现。为了一个系统的扩展性和可维护性,怎么设计能满足业务需求的不断变更。关注的东西已经不只是细节的技术点了,而是会去深入的想各种设计模式,模块和模块怎么设计,怎么用最少的代码完成最复杂的功能。
程序员朋友有什么想说的呢?
程序员一:刚入这一行,代码还没弄明白呢,每天做的最多的工作就是维护模板,可除了这个什么也不会啊。看着别的大神噼里啪啦敲着自己不懂的代码,真的很羡慕能成为其中的一员。
程序员二:我做了4年开发了,感觉一直在做增删改查,都做到吐了。无论什么功能,第一个想到的就是对数据库进行增删改查。有的功能都不用开发了,直接创建好表,然后用代码生成器生成就行了。简单省事,可是感觉很难再有什么提升。
程序员三:程序员不就是增删改查吗?难道还有更复杂的东西?遇到不会的直接百度一下,然后复制粘贴改改不就行了?懂那么多干嘛,累不累啊?
程序员四:我想成为一名架构师,可是目前只会写一些简单的小系统,也没有很复杂的设计,把各个模块分开,然后组合成一个大系统就行了。
小编想说,路漫漫其修远兮,一定要戒骄戒躁,知道自己在干什么,怎么能突破自己,成为下一个阶段的高手,才是成长之道。程序员朋友们,你们觉得呢?