⑴ 做程序员很辛苦吗听在腾讯的网友说一天的工作内容看起来很轻松啊,是大公司钱多活少吗
做程序员很辛苦,大部分人员身体都出现亚健康状态。下面是做这行带来的职业困境:
困境之一:老虎的威胁。程序员要面对的饿老虎实在不少,比如说老板,好象老板就是程序员的天敌,什么“不懂技术却指手画脚”、什么“得到与付出不相当”似乎是程序员最常见的牢骚,这个问题不可能得到真正的解决。
困境之二:Bill的竞争。一般说来中国的程序员大都是吃“青春饭”的,大部分程序员的黄金时代是24~28岁。到了30岁左右,一批又一批年轻程序员会给你带来巨大的竞争压力。首先由于软件行业的飞速发展,很多自己以前学的东西逐渐升级换代,而许多程序员由于长期于工作,学习新知识的效率必然下降。其次自己干了几年,薪水要求自然就高了,而年轻程序员工资又低、干活又快,当然会成为老板的首选;第三,30岁基本都已经成家了,要支撑家庭的生活负担,几乎连从头再来的勇气都不会有了。中国的老话说“长江后浪推前浪、一代新人换旧人”,这个历史的规律在软件开发行业体现的尤其明显和残酷,很多程序员必然要面对的结果就是降薪乃至失业。
困境之三:自我的实力。都知道人最难战胜的是自己,所以自我也就是程序员需要超越的最大障碍。大多程序员都把系统分析员和项目经理作为自己的职业目标,但这些目标的达成,需要个人素质、市场机遇等多个方面的条件,太多的程序员就是在高不成、低不就的状态中蹉跎了岁月。对于系统分析员,特别需要以下几方面的素质:客户需求分析能力、系统架构与设计能力、模块分解设计能力、项目流程控制能力、项目风险评估能力等,而对于项目经理则更注重项目管理方面的能力如团队组织能力、沟通协调能力、分析问题解决问题的能力以及良好的职业道德等,而这些素质和能力往往只能依靠程序员个人的学习和努力。看到越来越多的程序员开始学习项目管理的课程,真的有点为他们担心,因为现在的项目管理培训只能停留在理论和考证的程度,既没有素质方面的训练,又缺少实际软件开发项目的案例,学习的结果远远不能达到预期的效果。
⑵ 高级程序员的 必修课是什么呀
一门计算机语言(推荐C),数据结构,软件工程,操作系统,计算机网络,计算机组成原理,离散数学,另外,英语和数学也不能太差。然后可以看深一点的面向对象程序设计,设计模式等等。耐心,缜密的逻辑思维,多上机实践就OK了。
⑶ 程序员工作压力大,身体也垮,为什么还这么多人想做程序员
一、兴趣使然
兴趣会是你辛苦工作的一针强心剂,如果从事的职业就是你自己热爱的领域,那想必即使辛苦你也会感到是苦中作乐、乐在其中吧。跟心中美好的理想相比,辛苦便也算不上什么了。套用金庸的名句“那些都是很好很好的,可是我偏不喜欢”,这里应该说“那些确是极辛苦的,可是我心中喜欢”。
二、性格偏内向
不太会在商场里打交道、陪客户、谈生意等等,更没有有钱有势的亲戚朋友帮忙,程序员是一个很典型的纯粹靠自己技术和能力吃饭的工作,当然如果一个程序员提高人际关系和沟通能力会有很好的发展,比如终极目标之一的CTO或类似职位。
三、收入可观
工资相对于常见的大多数职业来说偏高,基本做个两年左右月薪至少10K起步,甚至很多应届生也可以拿到月薪10K+的水平。
四、对学历没有过于苛刻的要求
是如果技术够好、工作态度认真负责的话,可以放宽学历是本科的硬性要求。
五、市场需求大
随着互联网+战略的提出,进一步激发了大家对于互联网行业的向往,互联网创业公司如雨后春笋地遍地生花,同时互联网行业需要大量的程序员去搭系统、写代码,所以导致了供需不平衡,导致了程序员特别是优秀的程序员缺口比较大,互联网行业的程序员薪水一路飞涨。
程序员这项工作根基于计算机产业。计算机产业的特点就是爆炸式的增长,技术以不可想象的速度迭代。对于公司而言,要跟上发展速度,必须不断的推陈出新,不能有一丝懈怠;对于程序员而言,也要时刻保持专注,不断地学习新的技术和理念。所以要想时刻保持竞争力,辛苦磨砺是必然要经历的过程,不仅是程序员,其他行业亦是如此。
⑷ 普通的程序员和大神级的程序员有什么区别
你好,普通程序员只能做一些重复简单的事情,大神级程序员可以解决普通程序员解决不了的难题,还可以给普通程序员建框架。
⑸ 作为高龄的程序员,跟同行人还有竞争优势吗
本文会给你一些Java工程师职业发展规划的思考,也给很多二三十岁对职业前途迷茫的同学一些建议。希望通过这篇文章,能帮你梳理一下程序员,让你知道如何规划我们的程序员,从20岁初出茅庐到40岁老码农的半条命。
首先我们来看看a 程序员三四十岁的时候有什么可以捍卫我们的核心竞争力。要理解这个问题,就要从反面来看。在职业发展过程中程序员犯过哪些错误,导致他们在职业生涯中后期缺乏竞争力?
适合老年人的几种职业发展途径程序员看了以上内容,大家都知道问题所在,接下来我们来讨论一下:什么样的老年人程序员能被各种30多岁甚至40多岁的公司青睐?
(1)成为技术大牛,掌握公司核心技术
第一种方式是掌握自己行业的各种技术,即使离开这家公司,也是其他公司的对象。我举个例子。比如你一直在互联网行业工作,负责并经历过很多大型互联网公司的核心系统架构设计。对于一个互联网系统,如果你想支持1亿用户,有什么技术挑战,如何设计,你都经历过这些过程。如何支持每秒10万个并发请求,如何设计系统支持数百亿的数据存储。你知道这一切。那么这个时候,你就有了核心技术。
即使你现在的公司不要你,你也会被其他公司完全争夺,因为很多公司需要大规模系统、高并发经验、海量数据经验的架构师。
一千人的部队很容易得到,但一个人很难找到。很容易招到很多工资20-30 K的高级工程师,把一个模块做好。但是很难招聘到一个能掌控全局,在贵公司掌握复杂大系统的资深架构师。这样的人很有价值,很多公司都需要。
这个时候你虽然三十多岁了,但是因为你有核心的技术能力和核心的结构能力,你是公司技术的最后一道防线,很多岗位对你来说都是不可或缺的。再举个例子,比如大数据领域。现在你已经工作了10多年,有了深厚的技术基础,可以完全优化大数据领域的各种系统,比如hadoop、spark、hbase、kylin、elasticsearch等等。遇到问题可以从源代码层面推断解决,可以修改开源项目的源代码进行二次开发。
那么这个时候,你就有了核心技术。未来大数据会发展得越来越好,因为各个行业都有大量的数据,很多公司需要最好的专家来解决自己的大数据问题。所以,即使你已经40岁了,但是你已经积累了多年的核心技术能力,任何一家公司都需要一个像你这样的顶尖牛人来坐镇,解决各种技术难题。
所以如果想往这个方向走,建议一定要从20多岁开始规划自己的技术学习和职业发展。大家一定要想好自己想学什么技术,想学多深,想在什么样的公司积累经验,脚踏实地的走好每一步。到你三四十岁的时候,虽然年纪大了,但是已经积累了足够的技术能力,你的核心技术会像“九阳沈工”一样保护你的身体,让你留在职场,保持热度。
(2)深入业务,成为业务领域的专家型人物
第二条路线,可以考虑成为某个业务领域的专家。你可以在一些业务绝对难且深、业务极其复杂、行业持续发展、业务领域的知识持续保值的领域进行深度挖掘。比如电信、金融、银行、保险、金融、ERP等等。在这些领域的公司里,你不仅可以做技术工作,还可以注意积累这方面的业务知识。就像电信系统和ERP系统一样,业务极其复杂,包含了很多东西。如果能持之以恒,深入挖掘各种商业知识和商业体系,成为这方面的商业专家也是很有价值的。为什么这么说?因为对于很多特定的行业来说,没有高水平的技术是可以做出一个系统的,但是最好的业务专家对其进行控制是绝对必要的,这样才能设计出一个与特定行业相对应、业务极其复杂的系统。所以很多同学,如果走传统行业的系统发展方向,可以考虑多关注业务积累,将来成为顶尖的业务专家。这样,即使你40岁了,行业也需要一个像你这样的“老专家”继续支撑公司的业务发展。
(3)带领团队:踏上技术管理之路
另一种方式是走技术管理的道路,相信大家都懂。作为任何公司的老板,他都需要技术经理,技术经理需要懂技术,但不是特别精通,但必须有很强的团队管理能力。作为团队经理,你需要有驾驭公司大技术方向的能力,有足够的行业人脉和资源去招募和组建合适的技术团队。另外,你应该能够制定出技术团队的工作流程和规范,在团队之间定义和分配责任,让每个团队能够有效合作,最终成功支持公司的业务发展。这个管理就两个字,其实背后的知识很棒。要把几十个甚至几百个不同的人拧成一根绳子,保持强大的战斗力,做好公司的配套工作。其实这里很难,考验一个管理者的水平。如果可以从几个人的小主管,到几十人的技术负责人,再到几百人的高级技术经理。
如果你能朝这个方向发展,其实到了40岁,你就会有相应的竞争力,因为很多老板需要你丰富的技术管理经验来掌控公司的技术团队。当然,说实话,真正能做好技术管理的人很少。尤其是我们有技术背景的学生,普遍比较内向害羞,不太会交际。所以对于大多数普通工程师来说,个人还是推荐技术专家或者业务专家以上的路线,机会比较多,更适合大多数人。
(4)转换其他岗位或行业
如果有人说,我对技术没那么热情,想当专家,又讨厌整天在业务上工作,没有做技术经理的天赋,怎么办?然后30多岁的时候可以考虑写代码,做点别的。比如考虑转型为产品经理?考虑做互联网运营?还是考虑做软件销售?也就是说,你可以考虑考上一定的技术背景,转型到技术行业的其他岗位,在其他岗位积累经验,成为一个不可或缺的人。更何况在北上广工作了10年,积累了一定的资金,在老家买了房子,然后回老家做生意,比如开餐馆什么的。这也是一种方式,只是这个因人而异。毕竟每个人的网络资源都不一样。
总结
最后一句总结:无论选择哪种方式,首先要想清楚自己想成为什么样的人。你需要仔细想想,有了10年以上的工作经验,你会积累哪些核心竞争优势。然后仔细考虑这些优势是否是刚毕业的年轻人绝对不可替代的,其他公司的高级职位是否一定有你这样的人。把这些事情考虑清楚,剩下的就是继续朝着自己的目标前进。在此期间,你可能会感到困惑,甚至怀疑最初的决定。但还是那句话:相信自己,不要忘记自己的主动心态,用眼泪完成自己选择的路!我最不想看到的就是,30多岁的我,只能“用”各种技术,十几二十种技术,什么都能用。但是没有技术深度,没有竞争力,只是一些使用上的经验。
如果是这样的话,刚毕业的年轻人可能在一到两年内学会如何使用这些技术,也许在关键时刻可以取代你。这些家伙只是没有经验,但是他们可以加班来弥补,而且他们要求的工资比你低很多。希望每一个程序员兄弟都有美好的未来和生活。程序员这条路充满了困难、障碍和挑战。但它也充满机遇,需要不断的学习和进步。最后引用最近很火的电影《哪咤》的台词来结束全文:我的命运由我决定!
⑹ 程序员的核心竞争力是什么为什么
终于有一个问题可以好好说说我遇到过的弯路了。我认为程序员的核心竞争力如下:1. 整合现有资源的能力,什么时候造轮子,什么时候不造轮子,什么情况下利用公司自己的轮子,什么情况下利用开源的轮子。2. 产品发展方向的规划能力,一个技术类的框架,产品,平台,需要程序员明确什么问题是要解决的,什么问题是不要解决的,产品相对其他竞争产品的优势在哪些方面。3. debug能力,有了线上问题,可以一撸到底,无论问题在哪里,操作系统,文件系统,虚拟机,框架,等等,都可以定位问题所在。4. 文档、pr能力,作出了产品,可以迅速了解优势所在并推广5. 编码习惯,比如严谨的持续集成,测试样例先行,之所以说是习惯不是技巧,是因为好的编码习惯,可以持续为团队带来更大收益,而好的编码技巧没有那么大的效果。切忌以下行为:1. 长时间调研没结果,学习了很多框架,做法,无法认真对比优劣,这就是不能抓住核心的问题2. 被需求牵着鼻子走,失去了产品的规划方向,或是走到哪算到哪,做出来的东西因为臃肿的需求越做越繁琐3. 随口乱说release时间,总是失约
⑺ 数字经济时代,程序员的核心竞争力是什么
随着数字经济时代的开启,元宇宙、区块链等产业的蓬勃发展,当前的就业市场对程序员的要求早已不再满足于基础的写程序。时代变革下,面对强大的竞争压力,程序员只有提高核心竞争力,才能保障不会被替代,从而在职场中立于不败之地。那么作为一名程序员,你知道究竟何为这个岗位的核心竞争力吗?
不想当将军的士兵,不是一个好士兵。同理,不懂管理思维的程序员也很难成为一个顶尖的程序员。程序员要想发挥更大的影响力,就必须能够带领一支团队能打胜仗,个人英雄主义在当今互联网软件行业已经行不通了。
对于企业而言,拥有管理能力的人才,可以保证企业的利益产出外,管理上也会更规范。而对于个人而言,拥有管理能力不仅能提高自己的工作能力、职场的竞争力,对于后期晋升管理岗来说,也是很有利的条件。所以,不管怎样,懂管理是每个优秀的程序员所必须具备的。
⑻ 关于程序员职业生涯规划
链接:http://pan..com/s/1p1G4NCUtPNVvkkXE7qxFbQ
程序员进阶攻略。如何才能持续成长,是每一个程序员都绕不开的话题。入行之初,你可能会困惑于技能选择的方向和掌握的方法;编程前期,你可能会苦恼于Bug的调试与修复;技术水平达到瓶颈期,你可能又急于寻求突破和上升。除此之外,职业倦怠了,如何去面对?技术停滞了,如何去解决?人到中年,是选择工作还是选择生活?换工作?换城市?换方向?如是种种,磨蚀着曾经的乐观和现在的不甘,是放任自流还是逆流而上?
课程目录:
开篇词 (1讲)
开篇词 | 程序行知:走在同样的路上,遇见自己的风景
征途:启程之初 (4讲)
01 | 初心:为什么成为一名程序员?
02 | 初惑:技术方向的选择
03 | 初程:带上一份技能地图
04 | 初感:别了校园,入了江湖
修炼:程序之术 (10讲)
05 | 架构与实现:它们的连接与分界?
......