普通程序员的工作生活是怎样的?

普通程序员的工作生活是怎样的?,第1张

从事软件开发多年,在编程行业真正的架构师比例少的可怜,就目前国内软件开发环境而言,真正意义的架构师还不是很多,因为大部分的代码框架几乎从开源代码社区里面拿出来,然后定制成自己公司产品需要的,其中研究框架的时间比较长的,并且能够深度定制的程序员就算是高手了,因为很多开源的代码更新速度非常快速,能跟上开源社区的代码更新速度的企业已经是实力非常强的公司了,国内企业现在真正意义上的从头开始设计一个框架然后推向市场相对比较少。

经过十几年的发展,国内编程人才的平均水平已经上来了,虽然在顶级程序员由于在编程底蕴以及生态系统这块有差距,但基层的程序员水平已经上来了,国内很多互联网公司做的产品有些已经不弱于欧美等企业,这些都是国内程序员水平提升的结果,而且现在由于培训行业在国内普及,入门级别的程序员在国内数量巨大,所以很多人喊着国内程序员行业已经饱和了,已经不适合再去从事程序员的工作了。

事实上国内软件行业内需依然足够多,特别是现在的三四线城市都陆续出现了软件公司,而且规模和数量都在提升,国内企业对中高级程序员的需求量还是非常巨大,五六年大小公司对于这类的人才招聘一直没有停止过,而且薪资水平还维持在非常高的水准,了解这个行业现状对于规划自己的职业生涯还是有着非常大的好处。

架构师这种职位可遇不可求,基本上国内架构师都是自己本公司内的优秀的软件工程师,成为了优秀的程序员并且在公司内部深得公司的信任愿意给这种突破的机会,抓住了后边的就会给与架构师的待遇,不是每个程序员天生就是做架构师的料,关键还在于平时的积累,有了机会抓住了,要成为架构师先要自己成为一个优秀的程序员,优秀的程序员需要具备什么样子的因素,现在就根据自己技术生涯的一些经历分享给大家。

基本功扎实。 很多程序员在入门之前由于在学校里面比较重视基础,还能看看基础,在成为了程序员之后就开始放松了对这方面的要求,所以导致很多程序员见到有笔试的公司,直接就选择了放弃走人,不能讲这类的程序员水平不行,但起码不是优秀程序员的范畴, 优秀的程序员是经得住基本功考验的,是不怕这些所谓的笔试题目的。

算法扎实。 很多程序员做了很长时间还不觉得算法挺重要,算法贯穿整个技术生涯,如果没有意识到这点说明意识层面还没理解到,证明需要弥补的东西还是非常多,有些程序员可能是学习了一门编程语言就匆匆去找工作了,运气还不错还找到工作了,没有很好的规划技术生涯路线,一个标准的程序员需要的一门基础的编程语言,熟悉数据结构,并且穿插着学习算法,这三样也是优秀程序员的标配,学习技术不是由着自己性子去做事,需要有规划,这其中不能少了算法的因子。

锤炼编程思想。 很多程序员觉得能够写代码,时间长了经验到位了慢慢就能熬成资深技术专家了,程序员不是靠着熬日子过的,需要不断的提炼编程思想,举个简单的例子,做网络编程如果懂得了一门编程语言的编程经验,相信切换到别的语言只需要很短时间内就能搞定,而且积累总结类似的场景以后遇到这种场景都能灵活应对,还能同步迁移到类似的场景,不能只是为了做而作,仅仅就是为了完成任务,那么提升的空间有限,不能因为工作承担的东西就这么点,而不去补充其余的东西,善于总结也是优秀程序员需要具备的一种意识。

成为架构师没有所谓的模板,而且有些人一辈子也没有这种机会,但想要达到这种境界就需要先让自己成为一个优秀的程序员,这样子遇到有理想的企业抓住机会就上去了,一旦进入这个级别后面的编程生涯就会有根本的变化了,关键在于平时一点一滴的积累,让自己长期处于一种高效的学习状态,有太多的程序员经历了几年的适应期就提前让自己进入了舒适期,结果随着年龄的增长技能没有相应的跟上导致年龄大了竞争力下降,出现了老了被企业淘汰的悲剧,什么样子的态度决定什么样子的人生,也就决定了什么样子的结局,希望能帮到你。

作为一名IT行业的从业者,同时也是一名计算机专业的研究生导师,我来回答一下这个问题。

首先,目前IT行业内大量的程序员确实无法成长为架构师,主要原因集中在三点,其一是自身的知识结构不足以支撑向架构师方向发展;其二是岗位工作任务受限;其三是行业迭代速度太快,学习压力较大。

早期的架构师主要集中在后端领域,针对于不同的开发领域,对于架构师的要求也不尽相同。总的来说,架构师的任务主要集中在三个方面,其一是整体技术框架设计;其二是技术选型;其三是解决难点问题。所以对于程序员来说,如果想成长为架构师,需要做好以下几个方面的知识储备:

第一:丰富的开发经验。 开发经验通常是软件架构师的基本要求,通常软件架构师都是从初级程序员、主力程序员、研发级程序员等岗位一步一步成长起来的,每一个阶段都会积累一定的开发经验,这些经验对于架构师的方案设计会起到重要的作用。对于大量的程序员来说,从主力程序员向研发级程序员发展会存在较大的困难,主要原因就是基础知识结构的问题,不少程序员通过读研的方式完成这一步升级。

第二:丰富的知识结构。 架构师的知识结构不仅仅局限在技术层面,还需要掌握大量的行业知识,不同行业领域往往有不同的特点,要能够根据这些特点来完成具体的方案设计。

第三:紧跟技术发展趋势。 架构师一定要紧跟技术发展趋势,同时能够对于未来的发展方向有较强的认知能力,这对于架构师的方案设计会起到重要的作用。对于技术趋势的认知能力,是判断一名架构师能力的重要因素。

架构师并不是一个很好玩的升级路线。

相对于架构师的开发工作。研发工作更有趣,更容易得到 社会 的承认,不论是图形学,还是人工智能,区块链,甚至黑客(网络安全),凭借你的智慧和努力,可以在短时间内取得成就,并达到一个很漂亮的高度。研发方面是拼年轻,智商和体力的工作,有众多的天才少年取得漂亮的成果,每年有大量新的技术突破和文献等着大家研究。你做的每一件事情,都能表现出漂亮的成果,全局光照,计算机视觉。或者很容易赚到很多的钱,自动驾驶或者区块链ico,就算做 游戏 外挂,其收入也大得超乎你的想象。

而架构师不是,架构师拼的只有经验,正确的方法和项目数量。《C++程序设计新思维》里面有一句话:“只有天才的程序员没有天才的构架师。” 在构架师的世界里不存在天才,只存在重构。一定要有正确的方法(敏捷开发),然后就是无数个项目和时间的铺垫。然而对一个架构师应该明确,我们的职责是内部质量而不是外部质量,我们要把软件做的强壮且易易扩展。但你会发现,对于外行麻瓜来说,这根本不吸引人,麻瓜老板经常说一句话:你功能做不出来我们公司就破产了,别他妈的再花时间重构了。

至于为什么架构师很少

内部原因是: 架构师太无趣了,相对于图形学光照算法,你却强调测试驱动重构持续集成。研发工程师会得到大量的外部激励,所有人都去赞扬他们的成果。而构架师需要从自身产生激励的能量,比如对代码的洁癖,重构在不改变功能的情况下不断优化代码质量,一个分层,一个正确的依赖关系,甚至一个精简美丽的命名,都需要由衷地感到兴奋和刺激。否则很难熬下来。

外部原因是: 浮躁的 社会 容不下一个架构师成长的时间和空间。一个框架师需要大量的项目经验,超级长的编码时间。坚持正确的方法和一个融洽配合的团队。国外的架构师都是大胡子,而国内程序员到30岁,老婆就催着要去做管理岗位了。和研发工作拼智商不同,架构师就拼的是经验,没大胡子没五六十岁很难成为xx之父这个级别。

行业原因是: 架构师容不下架构师。架构是艺术不是科学,没有一个统一的标准,每个成型的架构师心里都有一套属于自己的程序结构和原则,你可以看到十个图形学程序员基于一个算法合作,但你很难看到两个架构师做一个项目不打架的。架构师需要有自己的团队来验证自己的观点和共同进步,但就如同食肉动物永远是食草动物的十分之一,行业也没那么多团队给架构师来糟蹋。

经历过很多项目洗礼,并有自己的想法和能力的架构师,必然是稀有动物。

但看起来无聊的架构师有什么用呢?

他是辅助英雄,给整个团队加各种属性光环:降低代码中的混乱(熵),让团队中初级的程序员做出高级的代码,提高单位时间效率避免加班,让团队更容易进入未知领域,大幅度降低企业成本。

我现在做的混合现实领域,这是一个新的领域,有一个优秀的架构师可以在没有前人经验的情况下开疆辟土,并且可以带起来整个团队的开发质量,降低成本给客户更多的获利空间。

这个问题不知道提出来的缘由是啥,其实问题不是很合适,不过还是一分为二的来回答一下,如下:

架构师不是谁都能做到的,我想说如下几点:首先,应具备的素质应该是快速的学习能力,需要从平常的任何工作活动中,快速学习,包括从自己的本质工作完成,以及与他人的交流中,而后者又尤其重要,从别人那儿学来,而快速形成自己的理解并超越对方,而这,从自然规律角度上来讲,这只有少数人能做到;

其次,需要具有全局的视野,能平衡整系统各子系统之间的解耦与耦合,这个需要积累,需要在各子系统内有实际项目的、比较成功的设计编码的问题处理能力,而尤其是问题处理能力又尤为重要,这也不是段时间能达到。

第三,在这个行当内,能静下心来踏踏实实,保持饥渴的学习,保持积极正向的心态,不断的越挫越勇,始终往设计架构方面努力,在当下整个行业浮躁的环境下,很对都想通过不断的跳槽来达到涨薪的目的,这又会淘汰一大部分人。

最后,即便具备了素质,你能否当上架构师,取决于客观因素了。因为一个架构师,决定了他所在领域的发展规划,以及当前的问题现状的改进,这个位置至关重要,不是那个人,上一层组织关系是不会让你做这个位置的,上层组织还会考察你除了技术能力以外的,诸如与人沟通,管理你的上下级,包括你的上级的上一级到连三级的关系,关系到你的直接老板的,这些其实就很难说了。

呵呵,当然了,还有其他很多了,靠这个问题是说不清道不全的。

真正的软件架构师对各方面的职业素养都要求比较高。架构师的工作,不是平时工作的简单堆叠,除了专业技能要过硬外,还要思维活,想东西细致全面,需要自己去主动去接纳工作以外的大量知识。此外,在性格方面也有一定要求,一个软件架构师往往还需要具备善于沟通的品质。

总而言之就是要技术好、思维活、会交际。大多数程序员做不到架构师的位置主要是因为自身能力达不到,其次是一个公司里面架构师占比本来就想小。

一般程序员在公司负责的工作主要是维护日常的需求,在原有的架构上进行修改,所以很少会接触到架构层面的东西。长期缺少接触相关的知识及业务的机会,久而久之离架构师的标准也会越来越远。

年轻的程序员在知识储备上无法达到成为架构师的标准。

现代的高可用架构一般为:RDS、Cache、MQ、后端服务、监控服务。而随便拿其中一个点,都有着非常多的技术点知识点需要掌握。

比如在多系统交互中,如何保证MQ中的消息能被对方系统消费,如何设计高可用的服务负载均衡,这些都是需要很多经验才可以解决,但是一般的程序员又不容易接触到架构设计。

而年纪大点的程序员要么是后期缺少折腾的的动力,要么在职业发展途径走到不同的分岔路口,最终走上架构师这个树枝上的寥寥无几。

小富即安的心理。很多程序员满足于现状,缺少坚持不断学习不断提高的动力,每个月拿着万把块钱的工资,心安理得,懒得去折腾。

一个公司架构师在广大码农里面占比还不到10%,能成为架构师的一般都在公司里担任研发和管理的角色,想象一下公司团队的人员金字塔你就知道竞争力有多大了。

平常,开发的团队一般都是10多人组成。几个团队间一般会存在一个技术面最广、技术经验较充足的人,叫做架构师或者说是TL。而架构师的存在,一般在众多的码农中占的比例少之又少,可能连码农总人数的10% 都达不到。软件架构师也存在初中高级。

码农都会写代码,对计算机编程语言都有自身的理解。但是很多时候,程序员或者说是码农只是机械的完成自身的编码工作。为了完成任务,成长有限。

看到这里,很多人都会说:编码时间长了,经验积累的足够,自身也就逐渐成为了资深技术专家。想法其实不能说是不正确,在一个人见多识广后,自然自身的内涵也就足够的丰富。从码农的角度出发。除了架构师,很少有35岁以上的人士会在互联网做程序开发。而一个人想要通过机械性质的编码积累经验。需要多少年成长才能见多识广呢?是否会有码农坚持到那一时刻呢?一个值得商榷的问题

码农是一份年轻人为主的职业。平均从业者的年龄都是20多岁。慢慢熬、慢慢积累在码农中也不能说错。但是很多人在软件开发领域积累一定的经验后就会转型不做开发。

所以说,长久时间的码农很少。而在短暂的码农开发软件的工作中,脱颖而出,成长起来的人更少。

些许拙见,供您参考。

从事互联网开发多年,欢迎大家骚扰

小团队一般 10 人左右,其中常常是技术最牛的人做架构师(或TL)。所以,架构师在广大码农中的占比大概平均不到 10%。而架构师也可以分为初级、中级、高级三档,江湖上真正高水平的软件架构师就更少了。

所以,大部分(超过九成的)码农干上许多年,还是做不了架构师,这是什么原因造成的呢?

1:码农分为真的能写代码的,以及自认为能写代码的。

2:真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。

3:真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状的。

4:会钻研的码农又分为喜欢广度了解新技术蜻蜓点水的,以及深入钻研用到知识的。

了解广度的码农又有少部分愿意深入某些技术,喜欢深入研究的又往往缺乏广度知识。

6:为业务而技术的深度广度都了解的码农,又需要有良好的沟通能力。

7:而沟通好的,又有一部分当PM去了。

8:然后剩下的,又有一部分慢慢脱离实际开发(不再做任何实现)或者开始依靠拿各种中间件搭积木来作为“架构”手段。

9:除去这些,剩下对业务有一定了解,对技术广度上有多种涉猎,深度上对部分技术研究彻底,还有很重要的一点,考虑问题足够细致全面。

10:细致全面善于沟通,技术上深度广度都没问题, 又喜欢这个工作,还会不时做底层实现,从业务和开发两个角度出发,搭出“架构”来是为了开发效率,为了运行效率,为了开发质量,为了业务灵活和运行稳定,为了维护方便等等这样的人,个人认为可以称为“架构师”。

而真能满足这种需求的,别说题主的10%的比例,1%能不能达到我也持怀疑态度。其实现在的“架构师”大多数都停留在8这个层次,甚至很多在5这个层次就当上title上的架构师了。

总之,成为架构师,不仅仅是工作上的简单积累,更需要主动接纳工作外的大量知识,同时,对性格上对于非技术能力上也有一定的要求,不仅如此连思维方式都很重要,外加职业发展中又有很多岔路,最后走到架构师这根树枝上的就寥寥可数了。

如果你想要往架构师的方向发展的话,那或许你可以看一下我分享给你的这份进阶路线图,主要针对2到5年及以上工作经验的Java开发人员,里面的技术包涵了Java高并发、分布式、微服务、源码分析、高性能等技术,这些也是目前互联网企业比较常用的技术,那么来详细看看。(可以保存)

一:常见模式与工具

学习Java技术体系,设计模式,流行的框架与组件

常见的设计模式,编码必备

Spring5,做应用必不可少的最新框架

MyBatis,玩数据库必不可少的组件

二:工程化与工具

工欲善其事必先利其器,不管是小白,还是资深开发,玩Java技术体系,选择好的工具,提升开发效率和团队协作效率,是必不可少的:

Maven,项目管理

Jenkins,持续集成

Sonar,代码质量管理

Git,版本管理

三:分布式架构

高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的:

分布式架构原理

分布式架构策略

分布式中间件

分布式架构实战

四:微服务架构

业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?

微服务框架

Spring Cloud

Docker与虚拟化

微服务架构

五:性能优化

任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:

性能指标体系

JVM调优

Web调优

DB调优

如何一起学习,有没有免费资料? 有需要的滴滴滴哦

软件架构师?似乎是个明确的职位或者岗位了。然而,他在软件产品开发过程中,充当什么角色?起什么作用?确众说纷纭,缺乏共识。成为一名架构师,码农根本没有明确的努力目标。这是问题的关键,架构师,是上级领导、老板对某些软件开发人员的“认同”,是某种管理理念的体现,不是软件产品生产活动中某个具体的岗位、角色。

软件工程师和程序员区别主要表现在以下几方面:

1、概念不同:软件设计师是指能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档的实用性人才;而程序员指的是从事程序开发、程序维护的基层工作人员。

2、工作职责不同:软件设计师主要职责是组织和指导程序员编写、调试程序,并时软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;而程序员主要负责软件项目的详细设计、编码和内部测试的组织实施,对小型称件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

3、拥有一定的编程能力的都能称为程序员,不需要考证;而软件设计师需要通过计算机软件资格考试的中级考试。

通常我们进入公司以后,不会是重头开始一个项目,而是在已有代码的基础上进行维护或新功能的开发,所以必须“读代码”。

读有“泛读”,了解系统架构、功能模块,对系统有一个大致的认识,各个功能能找到相应代码实现的位置。

还有“精读”,通常就是调试了,在fix bug的时候使用。此外还包括审核:一些规范一点的公司,都会有code review,也是精读,但不用debug。

对于一个成熟的项目来说,读代码——而不是写代码——可能是最耗时间的工作了。

写注释文档

为了减少“读代码”的时间,我们不得不花时间“写注释”“写文档”——这个程序员最深恶痛绝的工作。所以现在“烂代码才需要注释”的声音变得越来越强,但无论如何,文档还是要写的。(注意:要能区分注释和文档)

了解需求

好了,终于到了“写代码”的时间了。

然而,在动手开始写代码之前,你必须花时间“了解需求”。和自己写个小程序玩玩不同,在公司,你是为别人写代码,所以你一定要了解别人究竟想实现什么功能。通常,这并没有你想像的那么简单,需要反复的沟通。

当然,也有一些团队和个人,不愿意在这上面“浪费时间”,通常他们的下场就是不断的写代码,然后不断的改代码,加班加点的做大量的无用功,整个公司怨气冲天一地鸡毛。

现在国内程序员几乎成为了加班的代名词,但欧美的程序员疯狂加班的相对比较少,对于这一点倒是有这种感受,之前曾经外企工作过一段时间对这种有类似的感受,讲一个真实发生的事情,曾经和美国总部的程序员一起合作做一个项目,由于项目的周期赶得很紧,周末去加班,结果需要配合的美国程序员的加班申请没有被批准下来,只好在自家院子里修栅栏种菜,这种情况在国内几乎是不可能发生的,项目赶得紧加班加点是常有的事情,而且默认是不存在什么加班费之类 ,项目紧急状态下也会默认自动加班。

由于当时入行不到两年,非常不理解,还去找项目负责人说到这个事情,最后这个事情也就不了了之,其实这也反映了中国和美国上的差异,在国内做程序员拿的工资比普通的工种还是要多很多,但在美国这种差异不是很大,主要是各行业整体来讲已经比较成熟,即使环卫工作也算正式的工作,各种保险也是正常给上着,整体来讲不同职业的收入差异不像国内的那么大,在欧美正式的工作加班就需要支付加班费,一般情况下不提倡通过加班来完成任务。

就本质而言中国的软件行业相比欧美还是存在较大的差距,在迎头赶上的阶段加班加点也算是正常事件,再加上国内互联网进行的如火如荼,这也是难得在互联网领域赶超欧美的一个好机会,又把程序员加班的气氛带动了一番。

为什么欧美程序员加班比国内程序员少一些?

1相比来讲欧美的产业更加成熟一些,加班基本上都会配套加班费,在这中国几乎是不可想象的事情,技术工种和别的工种的工资差异也不是那么大,所以在欧美找一个正式的工作难度要远高于国内,所以从公司角度效率主要在上班时间提升,加班基本意味着加班费,需要领导审批,不提倡加班。

2国外程序员的比例不像国内这么失衡,需求量不是那么迫切,供需关系没有那么紧张,而且大部分公司不提倡加班,加班支出费用比正常上班的工资要高,即使加班风气很浓的日本,都开始对加班说不了。国内软件行业相比发达国家在积累方面差距还很大,正是需要迎头赶上的时期,加班加点也属于正常现象。

行业成熟了,供需关系平衡了,有底子了加班现象自然就会减少。

去年上半年,一位同事去了德国,仍然是从事程序员的工作,然后给我们讲述了他的亲身经历,让我们羡慕不已。

他们一家三口过去的,孩子已经上小学三四年级,去了德国一个不是很有名的城市,据说华人非常的少。工资在5千欧的样子(估计也是刚过去的原因),不过还要交各类保险,税后多少我也记得不是很清楚。

让我印象最为深刻的是,这位同事去了没多久,媳妇儿就怀了二胎了,于是震撼的消息来了,他现在可以一周只去单位两天,而且工资不变,其余时间可以照顾媳妇儿,直到孩子出生或到一定的年龄(有点儿像我们的陪产假,不过人家的陪产假非常长)。大儿子上学自己只需要缴纳一点点钱,据他说等老二出生之后,不仅没什么开销,而且每月还有几百欧的补助。

那么欧美程序员真的不用加班么?且听我下面的分析:

最近新东方年会的一个节目火了,歌词用到程序员身上,也是恰到好处。

“干活的累死累活,有成果那又如何,到头来干不过写PPT的”

“只会为老板的朋友圈高歌,领导随口一说,立刻讨好跟着,项目马上启动不计后果”

说的太好了,我都不禁起立鼓掌了。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

相比于国内动则 996,227 的超强度工作,欧美的程序员是没有这么夸张的。但不代表欧美程序员就不加班。

本人工作隶属一世界五百强外企,刚刚带队完成了一个大型的IT系统上线项目。涉及到近百人的项目团队,其中大部分程序员、业务分析师都是老外,有几个外部关联的系统是从美国购买的,所有的程序员都是美国人。

我在中国,所以和美国东部有十二小时的时差,这时候无论中国或者美国的项目团队,都得加班,否则时间上凑不到一块儿。

要么美国人早上5-6点就到公司上班,要么中国人晚上6-7点继续加班,或者反过来。当然,美国人是不怕起得早的,很多人为了早下班,宁可早上5-6点就到公司上班了,这样可以下午4点多就下班回家接孩子或者happy,这点跟中国人相反,中国人很少愿意早上5-6点就来公司上班。

就算是这样,我们在项目非常紧张的时候,也给美国的供应商下了死命令,就是中国人在做系统切换的期间(一周),美国人方面的程序员必须按照 中国的工作时间 同步,也就是他们晚上9点到早上9点之间必须随时待命,这对他们来说是不折不扣的加班。

美国人也没说啥啊,钱给到位了,还是乖乖的加班了啊。

欧美的程序员,能吃苦的还是很能吃苦的,但是混子也多,一个电话就能分辨出来,对于那些一上来就推三阻四各种绕的程序员,我通常做法就是 一次容忍、二次警告、三次请你走人 。

毕竟上百人的大项目,我没这个时间和义务来教育你如何做好你的工作。

当然,欧美毕竟还是要轻松一些,很多人给你加班一周之后把任务完成了,是说什么都要去休假的,只是这时候如果你还非要在他休假的时候去骚扰他,他也会毫不客气的拒绝甚至立刻投诉的。

只能说,欧美人相对守规则一些,把私人时间看得更重要一些,但不代表他们完全拒绝加班,或者说不愿意加班。

希望我们国内的公司,也能多一些这样的契约精神,不要天天搞什么“狼性文化”,把员工都榨干了,最后也不过是涸泽而渔罢了!

国内It最大的问题是许多公司的it从业者素质不高:领导自己对问题都没彻底清楚。提需求的人没有成本,无止境地提不靠谱的需求。码农自己开发时也图快,代码极粗糙,连自己都觉得写的是shi,同时也提高了系统的风险(不少跨专业报名培训学校,培训几个月直接上岗,别指望他们懂更多)总之就是,leader很忙,产品很忙,码农很忙,测试很忙,就是这样的恶性循环。

我在美国做程序员第二个年头了。在刚毕业那会,我会说,放屁!谁说美国程序员不加班,有deadline或出bug的时候都一样都会加班。

但是后来…好吧,我发现我错了。在我了解了996之后,好吧,我觉得美国那不叫加班

推荐你看浪潮之巅这本书,就讲了上世界美国it行业的发展。

怎么说呢,欧美的程序员肯定还是会加班的,只不过不像中国企业这么严重,这么普遍。

首先明确一点,欧美IT企业加班少,并不是不需要加班。欧美IT企业加班的需求也是非常高的。

但是为啥程序员还是加班少呢。

第一个 原因就是工会

其实中国和美国法律都一样,都是规定每天8小时工作制。加班需要付加班工资。

但是美国之所以企业不敢越雷池,主要是有一个逆天的工会存在。美国工会强大到谁都敢怼,美国就发生过警察工会发动警察罢工的事情。警察的雇主是政府,工会政府都敢对着干,还怕你个小小的IT企业?

所以,如果一旦加班弄到员工都不满意,工会真心能让你吃不了兜着走。让你再也招不到人都不是问题。

第二 就是美国程序员工资高

如果企业实在忙,要求员工加班,那就必须付高额的加班费。这个实在是肉疼啊,一般来说企业是承受不了的。

那企业不给行不行?恐怕法院会让你长记性,美国加州某个企业曾经就因为加班,被法院判赔偿了17亿美元。这么一来,谁敢不给加班费。

有的人问了,你不是前面说美国IT企业加班需求也是很大的,那怎么办。

是的,任何一个IT企业都有大量的加班需求,但欧美企业又不能强迫员工加班,于是他们想出了几个办法。

一 勾引员工自愿加班

别笑,这是真的,你现在如果去美国硅谷,一定能看到很多程序员在加班,但是基本上都是自愿。

我不是在胡说八道,欧美IT企业勾引程序员加班有很多诏

d性上班时间

早上不要求你按时到,你自己自由安排上班时间,不知不觉就加了几个小时班。这是很有效的勾引程序员加班的手段。

用办公环境来勾引

我们来看一下:

微软的办公环境

谷歌的办公环境

休息仓

你们以为企业给程序员弄这么好的办公环境是为啥?谷歌甚至还给提供免费理发!这个不是企业钱多烧的,只有一个目的,勾引你加班。

我觉得在这种环境下,员工不自觉的就自愿加了好多班。

第二 外包

如果勾引来勾引去,程序员还是不来加班呢?或者小企业,根本没有谷歌微软这么好的环境,怎么办呢?

这种情况下,美国IT企业会把做不完的活外包给程序员工资相对低的地区,那就是中国和印度了。

中国和印度,法律对加班管的不严,程序员工资低,于是美国很多公司都喜欢把活交给中国和印度来干。

我们中国企业就比较惨了,没办法再外包了,非洲,中东这些地区根本就没有多少IT人才。只能自己干了,反正象征性的给点加班费就行了,成本也不高。

美欧的程序员不常加班吗?为什么?个人认为这是环境决定的,现今国内各行各业都是这样加班加点干事情,看看有多少民营私营企业有周六的,每天能够准时下班的就明白了。良心点儿的企业还给你算加班,有些企业就明确说一周只休息一天,想干就干不想干双方不再见。

而国内程序员这个职业加班更甚。绝大部分的软件、互联网公司基本都是民营私营公司,而且又得赶工期、节约成本,那就只有逼着程序员加班了。虽然看起来名为高工资,可实际上算下来单位时间的工资并不一定比早九晚五的企业高多少。每天10几个小时,有时周六周日都在加班,这种还是常有的事不稀奇。甚至有些公司明确说明,我们给的工资较高,没有加班费甚至也没有换休,干就干不干拉倒。

而这一切也源于我们的工作生活环境造成,还有相关的法律规定是否执行到位,是否有人来监督,是否有地方去申诉。另外整体收入较低的情况下,大部分程序员为了那份收入与那个职位,也就默认被压榨而不出声。你出声可以,那就另谋高就吧。特别是现在程序员供过于求,更是很多企业毫无顾忌这样搞。企业为了追逐利益最大化,加班是一种很常用的手段,而且还不用付出什么成本。

在欧美,市场及管理相对较成熟,程序员与其它行业一样就是个普通的职位。在整体大环境下不提倡加班,有人监督有投诉地方,自己不愿意加班那就不能被逼加班,否则可能被投诉被诉讼,企业会吃亏。所以在做项目计划时,一般会按照正常工作时间进行详细预算计划工作量,如果真正完不成还有可能进行协商,重新预算工作量。不像我们很多企业,有时连周六周日都有可能给你计划上工作量,完不成?要么说你能力不行走人,要么自己往死里加班都要完成工作量,美其名曰为了达到客户期望一定要保证交货期。

企业说,不愿加班?那就到欧美去吧。

更多分享及互动,欢迎点击右上角关注东风高扬。

这个问题是多方面的,如果了解国内一线外企的工作状态,可能就很好理解了。

一方面,外企的工作是以效率为导向的,形式化的东西非常少,硬性的规定非常少,从教育上,欧美国家就主张创造性和自主性,更加主张思维独立和创造性思维。所以在一些硅谷的大企业中,一个普通员工也可以提出一个想法,而一旦被采纳,这个项目就可以推进执行。你会发现他们的沟通效率很高,工作效率很高,信息流通性很好,而且员工所在的环境十分自由,可以以自己最舒适的状态工作。这其实就是 以做事为目的,以效率为导向。

而中国的本土企业习惯了所谓的“管理”,从教育上培养的是应试教育,从小教导要听大人话,要听老师话,要听领导话。却很少鼓励学生提出自己的问题和质疑,限制了孩子的创造性思维。等进入了企业以后,官僚气息严重,形式主义严重,基层员工完全没有话语权,埋头苦干受累背锅,领导一句话没活儿也得加班。

然后就是找一群留学海外,有想法的人,带着一群本土毕业没想法的人做事,其实大家都很难受。

第二方面,即便有些时候工作真的做不完,你想加班,在外企也不一定加的成。加班需要申请,因为超过上班时间公司需要严格按照加班标准支付薪酬,而一般在国外,加班要支付的加班费非常高。

所以除非十万火急,国外大部分企业是不可能让员工加班的,各种法律条文保护劳动者不是开玩笑的,不遵守分分钟告到你哭。

第三方面,有很多西方人,即便你给他高额的加班费他也不想加班。很多人说中国是最勤劳的民族不是开玩笑的,我们接受着勤劳致富的教育,也确实做着勤劳致富的事情。国内互联网行业所谓的高工资都是以疯狂加班为代价的,就这还有多少人削尖了脑袋想进入这个行业,估计在西方人眼中很难理解。

外国人大部分没那么勤劳,喜欢享受时光,这跟发达国家本身富裕是分不开的,他们的生存压力没那么大,不太用担心没饭吃,所以穷人很多都不愿意为了钱而卖命,更别提有知识有学历的高级人才了。

动辄好几周去海岛度个假的国家人民,怎么能理解我过有年假都没法放的痛苦。

美欧不光程序员不经常加班,从管理到基层员工也都不经常加班,因为第一,人工昂贵;第二,劳动法严格,加班要付昂贵的加班工资,不付被举报的话企业要被巨额罚款,所以企业方方面面都高效做事。一个产品,从设计方案开始就讲究个环节的完善,实际开始制作的时候各部门要高度同步与协调。各项工作的计划都是提前一年来安排时间表(这也是生产环节外发海外逼出来的传统),很少有像我们这里8月开的大会7月才开始各类订制与协调,各项制度不完善,高管大会摔话筒的事发生。领导也不会今天临时脑袋一拍在产品里加个功能,明天再取消另一个功能,然后让员工日赶夜赶。西方的工作看起来节奏很慢,但是实际效率很高;我们的生活工作看起来节奏快,从领导到员工都很勤奋,但是实际效率很低,一个环节可能重复做五六次。其实西方各大公司的 *** 作才是“计划经济”,我们的是“野蛮的横冲直撞经济”。这跟整个民族的文化气氛与劳动力训练方式有关,也就是教育有关。东西方教育的差距,不仅仅是 科技 成果的差距,还是教育的另一个成果,劳动力素质的差距。

软件行业。软件架构师通过客户的需求文档,分析出业务需要的各功能模板,并组织协调项目技术人员,逐步实施完成分解工作,薪资待遇都是很高的,软件行业的it架构师前景比较好、T的架构包括应用架构、数据架构和技术架构三个维度。IT的架构包括应用架构、数据架构和技术架构三个维度。

以上就是关于为什么有人说大部分码农做不了软件架构师全部的内容,包括:为什么有人说大部分码农做不了软件架构师、程序员,架构师,软件工程师的区别、普通程序员的工作生活是怎样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/8870842.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存