程序员在工作中需要注意的东西
1. 任何一个程序设计无外乎是对磁盘I/O,网络I/O,内存,cpu的一个折中选择,所以不可能某一个系统能同时做到一致性,高效性,用户体验的完美结合,而是做到一个最佳的结合点。因此,在优化一个系统的时候也是如此,怎么去做到资源的平衡,而不是项目的某一个方面的优化,是一个值得更加引起注意的地方,因为往往一个点的优化,会同时带来新的性能的瓶颈。
2. 在项目中做到分清楚什么是关键流程,什么是分支流程,用简单方案解决问题是做好的。在做自己技术的同时,有空要多关注自己行业的发展和动态,因为你是行内人,而不是独立的个体。
3. 在设计自己的系统时,要能用数字或者图表显示说明自己系统的性能,系统要让用户不感知:比如不要为了安全,让用户在使用过程中做太多的操作,那样会失掉很多用户。
4. 在工作中,要以自己的工作为出发点去以点带面的方式深挖自己相关的技术,而是不是泛泛学习各种技术,很多东西你只要有个印象这个是干什么用的就行,到用的时候在深入学习应用,这样不但能有更多的时间做好自己的工作,又能以搞好自己的技术。千万记住,即使现在学会了一样东西,如果不用,也会随着时间忘记,而且如果没有在工作的变成项目中用到,忘得更快,得不偿失。所以,舍弃有时也是提高工作和学习效率的一种方式。
5.技术做到一定的时候,需要加入对业务的深入思考,不要让技术脱离业务,不要让开发成为的只是一种资源或者PD的工具,而要主动问自己或者业务方:为什么要做这个?做这个的目的是干什么?只有知道的做一件事的意图,你才能真正主动而不是被动的去思索需找最佳的解决方案,也许这是很重要的,不管你现在是在从事技术或者业务方面的工作,先从自己的工作点为中心区进行各方面的扩展,因为事情的本质都是一样的,关键是把东西做到更好。
6. 作为一个程序员,在一个成熟公司的发展无外乎下面一些成长路径:修改日常的开发->负责一个模块的开发->实现产品->带团队实现产品,当然也有不同的发展路径,但是一定要搞清楚自己工作的目的不是唯一为了赚钱,往往认真工作的目的更重要的是一种无法用一个具体的数字能衡量的东西:比如自己的成长,比如技术上的更大进步。。。在你离开一家公司时,往往让你带走的不是你在那家公司的级别,不是工作背后能带来金钱利益的且只能是作为一种工作激励的KPI设定,而是你收获的本领和成长。
7. 做一个产品时,不要等到什么都想明白了,什么都完美的实现了之后才展现的用户的面前,因为那个时候也许你的产品已经被别人占去了先机或者用户的喜好已经转移,最好的的方法是做一个权衡,考虑好一个节奏和市场的变化。
8.永远要认识到自己不是超人,不要觉得自己在某些方面多花点时间就能搞好所有事情,千万要学会权衡和舍弃。
9. 多认识业界的同仁; 多参加行业的会议; 多分享自己的成长和经验。多通过一些内部的课程认识一些神一样的队友,这会对自己的影响很大,会让你很有前进的动力,感觉到偶像的力量的那种”幸福感“。
10. 关于创业要注意:A. 毕业后最好先去一家有一定规模的相对比较规范的企业学习工作3年,如果有了很好的机会你再考虑创业的可能。这种公司对人的管理和对技术的分享互动会让你得到足够的锻炼、学习和发展,这是一种很有财富性的积累。 B. 创业不是辛苦之后必然而然的享受成功喜悦的产物,不是简单的说吃了足够的苦后就能自然见到所谓彩虹的美好事情,在创业之前,一定要考虑好所有坏的情况发生,包括利益或者观点的不同也许会造成造成创业初期的好友反目成仇或者分道扬镳。 C. 创业中不要为了省钱而找大学的学生来打工,因为专门为了赚生活费完成工作任务和志同道合的为了一个目标而去自觉的实现所产生的效果是不可同日而语的,记住,一个志同道合,有激情的团队要远好于一个好产品的重要性。
11. 记得要坚持学习,没有什么比坚持和关注更能搞定一件事情。
12. 要给自己目标,并且很好的分解自己的目标,目标是一个人衡量自己是否前进的动力。千万不要做事拖拉,下定决心立马做一件事情比一直计划做一件伟大的事情而迟迟不做更有执行效率和力度。
13. 在任何一家公司,特别是一家已经逐步成熟的公司,你一定会遇到你觉得不公平的事情,这一定是事实,要接受它。与其无畏的去抱怨,不如行动起来去改变一些自己能改变的事情,记住,遇到困难,总可以有自己或团队能解决的事情。