如何学习前端开发,找到第一份工作而不会遇到困难

图片

前端,这是进入IT的最佳,最佳和最热情的方向。但是并不是所有事情对他来说都那么简单-在前端,它很容易上手,很难成为高手。选择一种编程语言不会是一种折磨,但是它的缺点将是一个挣扎。在这一领域中,有很多工具,每种工具的研究都依赖于特定专业的发展。

我们询问了GeekBrains 网站开发部门的负责人Oleg Shikov 和初学者Web开发人员Daria Dyachkova ,他们如何正确学习,如何避免大麻烦并在职业生涯中前进



2015年,达里亚·季亚科科娃Daria Dyachkova)进入世界经济与国际事务学院经济高等专科学校学习,因为她最喜欢学校里的语言-她学习英语和德语,并不断赢得奥运会冠军。她喜欢这个领域,但不喜欢她的辉煌,因此Daria继续寻找未来的职业。在2018年,她参加了一个人事代理机构的职业日活动,此后她将方向改变了一个意外的方向。

“我通过了长期的心理测验,他们考虑了人格类型,心态等等。心理学家没有冒犯,但我对这种测试表示怀疑。测试后,他们告诉我,“嗯,程序员消失了”,并愿意听取有关向IT世界过渡的演讲。我耸了耸肩,走了起来,亮了起来。”

在家里,她开始谷歌搜索相关专业的评论。之前,Daria在Tilda和Wix上制作了网页,并保留了她对国际新闻的博客评论,因此我首先想到了前端。但是,她浏览了所有专业和编程语言入门网络研讨会,试图用几种编程语言编写一小段代码,并选择JS作为最接近的语言。



前端人员做什么


“如果您在浏览器中打开任何页面,则在页面前面看到的全部是前端。但实际上,他们的工作远不止一次出现。” GeekBrains网站开发部主任Oleg Shikov说。

奥列格(Oleg)从小就开始编写代码。最初的实验是在C语言中进行的,2011年他改用Javascript。现在,技术领域的许多内容还只是处于起步阶段。 HTML和CSS的潜力不大,Flash在业界盛行。整个行业要简单得多-仅HTML布局和简单布局。只需编写标签并在CSS中对它们进行漂亮的样式化就足够了。用户单击一个按钮,页面完全刷新。给服务器的请求离开了,服务器给出了新的布局。但是这种方法不允许响应式界面。

Oleg说:“如今,前端供应商的任务是在浏览器端构建站点的逻辑,该逻辑是用JavaScript编程语言开发的。现代站点可以完全在客户端上运行,仅偶尔向服务器发出请求,例如,保存用户数据或下载必要的信息。也就是说,现在我们要求的页面不是完全更新的,而只是必要的信息,并在浏览器中正确呈现。由于这种行为,网站变得更加敏感,并节省了部分用户流量。”



学习前端-正在学习JavaScript吗?


确定方向后,Daria进入了GeekBrains的Web开发学院。在许多人看来,前端的培训与Java语言的学习结合在一起,但是,据Oleg Shikov所说,这并非完全正确。

“首先要开始的当然是HTML。这非常简单,非常易于处理,非常容易编写您的第一个网站。当然,它不会做出响应,但是会起作用,并且已经可以在Internet上发布了。接下来,您需要在此站点上添加美观的外观,以便它不仅是文本画布,而且是包含视觉元素的方便美观的页面。 CSS级联样式表会有所帮助。几个星期就足以掌握HTML和CSS。然后,您需要启动JavaScript,因为它是制作响应式界面的基础。”

但是,当技术普及时,随之而来的是批评之海。许多经验丰富的开发人员一个接一个地在他们的报告,演讲和文章中揭示问题和语言,并提供其他选择。初学者这些讨论只会误入歧途。根据Oleg的说法,仅仅从其他语言开始学习前端是错误的,因为它们受到专业人士的更多好评。

“几年前,每个人都将PHP归咎于人,现在每个人都将JavaScript归咎于JavaScript,这是一种主流。当然,JavaScript并非没有问题,没有人对此提出异议。但是例如,TypeScript(Microsoft的另一种流行语言,是JS功能的扩展)不在浏览器本身中执行-而是将其翻译(编译)为JavaScript。如果我们在TypeScript上编写一些内容,我们仍将获得JavaScript,该JavaScript已在浏览器中运行。要正确调试代码,您需要了解JavaScript并能够使用浏览器。”

但是Daria会花时间学习程序中未包含的内容。
“我经常学习和理解很多东西,因为我只是感兴趣,所以我是阅读文章的所有其他材料并执行其他任务的人之一。我花时间学习例如Nuxt.js,Typescript,Vue.js,Webpack和Stylus。”



什么是React,Vue和Angular以及如何选择它们


除Java脚本和其他语言外,前端开发人员还需要了解各种工作工具。在纯JavaScript中,如果不使用第三方库,则很难开发交互式的响应式网页界面。

库也是其他开发人员已经编写的JavaScript代码。它提供了一套方便的解决方案来执行工作中经常需要的准备工作。网络上有各种各样的库,可以轻松编写响应式网站界面。其中,最著名的是React,Vue和Angular。

“他们之间的选择是一个难题。您可以学习全部三个。这不是一项非常困难的任务,因为当您了解如何使用一个工具时,随后的每个工具都将更容易学习。但是根据我的观察,它们在不同的区域使用了一些。 Angular是最古老的之一。它通常在公司部门的大型项目中使用,并具有几年前编写的旧代码支持。 React无处不在。当他们编写新的界面和Web服务时,他是名单上的第一位。关于Vue,您可以说他是一个简单,年轻,酷和主流的人。

我建议您根据自己的感受,尝试在所有三个框架(相对而言,一个待办事项表)上编写简单的逻辑,了解我更喜欢哪个并学习。或者查看您所在城市的职位空缺,然后选择React,因为大多数前端开发人员的职位空缺都需要了解React。但是再培训将不会困难。”

达里亚(Daria)撰写冒险小说,并为她关于Nuxt.js的书制定了指南。她还为朋友们做项目和登陆,因此她学习了自适应布局,媒体查询等等。“我启动了React.js,并提出了一个我想在React Native上实现的未来项目。在规划架构时,请绘制流程图,并了解可以使用的技术。”



学习怎么样


“培训开始时,老师们会完美地解释所有事情-对我来说,将所学知识整合到系统中非常重要。功课有助于巩固技能,加分给了小费,建议在哪里教什么。我自己阅读并掌握了很多东西,还观看了YouTube上的手册和迷你课程。在GeekBrains,您始终可以写信给老师或导师或您的小组聊天。他们都会解释,所有人都会有所帮助。如果您找到有趣的文章,也可以与他人分享和讨论。

我认为,当您看到第一个Hello World时,没有人会忘记。总的来说,当我从布局制作漂亮的UI时,这种感觉也很有用。”

学习持续一年半。 Oleg Shikov认为,仅学习语法是无聊的,因此学习是围绕项目立即进行的。 “我们提供基本的内容,语法,并立即尝试将它们付诸实践,编写简单的网页。之后,我们提供PHP,从而教学生进行后端(服务器)开发。对于一些新手开发人员来说,用JavaScript学习HTML似乎足够了,这足以在市场上流行起来。实际上,事实并非如此。您需要了解架构,算法,模式和框架,而不仅仅是了解。还需要另一种实践,我们必须编写自己的产品,参与集体开发。”

在培训开始时,学生分别编写代码,并与老师核对,然后在培训中间,他们开始与同学一起开发产品,从而在团队开发方面积累了经验。

除了学习之外,Daria还喜欢在Kodiri.com平台上学习,该平台在JS上举办国际比赛。 “您可以在那里单独培训,以时间,准确性和精美性解决任务。我遇到了平台Ricardo的创始人-他是一个很酷的人。现在我正在为他们写拼图。对于每个任务,我都会应用参考解决方案和测试(因此,我开始编写单元测试)。当五个任务中至少有一个成为您的作者的可能性为≈0.94时,与其他玩家竞争对我来说很有趣。是的,我想,我很好奇为什么我经常遇到他们。老实说,我自己决定,不看答案。它捕捉了游戏化的元素,我已经获得了最高的坟墓(帝国je下),现在仍然有必要让Yurash成为本月的最佳玩家。总的来说,我缺乏游戏的元素和训练中的竞争精神。我认为值得在教育平台中添加此类机会。几天Kodiri关于速度的困惑,在一个梦中,我将编写arr.map(e =>“。



寻找第一份工作


在哪个阶段开始求职是行业中一个非常有争议的问题。有些人相信,只有几年在安全的条件下在实践中教授和发展理论,才能使一个人有权为发展寻求资金。相反,其他人则需要在当前工作中学习。据老师说,许多学生走第二条路。

“我知道第三季度收到第一笔订单或在公司工作的学生。他们继续学习,将其与工作结合起来。这完全取决于人和他的学习能力。对于新手开发人员来说,进入一家小公司要比进入一家大公司容易。在像Mail.ru或Yandex这样的公司中,请严格选择。并非每个有经验的开发人员都能到达那里。当然,每个人都可以试试运气。”

当Daria经过六个月的培训并以网站的形式进行了投资组合摘要时,她经历了几次面试,但是她没有足够的技能来招募前端开发人员。

“在第一次采访中,这很可怕。我申请了Vue的前端开发人员的工作。我精心准备,重复了JS和Vue的所有材料,以及GeekUniversity在六个月内学到的所有内容,整理了棘手的问题以及JS表现异常的各种小事情。采访是在Skype上进行的。一家小公司,绕开了人力资源部门,立即进行了技术面试。我兴高采烈地回答了问题,我们聊了一个小时……然后事实证明,他们仍在寻找开发人员的完整作品。它发生了。”

图片
在Habr Career,您可以查看前端招标最新职位空缺,并订阅最新的职位空缺

Oleg说:“初级开发人员会被问到一些简单的问题,以确保他们了解基础知识。我会询问自适应和语义布局,以及如何使用纯JavaScript。现在趋势是框架和库,相同的React,Vue和Angular,以及没有其他库的“原始” JavaScript-并不是每个人都知道。我想确保开发人员知道如何与他合作,并且不会立即赶赴有条件的React阵营。

无论如何,您将不得不花一些时间来回答不同的职位空缺,通过不同的面试。通过它们也是一定的经验和技能。失败是正常情况,您完全不必害怕。”

“再经过两次采访后,我被建议继续学习,然后再试一次。我们还需要一般知识-协议,体系结构解决方案等。我自己知道,现在解决还为时过早。因此,我发现与IT部门相关的工作很酷-在Bookmate中找到了一名技术支持工程师。读者有责任回答有关应用程序和站点操作的问题,就如何解决该问题提供一些建议,并解决较大的问题以发布JIRA和Confluence中的错误。另外,现在我可以想象普通用户如何使用我们应用程序的UI / UX。提示:“这不是错误,这是功能。” 或什么时候开发人员想要最好的,但用户却不知道它是什么以及为什么。

双方都有一个很好的机会来探讨用户如何使用该应用程序,以及开发人员如何开发和修复该应用程序。”



如何在行业中发展


-我建议您发展成为一个全栈开发人员,同时了解后端和前端。如果我们只谈论前端,那么-尽管有必要很好地了解JavaScript-但在任何地方都没有框架。他们需要被教导。

TypeScript值得一看,尽管并非所有作业都需要它。实际上,这很有趣,并且JavaScript开发人员很容易学习它。实际上,这是具有其他功能的相同语言,可让您编写更可靠的系统。 TypeScript在语言中添加了显式类型系统,这使我们可以说此变量将是数字,而此变量将是字符串。

在纯JavaScript中,此功能不存在,变量可以是任何类型,有时会导致错误。您期望变量中有一个数字,但是却得到了例如字符串或对象,因此,该程序的工作逻辑中断了。 TypeScript有助于避免此类错误。

现在,许多人正在寻求PWA。正如我所说,事实是智能手机市场巨大。访问您网站的大多数用户更有可能通过电话进行此操作。

PWA(渐进式Web应用程序)-这些网站具有其他功能,使您可以方便地使用它们,包括从智能手机进行操作。例如,在Android PWA网站上,您可以将其添加到主屏幕并通过单击图标来启动它。有很多可以改善网站的机会,即使智能手机上没有互联网,它也可以正常工作。也就是说,它几乎是本机应用程序。最近,Google发布了Google Play的更新,有了它,您可以将PWA网站添加到商店中,并且用户可以将其作为常规的本机应用程序进行下载和更新,这与使用Java编写的常规应用程序几乎没有区别。但是实际上它是用JavaScript编写的,并使用HTML组成。



薪水


前端实习生的工资中位数为3.5万卢布。初级专家可以依靠5万,中间-可以达到9.7万,签名者和领导者平均可以得到170-190 000卢布。根据Habr Career薪资计算器,前端开发人员的平均薪水略低于110 000卢布(该图可单击)。






自学阅读和阅读的内容



线上:



直接有关JS和HTML / CSS的书籍:

  • 您不懂JS(翻译成俄文“您不懂JS”)
  • »HTML5. ".
  • « CSS3».
  • «JavaScript. ».
  • «JavaScript. ».
  • «JavaScript. ». .


:

  • «- ».
  • « ».
  • « SQL. MySQL 5». ,
  • « ».
  • « - . ». , , ,
  • « ».
  • « ». ,
  • « ». ,
  • «. ». . , . , . , .

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


All Articles