什么是程序员?程序员应该具备什么样的特质?
面试的时候,曾把应聘第一职位写为软件工程师、第二职位写为程序员,面试官问“程序员与软件工程师有什么区别”,我顿时无语。做程序员已经有一年了,现在知道了应该做什么,这是我最大的幸运,这也是自己心慰的地方,但是我有时候就怀疑自己适不适合做一个程序员,对自己的职业规划产生彷徨。我感觉程序员首先要具有追求完美的性格,看到不符合规范的代码就要去更改,去让自己的代码更加漂亮,当然这是有代价的,比如牺牲自己的休息时间,但是现在对于我来讲,我感觉自己缺少这种追求完美的精神,当然也不是对自己的代码只要能运行不出大问题,要求这么简单,但是总感觉在骨子里面缺少这种永远追求完美的精神。
我使用的是java,很多人评论真正的程序员需要至少掌握两门语言,但是我现在还是没有精力也没有那个能力,现在只是想先把java掌握好了,在考虑其他的,我不知道各位同仁认为怎样是一个java高手,是拥有比较宽广的知识面,还是对jdk的深入熟悉,我曾给自己制定目标,要熟练掌握spring ,hibernate,struts,tomcat全面深入掌握,怎么是深入掌握呢?就是清晰的知道原理。也许自己写的太宽泛了,但是我现在发现工作好像对我们不要求这么多,我也明白什么都是靠自己学习,但是我现在不知道程序员初期的路因该是什么样子的,是慢慢一门一门的精通还是先宽泛的了解,再慢慢地深入,好象对于工作,后者更能适应,更能得到别人的好感,被人的认可,我们是在挣钱,不是搞研究,也不是在学问,这是不止一个对我说的话,但是我们是吃这碗饭的,我还是想知道为什么能这样,为什么那个样就不行,我想理论上能讲得通,实践上能通得过。
我现在感觉能做好程序,最重要的还是基础,不需要多么华丽,因为华丽是锦上添花,是建立在基础上的,那么怎么才是高手呢?怎么才能在技术中游刃有余呢?我不知道有多少人喜欢看jdk源代码?有多少人能耐下心来把基础图书多读几遍,因为基础书籍显然对我们帮助不会比一些框架书籍帮助来的明显,我说的帮助是指得到别人的认可,因为职场也向商场一样谁先掌握了新技术谁就得到了先机,谁就能得到更高的薪水,这样得到机会后再深入掌握,这些人都是智者,都是勤奋的人,都会慢慢成功,因为对自己要求不一样,得到的也会不一样,我知道我只是一个菜鸟,我没有什么资格来讲这一些,但是一年来,我真的有些彷徨了。
我有时间就喜欢翻翻基础书籍,想去理解一下JVM,现在的感觉是时间真的很少,好像很难把什么都看一遍,但是感觉每天都想在混沌中度过,看似很忙但是真正忙事情的时间又有多少呢?50%?还是更少!可怜的不是不知道怎么做,可怜的是不知道做什么,这段时间想了好多,不知道怎么去整理自己的学习阶段,更可悲的是,每天下班回来,却会慢慢懒惰下来,我没有逼迫自己,只是想让自己明白,人真正对己很有帮助的其实就是那么几年时间,也许环境宽松了,自己也就松下来了,比如上学的时间,鬼知道自己干了什么!
不知道大家是否也有这样的阶段,不知道自己在做什么,不知道自己想要什么,希望大家介绍自己的成长经历,能帮我指点迷津,我不知道该怎么发展了,是应该深入还是应该拓展知识面,怎样能在有限的时间内间的两者!
今天晚了,可能脑子不清楚了,这几天真的好颓废,有些话不应该是我这个菜鸟说的,更不是我能品头论足的,因为我还没有那种阅历!