“那些年轻的朋克会在哪里把我们从地上擦掉?”

在一个社区中进行了下一轮讨论之后,我问了存在的问题,该问题放在Grebenshchikov的措辞标题中,内容是有关初学者Web后端开发人员是否需要SQL Web知识,或者ORM是否会完成所有工作。 我决定寻找比ORM和SQL更为广泛的答案,并且原则上试图系统化现在正在初级和中级发展职位面试的人员是谁,他们的历史和生活的世界。 总的来说,我是有意见的,但是它是由个人招聘经验形成的,并且显然已针对当地市场进行了调整。 总的来说,它变得很好奇。 这是我设法找到的。

全球开发商人口


为了以某种方式解决该问题,我决定首先搜索有关目前世界上有多少开发人员以及随着时间的流逝人口数量如何变化的数据。
各种来源的估计数指的是12到3000万人的叉子数量。 我决定停止使用SlashData数据 ,因为在我看来,他们的方法学很平衡并且很适合我的需求。 在评估中,他们考虑了Github上的帐户和存储库数量,StackOverflow上的帐户数量,npm帐户以及来自美国和欧洲就业的官方数据。 他们还使用自己的16项研究调整了数字,每项调查覆盖了大约20,000人。

根据SlashData的数据,事实证明,在2018年第四季度,全球大约有1890万开发人员,其中1290万是专业人士,也就是说,他们靠编程为生。 当前不是专业开发人员的人是对编程有兴趣的人,以及当前正在学习该专业的人(多样化的学生和自学成才的人)。 好吧,这暗示着我感兴趣的团队规模-600万人。 老实说,这超出了我的预期。

给我的第二个惊喜是程序员数量的增长率:从2017年第二季度到2018年第四季度,它从14.7%增长到提到的1890万,或者在2018年增长了21%! 如果要求我估计程序员数量的增长率,那么我想说的是每年大约5%,并且每年略有增加。 事实证明,这一比例高达20%。

此外,SlashData估计,到2030年,人口将达到4500万。 可以很容易地计算出,这意味着每年以略高于8%的速度增长,而根本不以20%的速度增长,但是它们指的是考虑到Internet普及率的修正(根据Statista的数据 ,目前世界上约为57%)和其他一些因素,例如,每位开发者的数量人均。 从地域上看,印度和中国的开发商数量增长最快,到2023年,印度的开发商数量有望超过美国(这是C#Corner数据 )。

通常,无论需求多少,都会有许多程序员,因为需求在增长。 说到需求。

有什么需求?


为了估算需求,我使用了2018年2019年的 HackerRank数据。

在编程语言中,除计算机硬件外,几乎所有行业对JavaScript,Python和Java的需求最大。 在后者中,对C / C ++的最大需求是可以理解的,在硬件项目中,仍然可以理解相应软件的资源消耗和生产率。



根据这些框架,AngularJS,Node.js和React的需求最大,根据它们的供需缺口最大,这似乎可以用JavaScript生态系统变化的速度来解释,因为例如ExpressJS的供不应求。



根据能力,雇主期望候选人首先具备解决问题​​的能力。 大约95%的雇主认为这些技能很重要。 编程语言水平排名第二(56%)。 顺便说一句,没有关于算法,数据结构和其他计算机科学的基础知识的专栏,要么不在调查表中,要么不再需要学术知识。

数据库设计需要最多100人的公司中的23.2%,以及超过1000人的公司中的18.8%。 是的,这是关于ORM和SQL的! 顺理成章的恕我直言,解释是在大型公司中,有专门的DBA角色负责这一方面,因此可以减轻对开发人员的要求并更快地雇用。 但是与系统设计相反,小型设计占37.0%,大型设计占44.1%。 似乎应该区分大型架构师,但是也许他们根本无法涵盖所生成系统的数量。 或者,与此同时,他们在系统设计上投资了非常基础的算法和数据结构,因此变得更加清晰。

小型公司需要更多的框架知识,而不是前面提到的系统设计,而我们可以从中得出结论:对于初创公司来说,尽快推出可运行的产品非常重要,明天将是明天。



学生学什么?


在这里,我依赖于另一项HackerRank研究的数据。
重要的是要考虑到,尽管在大学中以一种形式或另一种形式的编程是在大学教授的(我的意思是计算机科学专业),但仍有超过一半的受访者表示他们也在从事自我教育。

现代学生更喜欢在YouTube上学习,而年龄较大的开发人员则更倾向于学习教程和书籍。 两者都积极使用StackOverflow。 我将其归因于视频是Z世代常用的媒体渠道,而Y世代的代表仍然发现没有博客的时代。

了解雇主的需求:JavaScript,Java,Python。 他们表示他们知道C / C ++,但这可能是因为这些语言用于大学教学。 他们学习JS框架,但是需求明显高于供应,因此,在找到第一份工作之后,他们显然已经得到了积极的教导。



通常,期望教授的是需求。

从事第一份工作的学生主要期望职业发展,其次是在一些有趣的任务中(在某些国家中排名第二)工作与生活平衡。

开发人员通过编程语言和软件类型进行动态开发




Web应用程序排在第一位,估计有1,690万开发人员。 这也是SlashData数据。 其次是后端服务(1360万),移动应用程序(1310万)和台式机(1230万)。 AR / VR和物联网领域正逐渐普及,AI / ML /数据科学在过去两年中显着增长。

Javascript增长最快,其社区已经是最大的社区,仅在2018年它就增长了250万。 他们甚至尝试在IoT和ML领域对此进行书写。
由于ML在传统上很强大,因此在ML方面的日益普及以及易于开发和便捷的语言,Python在2018年增长了220万。

Java,C / C ++和C#的增长速度低于一般开发人员。 现在,它们已经很少成为人们喜欢的编程语言。 这里开发商的需求或多或少与供应保持平衡。 我认为,即使不是Android,Java的增长速度也会更慢。

PHP是第二大最受欢迎的Web应用程序编程语言,并且也在显着增长(2018年增长了32%)。 其社区估计有590万开发人员。 尽管人们对PHP的声誉持不同意见,但是它很容易学习和普及。

与后代相比,现代青年候选人的学习方式


HackerRank数据再次出现。 现在年龄从38岁到53岁的人表示他们的第一个项目是游戏。

顺便说一句,我确认,顺便说一句,我的第一个工作项目或多或少是连续5个“井字游戏”,无限制比赛,第二个是15岁的游戏。我在BC 010-01上写下了所有这些,当时有一个维尔纽斯BASIC ,也称为BASIC- 86和重点。 嗯

现代的新手程序员(21岁之前)将计算器和网站作为他们的第一个项目。

在X代的代表中,几乎一半的人在16岁之前开始编写代码,其中许多人通常是5到10岁(主要是现在的35到45岁)。 原因多少是可以理解的:几乎没有信息源,要成为一名程序员,确实需要它,而那些真正想早点开始编程的人。 到今天为止,那些不想那么多的人很可能会从事不同的职业,所以社会学的情况就是这样。



如今,只有20%的年轻候选人在16岁之前开始编程,其中大多数人在16岁到20岁之间。 但是对于他们来说,学习起来要容易得多,而现在,访问起来更容易了。

结论


对于今天是否需要初学者Web后端开发人员SQL的问题,我没有找到一个具体的答案,但是他更正了现代程序员的想法。

下一代的开发商-普通百姓,有点使人联想到以前的住房问题,只会使他们宠坏 。 他们满足了雇主创造的需求。 由于更便捷的工具和框架使您可以快速取得成果,因此进入该行业的门槛已经降低。 现在有越来越多的人成为程序员,数字一代(Z世代)从出生起就一直生活在技术中,对他们来说这是一种正规的职业,并不比其他人差。

那些知道Lensi L1缓存约为4个周期,并且最好不要不必要地拍摄缓存行的人,占总人口的百分比会变小。 但是,他们不必担心就业,最后有人应该在仍然有必要的地方写些低级的东西。 正如您不必担心,那些在系统设计方面具有深厚基础知识并在血腥的实际战斗中获得了这些知识的人,而不仅仅是跟随货运邪教。 因为那些能够“仅仅编写代码”和“仅仅”使用团队中的框架的人将会变得更多,并且为了“在漫长的漫长的岁月中不会感到痛苦”(c),他们将仅需由此类人员来平衡。

软技能从理想的类别逐渐过渡到强制性的(确认这一点,我没有客观数据,只是实际观察)。 程序员的数量在增长,尽管需要直接,间接的控制,但所有这些都需要指导所有的人以取得成果,但是为此只需要软技能。

在我看来,“输入IT”似乎是当地的区域历史,这些地区的特征是程序员的收入与在资格上与“非IT”相当的专家的收入明显不同。 在我所居住的明斯克,这通常是一场群众运动,每天我都会看到有关如何进入令人垂涎的IT的下一门课程的广告,清洁公司针对程序员的信息是“您了解图中的代码吗? 因此,您可以负担得起不打扫公寓的费用,我们将为您做一切。” 同样的事情显然发生在某种印度。 为了证明这一点,我也没有。

总的来说,在我看来,程序员的数量并没有受到威胁。 值得一提的是,真正的程序员对白天和黑夜都不满意,而候选人一直都“一无所知”。 与“真正的程序员”一样,他们同样聪明,有能力,甚至更聪明,更有能力,他们只是从中获得了蓬勃发展的市场所需要的知识,而将其暂时不需要的知识留给以后,也不会立即带来利益。 他们将在必要时学习,因为他们仍然想学习。 可能不是每个人都有能力,但不是每个人都需要它,在可预见的将来,市场将使人们容易接受能够在某个框架上快速组装另一个应用程序概念的人们。

Source: https://habr.com/ru/post/zh-CN469843/


All Articles