知乎上有人邀请回答过这样的问题:想做程序员,但不是科班出身,学校也一般,找工作经常被卡学历,怎么办?
还有很多类似的问题:
- 想做程序员,但是我数学不太好,怎么办?
- 公司技术氛围不够,没大牛带,怎么办?
- 学了一堆技术,但公司项目太老,用不上,怎么办?
……
概括起来,就是:我想好好奋斗,但客观条件不够。
只要这个问题不解决,就会成为任何一个程序员职业道路上,最大的那块绊脚石。
1、不行动,条件永远不成熟
沈洁(化名)是个工作了6年的前端,一直想转产品经理。
一个好的产品经理,需要良好的逻辑推理能力、数据分析能力,身为一个程序员,她认为这些自己都具备,除此之外,公司的设计师还经常夸她“在平面设计方面有天赋”。
而敲代码呢?
成天对着屏幕,赶项目,找Bug,学各种新技术,考虑各种技术细节。
慢慢的,她产生了转产品的想法。
上网一查,做产品经理要了解设计规范,熟练掌握PS,还有产品原型工具,写好PRD,一些小公司的产品经理,可能还要管理项目进度……
比她想得要复杂。
于是,朋友问他还要不要做产品经理,她一脸无奈:
要学的东西太多,网上的课参差不齐,有的讲得太深,我这种0基础的,有一大半听不懂;还有的案例太少,不动手,学完的东西过几天我就又忘了。
而且最近一直996,没时间,等过了这段再说……
总而言之,条件还不成熟。
这些问题都很客观,只是沈洁没考虑过:
干点什么,能让自己离产品经理更近一步?
一转眼,3年过去了,她还是当年那个“一直想转产品的前端少年”。
有太多的“沈洁”,想转产品,前端转后端……
想了好几年,还只是停在“想想”。
没有行动,条件永远没有成熟的那一天。
2、只要你愿意,条件总能创造
孙清(化名)是一个Java工程师,整个公司,数他加班最多,每天进家门都11、12点,但技术水平太低,总是最后交工。
他想提升技术,我建议他每周抽出5个小时,给自己充电。
他当场表示不可能:我一直是996,项目工期已经压让我挠头了,而且我是开车上下班,路上也没办法学;
我32了,不能再像年轻那会儿熬夜了,现在一回家就想往床上一躺,前几天我debug到1点,感觉心跳很快,真怕自己猝死……
我说,那你可以想办法,提升下工作效率,主动跟主管沟通,或者请同事帮帮忙……
他说,根本行不通,我们主管就那样,大家手上的活都很多,这也是客观条件,我能怎么办?
就在他束手无策的时候,天使降临:他爱人怀孕了。
原来坚信“一周抽不出来5个小时”的人,现在每周能抽出10个小时:做饭、打扫房间、陪着爱人到医院做产检、开车送她上下班。
还不耽误工作。
只要你想,条件,总能创造。
3、战线拉长一点,问题可以慢慢解决
有人说,技术水平不行,面试没过。
这些客观条件,不是我“想”就能改变的吧?
当然可以,把战线拉长一点就行。
曾林(化名)第一次面试某大厂,没过。
这种情况,你会怎么办?
很多人会想:结果出来了,还说啥,安心回去上班呗!
曾林不死心,主动联系了面试官,说:我真心想加入咱们公司,能不能麻烦您,告诉我欠缺的地方,也让我知道该朝哪努力,争取下一次顺利加入公司。
面试官说,你框架应用是没问题,主要是算法这块,平台用户量这么大,对算法的要求会比较高。
算法,是曾林的软肋,但他就是想进这家公司,怎么办?
硬着头皮,一点点啃。
啃了多久呢?
2年。
他又去面这家公司,还是没过,这次不是因为技术,面试官问他:对公司的APP,你有什么优化建议?
他卡壳了。
平时工作那么忙,哪有功夫体验你们产品?
大多数人会这么想,但曾林在面试回去的路上,就下载了这家公司APP,等到他第三次去面试的时候,技术面过关,业务熟悉,并且针对产品存在的问题,拿出了自己构思了无数遍的解决方案。
顺利入职,前后用了将近3年的时间。
3年前,他算法薄弱,也不懂目标公司的业务,而且平时工作就比较忙,抽出时间很难——这都是客观条件,短时间内,还都没办法改变。
算法题,不可能1天刷完,几天的时间,也写不出成熟的改进方案。
战线拉长一点,问题可以慢慢解决。
写在最后的话
每个程序员的内心,都有一句“if……else……”,大部分人的语法是:
If(条件具备){我就行动}else{那就算了};
而总有那么一些人,他们的语法是:
If(条件具备){我就行动}else{我就想办法创造条件}
面对客观条件的束缚,大部分会选择“算了”,“等”条件成熟再说,在一遍遍重复工作的过程中,发现条件永远不够,离大厂、离月薪30k越来越远。
而选择“创造条件”的人,在一点点实现目标的过程中,不断升职加薪。
别让“条件不够”耽误了你的未来。