前些日子一个朋友咨询我,他的弟弟想编程,怎么学好,成为一个程序员。我问他为何要学编程,他说:弟弟毕业多年未找到工做,软件行业好找工做。因而我告诉他了一句话:培养兴趣,系统学习,坚持到底!我不知道他们怎么理解个人这句话,反正结果他弟弟花了2万员大洋,找了一个速成培训班。因而我想出面解释一下,避免最后这位仁兄成不了“程序猿”或“软件攻城狮”,怪罪我。程序员
我说的一句话,分别表明三个意思:算法
一、培养兴趣 数据库
有次一个管研发的同行感慨的说:如今很难找到真正的程序员了。我一想是呀,确实不多有称职的程序员,甚至有的人,你想好好培养一下,都无从下手。由于他根本不感兴趣,仅仅是为了找份工做。如今身边的程序员,只有少部分是专业的、系统的学习过的。反而由于生活压力从其余行业转行的比较多。不少人都是简单的参加培训就成了程序员了。他们不是真正的“编程爱好者”,因此对他们来说,混一天日子的成就感比写出一个功能模块的成就感还大。他们情愿成天游戏,小说,也不情愿钻研一下技术。我曾经就在开发部的会议上指出,如今钻研新技术的,反而是70年代的老程序员居多。编程
没有兴趣,就别期望能把一件事作好。要想学好编程?首先你得对编程感兴趣。若是你是被迫的,那就得培养对编程的兴趣。工具
切记:选一双本身以为温馨的鞋子,比选择一条好走的路更重要。 学习
二、系统学习 职业规划
如今的不少人,受培训机构的影响,觉得掌握一门工具就是程序员了。我曾经就遇到过一个手机程序开发人员,数据库不懂,后台数据传输不通。我问:那你会什么。他说:我是应聘手机开发职位的,固然只会手机APP界面开发呀。 spa
这让我想起了个人大学,有个在读博士生做为咱们班的指导老师。那小哥常常在咱们身边胡吹瞎掰,从操做系统说到数据库,从数据库说到算法,从算法说的开发语言...侃的咱们班女生各类崇拜,也侃的我对软件开发产生了浓厚的兴趣。因而我从PB开始入手,开始踏上了程序员的征程。那时候除了书没什么资源可用,身边的哥们又都是富家子弟,是不用学编程甚至不用学习的,遇到问题全期望这指导老师了。经常是个人难题这博士生也解决不了,且说:这问题用PB怎么解决不清楚,用VB我知道怎么解决。为了获得“武林秘籍”,我又改修VB。遇到问题再请教,且说:这问题用VB怎么解决不清楚,用VC我知道怎么解决。我一想,软件开发原来这么的高深莫测,连博士生都有这么多不清楚的地方。因而下狠心,闭关修炼,把之前丢了的书又所有找回来,逻辑设计、数据库原理、编译原理、计算机算法...一本一本学习,而后才着手自学VB。别人玩我在看书,别人睡我在编程。并本身试着写了一个图书管理系统,图文并茂整理成论文,好生得意一段时间。咱们那时候的学习过程,是从解决一个一个问题中提高的。 操作系统
真正的程序员,都不多是速成的。他必定须要系统的学习、训练,逐步使本身强大起来。我建议想成为合格程序员的有志青年,必须学习逻辑设计、数据库原理、计算机算法等。 设计
切记:不敢应战,由于你胆怯;为何胆怯,由于你弱小。
三、坚持到底
我在招聘中遇到过一个年轻人,在谈到本身的职业规划的时候,讲的眉飞色舞,说本身3年后要成为高级程序员,5年后要转成为项目经理。我问:怎么使本身成为高级程序员;答曰有3年经验了还不是高级程序吗。我又问,那为何要五年转项目经理,答曰,程序员的生命周期短,必须转管理。我顿时失语了。
确实,咱们不少公司在招聘程序员的时候,都强调工做经验,并明码标价几年工做经验的多少钱。好像混的时间长的,能力就强。其实程序员的成长过程,一方面是靠经验的积累,另外一方面是靠不断的学习。有些外包公司,造成了流水线的开发模式,A负责交互接口,B负责数据管理,C负责报表分析。若是本身不去学习和钻研,估计工做10年,C也只会报表分析。
程序员是一个修炼的过程,惟有坚持,才能修炼成功。软件开发领域的技术层出不穷,领域不断扩充,工具不断革新,惟有坚持学习,才能立于不败之地。
在这,说坚持到底,除了坚持学习之外,还有坚持作个程序员的意思。在国外,不少出色的程序员,一辈子都在写程序。可到了咱们身边,不少人的思想都是若是40岁左右仍是程序员,不只没前途,还以为丢人。因而程序员最后好像只有2条路,转管理,或者转行。有些优秀的程序员以为本身40岁了仍是程序员很丢人,刚脆转行了。有些人以为本身有经验了就能当项目经理,闯进了项目经理的死胡同迷失了方向,放弃了。因此咱们身边很难发现资深的、优秀的程序员。
我在作开发部的规划时候,就规划了两条发展方向。使资深程序员的地位和待遇并不比项目经理的差,以此鼓励你们坚持本身的梦想,坚持到底。
切记: 路的好坏不在于崎岖多少,只在于谁能坚持,最终达到目标。
写这么多,但愿和你们共勉,同时但愿咱们身边的有更多的“编程爱好者”!