首先给大家问个好,祝大家节日快乐!
我这个问题好像也有点“月经贴”的意思,但是觉得要比语言之争的月经贴有价值的多,最起码算是思考,人生指导,领航吧。
好几天没有写博客了,大家也会发现,前段时间我每天都写一篇,都是晚上或者是早上起来写的。近几天感觉熬不动了,有点想歇一歇的意思。为什么呢?我才三十岁,怎么会精力不够用呢?当然了,世界杯是一个因素吧。
今年一直在深度加班,最近感觉自己身体确实不如五年前了,不如20岁的时候了。那时候学习到2、3点才睡觉,第二天早上继续开工,没有问题。最近感觉熬不动了,晚上十一、二点就困的不行了,早上也起不来,起来的话,上午就有点精力不够。
我给自己的定位就是技术,我对纯的管理也不感冒,技术经理,架构师,首席架构师,技术总监,如果有机会的话,可能是这个发展路线。目前来说,就是个技术经理,正在向架构师转变,发现需要学习的东西更多了,精力还真是不太够用的。还有就是思考的角度要转变,不能以程序员的角度思考软件,要站的高一点,要全面,自己还要看过(最好是做过)很多这方面的东西。首先从整体来思考系统,然后分解,逐步分解、细化,最细的就是程序员的代码了,那个由他们来按照规范编写,要去把握整体的结构,整体的设计,整体的模式。
另外一个我认为较为重要的就是,需要对团队的开发人员做培训。最近我也发现了,虽然我们用的都是面向对象的语言。但是代码一点都不面向对象,除了写了class,因为不写class也没有办法编程啊。但是很多时候大家对于类的设计都没有认真的思考,而且大家的认识也不够深入,有必要在这方面提高大家的水平。封装、继承、多态,不是简单的类、继承、写个接口,就真的是那么回事了,很多时候我们还需要深入一点,越是基础越重要。还是那句话:出来混,迟早要还的。
公司每天都在抱怨进度为什么慢,我也在思考为什么慢呢?每天都在加班,周末也在加班,就是快不起来,都很努力了,没有人偷懒,为什么没有产出呢?我觉得就是这个面向对象的能力没有提高,写代码的时候卡住了,业务清楚了,流程清楚了,觉得代码也就是两天,为什么5天了,还是差一点呢?我决定就是代码功力不够造成的,如何提升呢?一是要靠自己多思考,下班多花点功夫练习,不是单纯的练习手敲代码的速度,而是对自己的代码重构,模式,思考怎么提高代码复用性,怎么才能让自己写的代码不是改来改去呢,要做之前先想一想,设计一下。只有在这方面下工夫了,才能真正的提高开发效率,减少加班的频率。二就是公司要组织这方面的训练,抽出一半天的时间,来个面向对象的头脑风暴,出几个小题目,大家一起讨论,在完成的过程中学习,锻炼思考能力,设计能力。三就是专事由专人来做。我不推荐让程序员参与业务讨论和定位,因为做业务和开发是两种不同的思维方式。做开发是很严谨的,业务则是很灵活的。四就是不要外行领导内行,会很惨的,至少进度会拖后很多。
难道这就是大家说的30岁之后要转型吗?在国内30岁之后真的写不动了吗?于是这几天顺便就做了一个思考。发现了一个惊天大秘密(哈哈)。发现了为什么30岁就写不动了呢?为什么国外的程序员,很多都是40、50还可以继续写呢?而且写的很享受的样子,我们就需要转型到管理呢?但是管理就像是金字塔,越往上越小,需要的人越少,不是每个人都可以做到管理的位置,况且不是每个人都适合做管理的。难道写程序没有出路吗?不是的,这纯属是有些人的谬论,误导了不知道多少人啊,至少我是这么认为的。
大家也许会说是环境因素、社会问题。是的,这些因素是影响到了我们程序员的生涯,但是他们不是主要因素,而且这些不是一天两天可以改变的,也不是我们一个两个就可以改变的,就像革命一样,需要时间,需要人来牺牲,需要前赴后继,积累到一定程度才可以变革。
我觉得我们可以控制的,又是主要因素的就是我们自己。至于30岁以后写程序没有前途的论调,可以用一句话解释。
30(35)岁写20岁的程序。
怎么解释呢?就是说30岁写的程序还是20岁的时候写出来的样子,没有发展,没有变化。那肯定干不过20的小伙子了,他们可以加班、熬夜,但是我们怎么办,身体根本不允许你那么干了,肯定就不行了。老板就觉得要30岁的还不如要20岁的呢?20岁的还可以更少的工资,更好忽悠,30岁的老油条,不好忽悠,而且产出也不行了,那就辞掉吧。
其实是我们自己断了自己的后路,是我们自己没有成长,还在写20岁时候写的代码,没有长进。在代码的设计(且不说架构设计)方面没有长进,所以写出来的还是较为混乱的,牵一发而动全身的代码。如果让年轻人改,他可以熬夜该,但是我们就不行了,所以都说30岁就不能写程序了。其实决定权在我们自己,要在20-30岁之间,提升自己,就算不想做架构,只想写程序,也要越写越精炼,要有自己的一套,要提升代码的功力。要学习设计模式,重构,要思考代码的结构,不是一上来就写一大丢,然后推到重新来过,那样肯定干不过年轻人的,哪有那个精力啊,是不是呢?
只想写程序也可以,但是一定要想办法,在30岁的时候不要在写20岁的代码,否则就真的没有前途了,甚至要早点回家了,因为你干不过20岁的小伙子啊。
希望大家不要在30岁的感慨,希望大家作出改变。改变这个潜规则。
我这个观点一出来,肯定会有很多人赞成,也会有很多人反对,欢迎大家一起讨论。
最后,再给大家问个好,节日快乐!
分享到:
相关推荐
本书分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序员一样思考。 全书分为8章。第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写c++代码来...
本书所覆盖的话题代表了我所看到的程序员新手最容易陷入挣扎的领域。它们还代表了初级和中级编程中许多跨领域的话题。 但是,我应该强调,这并不是一本用于解决特定问题的算法或模式的“烹调书”。尽管后面的章节...
作为一名程序员,十年的技术之路充满了挑战和成长。在这段历程中,我从一名新手逐渐晋升为技术专家,这期间的关键在于持续学习、合作共贏、总结呈现和深思熟虑。 首先,学习是程序员职业生涯的核心。从踏入职场的那...
最后,《哥德尔、艾舍尔、巴赫书:集异璧之大成》是一本挑战性的书籍,它不仅仅是关于程序设计的,而是将计算机科学与数学、哲学等领域的知识相联系,帮助程序员拓宽视野,激发思考。 这些书籍的推荐数反映了它们在...
"avatar 20.png"和"avatar_5_01.png"可能代表他们在编程时的专注和思考,而"avatar 32.png"和"avatar 18.png"则可能传达出他们对新技术或编程语言的热情。"avatar 28.png"和"avatar 17.png"可能是他们在面对长时间...
- **应用场景**:当某个程序员总是按照固定的模式思考问题或处理事务时,其他同事可能会用这个词来形容他的行为特点。 ##### 7. **“越来越重”、“越来越轻”** - **含义**:“越来越重”是指项目的负担越来越重...
程序员在工作中被打扰会面临严重的影响,这是一个在软件开发领域公认的问题。程序员在解决复杂的编程问题或者进行深度编码工作时,他们的大脑会进入一种被称为“心流”的状态。心流状态是一种极度专注的心理状态,在...
本书分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序员一样思考。 全书分为8章。第i章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写C++代码来...
随着职业发展的深入,程序员在技术领域深入后,会逐步遇到架构设计、系统优化、团队领导等高级主题。如何设计高可用、可扩展的系统架构,如何在现有系统中应用性能优化的技巧,以及如何管理团队、带好新人,这些都是...
程序员,作为现代社会中的技术专家,他们的工作往往集中在编程、算法、系统设计等领域,但了解历史,特别是中国的二十四史,对于他们来说有着非同寻常的意义。 首先,我们要明白,二十四史是中国历史上的重要文献,...
- **答题技巧**:对于不确定的题目,可以先标记,完成其他题目后再回过头来思考。 - **复习资料选择**:除了真题集,还可以参考教材、网络资源、专业论坛等,多角度学习,全面了解考试内容。 通过深入研究这些...
以上是程序员笑话中所蕴含的关于编程文化、职业特点、学习成长、生活状态以及团队协作等多个方面的知识点。这些笑话不仅仅是幽默的表达,也是程序员日常工作中遇到的实际问题和感受的艺术化表现。
在IT行业中,程序员不仅以他们的编程技能闻名,他们的文化与生活方式也形成了独特的群体特色。"程序员特色服饰"这个主题,正是这种文化的一种体现。这些服饰不仅仅是穿着,它们更是一种表达自我、彰显职业特点的方式...
程序员应该具备独立思考和创新解决问题的能力,不拘泥于既定的解决方案,敢于尝试新的技术和方法。 团队合作能力同样重要。在实际开发中,程序员通常需要与他人协作完成项目,良好的沟通和协作能力可以使团队工作...
总的来说,这篇年终总结反映了程序员在软件工程领域的实践、学习与思考,突出了持续学习、自我提升和跨领域知识的重要性,为其他程序员提供了宝贵的参考。新的一年,他将继续致力于专业技能的提升和个人职业发展,以...
《程序员求职面试宝典》是一本为准备求职的程序员量身打造的综合指南,它涵盖了面试真题、求职技巧以及职业规划等多个方面,旨在帮助程序员在竞争激烈的IT行业中脱颖而出,找到理想的工作。以下是对这些关键知识点的...
3. **解决方案:**在讨论职业规划时,提供具体的步骤或计划,以证明自己对未来的认真思考。 #### 五、薪酬谈判技巧 1. **时机选择:**等待招聘方先提出薪酬话题,避免显得过于急躁。 2. **底线设定:**事先了解...
### 程序员学习能力提升三要素 随着信息技术的快速发展和不断迭代,软件开发人员面临着前所未有的挑战:如何在海量的信息中筛选出有价值的知识,如何有效地吸收并转化为自己的技能,以及如何保持持续学习的动力。...