杂谈:关于程序员职业发展的两三事

首先一首音乐送给你们,祝你们可以突破自我。html

好吧并不让插入flash ,那么直接贴网址吧java

https://www.bilibili.com/video/av1286380/index_134.html程序员

 

每一个人都会有错误,可是要从细节中找寻本身的错误。面试

对于程序员来讲,错误要么就是很容易就找到,要么就很是隐蔽。算法

首先就是发生在我本身身上的事,公司周五下午有一个职场礼仪培训,而后老师让我总结内容,我马上尴尬,说话结巴和忘词了,当着全公司面出丑。。。。编程

好吧,虽然如今想起来仍是很尴尬,可是做为程序员必定要学会如何总结本身的错误和他人的错误,这里我就先总结一下本身犯下了哪些错误。c#

  1. 没有认真听讲和记笔记
  2. 没有在人多的场合讲话的经验,说白了就是对应场景的经验太少
  3. 开小差,其实和第一条差很少,可是含义是不同的

那么先是第一条,我总结了一下,老师首先说的是职场穿着,以后是如何与老板交流,欢迎客户,与客户交流,介绍领导,送走客户等等,如今我大概也就记得这些了,具体操做老实说没有通过练习或者真的记录笔记,我是绝对不可能还记得的。网络

那么为何说我犯了错误呢,由于对程序员来讲,除了穿西装以外的场景基本不太可能出现,甚至穿西装来讲,我不以为大部分公司会强制要求程序员穿西装,因此我对于这部分没有认真听,致使了被老师叫到以后当众出丑。框架

而后说为何是犯了错误,假如老师最后没有叫我总结呢?这里有个误区就是并非没让我总结就不会犯错,其实应该感谢这个老师让我犯下的错误暴露了出来,那就是这些套路,其实颇有可能会用到的。ide

假如我以后创业,若是没有学会这些套路,至少会见客户的时候,就不会意识到哪些动做是犯忌,哪些动做是会让客户不舒服的。

 

接下来是第二条,由于没有当众讲解的经验致使忘词,或者说忘记以前的内容(虽然我也确实没认真听),这方面暴露出来的问题就是个人临场应变能力不足,作事不专心。

我作事确实很容易分心,这是事实,因此我决定找一个能磨练意志力的方法,以后分享给你们,其实我以为我天天坚持上下班骑自行车24千米已经很磨练人了(偷笑),这个暂且不表,说一下临场应变能力,这方面的能力确实是我欠缺的,由于我学习经从来说,能够说基本不会有用到这些内容的状况,我毕竟不是正规大学毕业的,这个缺点是要认清,相应来讲不会有面对比较多人的状况,我我的以为由于我没有记笔记的缘由致使我会忘词和紧张,由于个人性格就是谋定然后动,面对突发状况应变不足。

 

最后是第三条,第三条能够说是面对同事或者说是(职场中)我最应该关心的问题,就是本身露出了某些破绽致使同事(或者其余人)攻击而让本身出现损失的状况。

解决方案也很简单,就是绝对不要露出破绽,可是我要告诉你们一个信息,就是每一个人由于成长生活经历,或多或少都会露出一些问题而本身却什么都感受不到,反而认为很正常,那么这个时候就要正确认识出本身露出的什么破绽,不然就是很危险的事情。

好比我说个例子,财务你们都懂,若是财务贪小便宜,那么问题就大了。

 

这里再说一下我遇到的程序员的问题吧。

  1. 职业规划
  2. 工做态度
  3. 代码质量

先说这三点,之后有机会再补充吧。

职业规划问题,我能够说,我遇到过的程序员,百分之百都是彻底没有职业规划这个概念,而其中百分之九十,说的是代码干不动了就去作管理。

这是很是有问题的,我就先不说管理好很差干,而是管理职位老是比程序员少的,同时每一个人管理水平有好有坏,好的公司又只有那么多,做为一个程序员如何使用十几年的编程经验去和别人十几年的管理经验相比呢?

问题就处在竞争和我的水平上,若是干不过别人,继续回去作程序员吗?

这个时候就要有一个至少是存在的职业规划,我说的意思固然不是说写代码写不动了就去作管理,就算目标是管理,也要有这么一份职业规划,规划本身在何时学习管理知识,什么条件下转管理岗位。

 固然我做为程序员才入行1年多,这里仍是请你们多网上查查其余人的博客帖子,就我目前来讲给不了你们太多的意见,固然也能够给你们一些小建议。

首先就是任务分解,例如目标是入职微软,那么分解目标就是先学会英语,至少要达到可以自如和外国人沟通的地步,这一步能够报班也能够花时间自学。

而后是数学,数学水平我我的以为至少大学本科一下的,至少要可以在网络的帮助下使用。

最后是算法,微软面试的算法应该不是很难,算法导论学会后,看一下微软面试经(大概就是其余人的面试经验和面试题),虽然面试题不太可能重复,可是至少要知道大概流程,同时要肯定面试流程。

还有就是我上面说的,最好找一个一样是微软或者也是相同等级的大公司人员先预演一下,我相信他们也应该乐于这样,或者说花钱让他们给本身作一些咨询服务也能够。

大概就是这样吧,核心内容就是分解大目标,规划小目标,规划到以天为目标,好比上面说的学英语,下班回来后,学10个单词,复习昨天的10个单词,算法导论看3页,复习昨天看的3页,这样积累下来,不用特别长的时间,就有显著的提高,固然得坚持。

而后是工做态度,说工做态度,就是不要以得过且过的态度对待工做,我记得郭德纲一直说,相声这一行,门槛在门里面,有的人进来了再出去舍不得,你也是艺术家,我也是艺术家,你们凑合凑合得了。

这一句一样适用于咱们这一行,甚至能够说程序员的入门要求比相声低多了,相声还有卖不出票的时候,程序员只要入门了,至少不会上街要饭。

而我要说的是,若是看到门槛就躺下不动了,职业生涯很快就会遇到瓶颈,甚至有的人不理解,我给你这么多钱,你为何要走,为何?对我来讲就是技术得不到提高,因此我走了,不是很简单的事情吗?

如今的网站开发,小公司的项目,有几百我的使用已经很不得了的事情了,几千上万已经能够融资了,在这么小的数量级下,所须要的技术并不会很高,大部分人就一生烂在里面了,即不提高技术,又懒得动脑子,一年的经验用了十几年,以后就转管理,有什么用?

因此我但愿你们和上面的职业规划联系起来,程序员的  dry(don't repeat you self)原则,不要忘了,在有能力的状况下,寻求突破吧。

最后是代码质量。

说到代码质量,我以为一大半是代码风格,一小半是debug 能力。

这里的第一也是惟一的原则,仍是 dry 原则。

而后就是 语言的风格,我看过好多代码,若是没有能力优化本身的代码,那么就

 Convert.int32(sId);

多写注释吧。

这里说一下细节,就是尽可能遵照语言的风格,好比java就是小驼峰,c#虽然也是小驼峰,可是其中接口就使用了其余的风格,私有变量也是其余风格。

 我看过有的人c# 风格,大写,小写,下划线风格相互使用,这种是很是讨厌了,本身看着累别人看着更累。

 还有就是不要作多余的操做。

这里给你们演示一下:

int id = int.parse(Request["id"].ToString());

 

大意是这样,我要说的是这里ToString 是彻底没有必要的,并且直接转换若是转换空引用是会抛出异常的。

建议是这样:

string sId = Request["id"];

if(sId != null &&! sId.IsEmpty()){
  int id = Convert.ToInt32(sId);

//作其余的事。

}

我入门时间也不长,可是我知道一个道理,就是能使用别人的框架,就尽可能使用别人的框架,为何?

由于我不认为本身写的代码比别人的好。

至少现阶段对我来讲,本身实现的代码,确实不如别人,固然照着别人的框架造轮子又是另外一回事,但公司项目中,在范围内使用别人的框架,并且尽可能使用最新版。

1节省时间,2减小错误。

固然仍是具体事例具体分析,若是没有这样的东西,那也只能硬着头皮本身造了。

固然上面扯远了,良好的代码风格,能节省不少时间和精力,还有是测试,这里建议你们了解一下 TDD,(若是是网站开发,给每一个Controller的 每一个方法建立一个单元测试。)

关于网站开发的经验,你们能够看一下个人其余几篇随笔 

 

个人工做生涯中关于项目的需求和功能分析(论坛项目)

个人工做生涯中关于项目的需求和功能分析(保洁公司项目)

个人工做生涯中关于项目的需求和功能分析(房地产项目)

 

总之但愿你们可以从中学习到东西,若是有意见能够提出来。

 结尾再推荐一首音乐,风格是迷幻电音。

https://www.bilibili.com/video/av1286380/index_138.html

相关文章
相关标签/搜索