专业:前端开发人员

xxx:您在前端写什么?
yyy:在拐杖和自行车上
xxx:嗯,框架不错!
Bash.im


当想到成为一名程序员的想法时,您可以启发Shildt的C手册,订购一本厚实的Stroustrup C ++书,并学到有关指针和递归的指针的玩笑。第一次残酷的恋情...但是,当JavaScript意外出现时,一切都会改变。 “这是多么简单,直接的语法!一切都决定了,我来写网站,”新手程序员考虑并决定成为整个网络的专家。但是,随后选定的堆栈更改了其友好的外观,并且其作用范围进一步扩大。但是您不能停止,因为您是其中之一-前端开发人员。那些“看着网站的面孔”的人。好吧,我想加入吗?然后为您提供我们的“专业:...”这一特殊部分的2个系列。


当“ Habr职业生涯”一文于周三发布,并接受在线学校代表的有关前端工作的采访时,我们已经在准备本文,这不免让人高兴:这意味着下一个需要的,有用的,相关的材料将出现在我们的系列“专业:..”中。 。顺便说一下,第一个问题专门针对系统管理员职业。 

是谁呀?


首先,一些歌词和题外话。

在21世纪第三个十年的起点,似乎用户和开发人员的兴趣已经从Web界面转移到了移动应用程序和IoT。但这只是看起来。让我们做一个简单的思想实验。考虑一下您每周从所有小工具中访问多少个站点,并分析已安装的移动应用程序。事实证明,很可能是您在网站的完整版和移动版上(在浏览器中)查看了所有信息和新闻资源,并且移动应用程序执行了“特定”任务:社交网络,即时通讯程序,计划者,兴趣爱好等。也就是说,谈论网络的灭绝为时尚早。

而且,所谓的PWA(渐进式Web应用程序),被称为移动网络的未来,已经成为2019-2020年的趋势之一(我认为是在2025年之前)。简而言之,PWA只不过是健康人的移动站点而已。 PWA最好由该概念的创建者之一和Alex Russell一词的作者定义:“渐进式Web应用程序只是摄取了所有正确维生素的网站。” (“ PWA只是摄取所有必需维生素的场所。”)

PWA为用户提供了通常与本机移动应用程序关联的一组功能。例如,您可以在第二通电话上立即加载,在小工具的屏幕上设置站点图标以进行快速访问,接收自定义通知,拒绝浏览器导航并在方便的全屏模式下工作等。 

顺便说一句,如果您有兴趣更好地了解PWA,则有一个很酷的页面,当然还有Google的建议

因此,我的朋友们很明显,无论移动应用程序和技术的增长如何,Web都将在很长一段时间内保持用户交互和任何信息集(网站,博客,社交网络,在线商店和其他所有信息)的开放标准。 

事情把我带到了后端。不是重点。底线是,对于任何网站的任何后端,网站都应该有一个“面孔”,并且应该以某种方式起作用。当他们来到时,一切都会发生-前端开发人员。他们负责开发网站的外部界面,即后端和网站设计如何与用户互动(如果您突然碰巧在Habré上,我会解释-每个网站背后隐藏着很多东西:设计,各个层次和庞大的后端,即整个工作逻辑) ,DBMS等)。总的来说,一旦事实被这张照片所覆盖:



如今,这种史诗般的,熟悉的画面已经发生了变化,事实上,前端开发人员的职业比7到10年前变得无比复杂和多方面。现在看起来像这样,而2028年的感觉就更近了:-) 



前端招标负责网站所有组件的逻辑操作,包括内容,按钮,图像,导航和内部链接。通常是由他们设计站点的主要结构,并根据用户(客户)的要求进行工作,也就是说,他们负责用户界面的客户端。如果后端负责硬件和软件,并且对他们来说软件与硬件的交互方式更为重要,那么前端将与更为复杂的“硬件”(视觉器官,听觉器官,有时还有普通人的触摸感)进行交互。任务是使其变得方便,快速,透明,可预期等。通常,如果修剪前端,每个人都会立刻注意到所有这些。 

您不怕这样的前景吗?然后我们走得更远。 

在哪里需要?


简而言之,无论在哪里进行Web开发,即:

  • , — : , , , , , , . , , .
  • -, , .
  • - : , , CRM, ERP, BPM .
  • .

也就是说,如果您愿意,您可以结合前端的兴趣和技巧,在自己感兴趣的任何领域中找到工作。是的,有些公司正在寻求全栈服务,但通常来说,这些公司要么是非常认真的公司,愿意为真正超酷的全栈程序员付费,要么是小型办公室,而全栈是Enike程序员,可以为CMS网站提供支持。剩下的就是您的潜在雇主。例如,在撰写有关“ Habr Career”的文章时,hh.ru上有249个此类选择性空缺,略高于4100个(虽然不是此类选择性空缺,但意义重大)。 

平均工资


我们还将研究Haber Career的工资。不管特定堆栈的所有权如何,都可以获取2019年下半年的数据。顺便说一句,一个特定的图书馆或框架的知识并没有增加多少工资,从5到1.5万卢布。 
专家级
平均工资
初级
53404擦
中间
99396擦。
资深
170535擦。
主持人(负责人)
185533擦。

各个级别之间的差异非常明显,并且职位空缺中的堆栈非常广泛-因此,仅凭JavaScript在线课程,您就不可能从事前端职业。

基本专业要求


的确,一个高薪的前端开发人员不仅应该知道基本的编程语言,而且应该知道库和框架。我们选择了五种最流行的技术,这些技术由各个级别的开发人员拥有。同样,从Junior开始,在最后一行可以看到的其他一些重要技能也加入了堆栈的所有权。原则上,一切都是可以预期的,对我来说,桌上几乎没有任何惊喜。
实习生(Intern)
初级
中间
资深
主持人(负责人)
  1. Java脚本
  2. 打字稿
  3. 的HTML
  4. 的CSS
  5. React.js

  1. Java脚本
  2. React.js
  3. 的HTML
  4. 的CSS
  5. Redux

  1. Java脚本
  2. React.js
  3. Vue.js
  4. Redux
  5. 的CSS

  1. Java脚本
  2. React.js
  3. 角度的
  4. Vue.js
  5. Redux

  1. React.js
  2. Java脚本
  3. Vue.js
  4. 角度的
  5. 打字稿

-- 
Git,BEM,自适应布局,DBMS
+跨浏览器布局
+开发管理,Ruby on Rails
+人员管理,应用程序架构设计

在前端开发人员的职位描述中,您可以满足各种要求,从HTML的基本知识到对世界上一切的完整知识以及PHP的全面了解。我们将强调基本要求。

  • 熟练掌握Web设计原理,UI / UX。
  • 了解不同用户群体的需求,包括需要使用“可访问性”(残疾人阅读,理解和互动的网站可访问性)的需求。
  • 监控性能和现场条件,监控流量的技能。
  • 了解可用性的规则和问题,快速解决问题的技能。
  • Web应用程序体系结构设计技巧。
  • 测试站点的可用性,特殊功能和必要的调试。
  • 对开发的应用程序进行性能分析,重构和优化。

有时,雇主的要求包括网页设计技能,与图形编辑器一起工作,知识和应用SEO(搜索引擎优化)的能力等。是的,的确,的确,这些技能通常会显着增加专家的价值,但请考虑一下,但是您想以一个为代价将2-3个职位丢给您吗?但是了解其他面向Web的编程语言(PHP,Ruby,Python)不仅可以在开发前端时更好地与后端配合使用,而且还可以显着提高您在劳动力市场上的价值,同时也可以成为迈向专业全栈的第一步-开发人员。


根据StackOverflow报告,最受欢迎的Web框架我强烈建议您转到报告页面并查看其整个选项卡(至少在图形上)以切换选项卡,以便您全面了解全球IT的状况。即使对于高级,经验丰富的IT专家也有很多见解。

同样,为前端开发人员制定的一项精彩的2020年技术计划(路线图)



重要的个人素质


我不支持通过专家的个人素质和对前端的同情或对后端的内向对专家进行评估。但是,由于具有某些个性特征,前端开发人员在处理工作方面要比其竞争对手和同事更好。

  • , , - , , , , . , . - , - — .
  • , , .
  • , , , « », .
  • 艺术技巧,品位和风格感将有助于将现成的设计和精心打造的界面结合在一起。 

同时,像任何技术人员一样,开发人员必须理解算法,具有逻辑思维,并能够在内容和代码中简洁地讲出语言。

需要外语知识


对于任何程序员来说,非常希望至少具有中级水平的英语,并且在技术英语方面存在偏见。因此,您可以阅读原始的Google和其他公司关于最佳开发的大量建议(大量有用的文档!),借助国外讲座进行自学,在论坛中与同事进行交流,提出问题,以及阅读有关可用性和设计的书籍,其中包括许多很酷的英语和尚未翻译的版本。 

没有英语知识的编程人员很难开发,尤其是在网络技术方面。 

在哪里学习


在俄罗斯的现实中,正如我们在有关系统管理员的第一篇文章中已经说过的那样,高等教育是成功就业的必要条件。因此,理想的是拥有良好的教育基础(理工,大学,边缘大学-一些基础大学的技术专业)。原则上,具有逻辑思维能力和使用算法的能力,任何高等教育都是合适的-将是一个聪明的人。如今,大学中已经有专业和方向,学生可以学习前端和后端开发的基础知识,这非常好。但这绝对是不够的。

当然,选择前端开发人员的职业时遇到的第一件事是在线学校。在撰写本文时,我在前端主题上搜索了几张图片和网站报告。现在,广告中已经包含了Yandex和Google的所有内容,这些广告承诺我将在2-3-6-12个月内成为一名JavaScript专家。如果我不知道JavaScript是什么以及如何在21天之内学会它,我会很受诱惑,上一门课程来开始或组织知识或不去学习取决于您的愿望,时间和收入。无论如何,您都将无法收听-您必须坐下并敲键,进行测试站点或削减宠物服务(顺便说一下,包括后端)。

但是,学习前端开发可以归结为这一点:您可以接管项目并从中学习。如果您想赚钱,可以尝试为一家小公司创建一个网站或进行实习(但是为此,您应该已经至少具有一些开发或测试技能)。只有每日编码,对最佳解决方案的搜索以及对代码的全面分析,才能帮助您成为开发人员。 

热门书籍和学习工具


书籍和资源的列表取决于您选择的书库。但是绝对有一些前端需要的东西(原则上甚至是任何程序员)。就我自己的印象而言,我将列出一个混乱的列表。

  • « ». , . (, ) , , .
  • htmlbook.ru — , . - . 
  • — , . JavaScript.
  • « JavaScript. -» — . , «» 2019 , .
  • webref.ru — , , . 
  • — ( O'Reilly).
  • codecademy.com — . , , , . , — 15$ . , , . 
  • htmlacademy.ru — , . , .
  • , Youtube . , , . , . 
  • 当然,不要害怕也不要害羞于致力于开源项目(从小型项目开始,然后您将到达库和框架),选择某人的代码,学习原理和算法。
  • 一篇不错的文章,英文非常简单,并提供了开始使用JavaScript的提示。
  • 当然,哈伯。一个RUVDS团队使用JavaScript和前端翻译了很多很棒的东西!

上次受到指责的是,我们指出的书籍和资源很少。las,每种需求都有一套-不可能涵盖那么多。因此,在评论中,告诉您学习的地方和方式,以及在实践中所学的知识-对于初学者而言,不仅这将是超级有用的信息。

未来的前端


前端招标具有三个主要的发展路径。

  1. -. — ; — , , TDD, ; — , ; — . 
  2. (-) — , , . - ( , - — -).
  3. , , , , . , .

在任何情况下,只有最无聊且没有动力的人才能站稳脚跟,不会在职业生涯中动弹不得,因为网络本身的活力会拖累开发人员并迫使他们提升技能。是的,您永远可以成为非常优秀的,最好的前端开发人员。

专业的神话


▍前端快要死了


一个主要的神话是前端开发人员的职业正在消亡。当然不是。而且,界面逐年变得越来越复杂,IT部门将需要能够解决这些复杂问题的高级专家。前端开发将需要相当长的时间,并且没有模板,visivigi,CMS和其他方法可以替代它。该行业的重要性和必要性可以通过许多图表来判断-我认为一切都清楚了,没有必要再重复一次,提供最重要信息的行业是用户与界面的交互。


只需查看GitHub项目中最流行的10种编程语言,并评估JavaScript在此图中的位置。在这种情况下,直线并不意味着快死,而是意味着稳定和需求。


StackOverflow报告中最受欢迎的编程语言顺便说一句,JavaScript已连续第七年保持领先。

以下是Google的趋势。


全球前端开发人员查询动态,五年


在俄罗斯,查询“ frontend”(红色)和“ frontend”(蓝色)的动态,长达5年

▍雇主并不真正了解程序员的类型


但是第二个神话尼菲加不是神话,而是纯净的真理。雇主通常不了解他们正在雇用的人,而不是寻找准备解决特定问题并对其解决方案负责的人,而是寻找“需要知道”某种领先技术栈的人。因此,您需要做好以下准备:前端工作曾经看起来像是布局设计师工作,而第二工作看起来像是全栈工作。如果雇主了解了TDD(测试驱动开发)的缩写,那么在测试人员中也可以找到空缺:-)实际上,几乎在任何地方都找不到前端程序员要求的游戏(只有PR专家和市场营销人员更糟糕,通常应该是MFP)。如果您真的想加入该公司,并且知道面试将不在那里,尝试将对话转换为任务,并告诉您要如何准确地解决它们,并借助哪个堆栈来解决。但是,如果您还没有在面试中去那儿,也许您对公司的想法太好了? 

主要提示


整个网络变化非常快-新技术,新的交互模式出现,新的实用程序以及对框架和库的更新出现。但是,如果您错过其中一种新产品,明天您要负责的站点将不会变慢,令人恐惧,也不会变成南瓜。在选择技术,更改堆栈,更改界面逻辑时,请考虑您的用户,他们习惯了什么,查看分析,热图并仅进行真正必要和有用的更改。同时,要学习新事物并在宠物项目上进行尝试,因为经验仅来自实践,而了解最佳解决方案则来自于实际的例子。 

以及您如何以及为什么决定成为前端开发人员?什么是专业上的好,什么不是?在评论中告诉我们,我们将帮助那些处于十字路口的人。

Source: https://habr.com/ru/post/undefined/


All Articles