热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端程序员:月薪5K到5万,我干了啥

如何在前端开发这种高精尖的技术领域找到心仪的工作?实现在咖啡馆喝喝咖啡敲敲代码就能升职加薪、买房买车、迎娶白富美走上人生巅峰的职业梦想

高贵的前端程序猿们:


如何在前端开发这种高精尖的技术领域找到心仪的工作?实现在咖啡馆喝喝咖啡敲敲代码就能升职加薪、买房买车、迎娶白富美走上人生巅峰的职业梦想?这篇《进化论:从 0 到 100,前端猿茁壮成长的精神饲料史》,肯定能给你事业的加速动力。


前端开发工作已经变的越来越复杂,仅仅是想罗列一份前端开发的学习列表就已经是一件艰巨的工作。曾经只要会编写 HTML, CSS 和 Javascript 就是能够找到一份前端开发工作的全部要求。而现在,web 开发远远不止是简单编码。因为我们的互联网上有了更多的内容,也因为有更多的人、更多设备可以访问互联网, web 前端开发技能也就更多了。我们现在需要考虑的问题很多,比如载入时间,性能,不同的屏幕尺寸, 不同的输入方式, build 系统, 部署策略,还有如何组织好我们的代码。


这还是想象中前端开发么?好吧其实只要你有热情,这些还是很有趣的,现在就来仔细看看,一份前端开发的工作,到底需要你准备些什么?


◆ ◆ 

入行行头:5大硬件


请准备好以下东西


1、一颗人类的大脑:智商在平均水平线以上即可


2、一份强烈的渴望:我的代码要可以运行在任何一个有浏览器的设备上。


3、一台笔记本电脑:不需要花费很多钱得那种,只要它可以运行 Windows, Mac OS X, 或 Linux 系统。当然你也可以只用一台台式机,但是那样就不能带着它坐在咖啡馆里...


4、一个文本编辑器:可以推荐的比如 Atom,Visual Studio Code, TextMate, 它们都有在 Mac OS, Windows 的免费版本,什么还有 Sublime, WebStorm? 啊,那些都很流行,不过需要需要一笔不少于 70 美元的花费...


5、一个翻墙代理:这个大家都懂的,我就不解释了


◆ ◆ 

初级资质要求


一些专业基础


你需要学会浏览器能理解的三大语言:HTML, CSS, Javascript - 神圣的三位一体!

非常重要的一点是,一定要理解这三大语言后再去学习别的,确保知道怎样在各种尺寸的屏幕上排列好你的网页,怎样在一个按钮被按下后 do something!


一些很有用的学习资源


  • Codeacademy: interactive, code-along tutorials (this site is the bomb btw)

  • Web Development for Beginners: article from webplatform.org.

  • MDN:https://developer.mozilla.org/en-US/docs/Web


◆ ◆ 

中级进阶路径


一旦掌握了三大语言,就可以开始学习专业的开发流程啦:


Command line:好吧,命令行也许都会,但是要掌握最基本的操作,熟悉怎样配置你的环境,还有那些奇怪的 shell 脚本,因为你会经常用到它们。


1、CSS 已经不够用了,我们有了 CSS 的预处理:Sass, LESS。


2、知道如何搭建一个 build 系统:Gulp 或 Grunt 这类的构建任务脚本器,编译 LESS 成 CSS, concatenating Javascript, minify 压缩静态资源, 选一个异步或同步的方式加载它们,然后一个好的 build 系统要能自动做到那些,包括一个本地的 web 服务器用于测试代码。


3、代码版本管理,git。


4、在 github 上分享你的代码!


5、部署! 让你的网站上线。可以找一个免费的服务提供商,比如 heroku.com, https://pages.github.com


这些几乎就是现代前端开发者会用到的工具和技术,好了,你现在可以成为一个前端开发工程师了。


◆ ◆ 

高级炸裂装备


你已经能够为你的朋友的业务搭建一个网站了,简洁的排版,高清大照片,你成功了,它甚至在你的手机都看着很棒。那么还有什么值得学的?


把你的网站和一个内容管理系统 (CMS)集成在一起。一个 CMS 能够让你通过用户界面增、删、改、组织你的内容,不需要任何代码。这就是那些博客网站如何工作的。比如免费的 WordPress,去熟悉一个开源的 CMS 吧,会很有用的。


学习怎样搭建一个 CMS,意味着你讲要熟悉一个服务器端的语言,比如 Node.js, 或 PHP,然后你还会想要知道怎样和数据库打交道,比如 MySql 或者 MongoDB。


来熟悉一种 Javascript 框架吧,这样你可以真正的搭建一个交互出色的 web 应用,那真的很重要,比如 Angular, React, Ember。只要挑一个你喜欢的,但是一定要精通它。


Javascript design patterns,Javascript 也有设计模式? 是的,读一下吧。


◆ ◆ 

突破天际的大招


沟通技巧!你需要和你的小伙伴们沟通,他们是你的 coder 伙伴,你的老板,你的用户,你的....stackoverflow.com, 有问题找 stackoverflow,扩展一下人脉把,上 meetup.com, 在博客上写一些你的学习体验, 在 Gitgub 贡献一下你的 Pull request。


界面设计和用户体验设计 UI/UX design,前段开发的小伙伴需要具备基本的 UI/UX 设计知识。


搜索优化,要知道怎样提高网站的搜索排名,更容易被人们搜索到。


CSS 过度效果,给你的按钮写一个 hover 的 CSS 动画,还有你的从右边滑入的导航菜单也需要一个平滑的动画。


关于性能,让你的网站尽可能快的被加载,减少 DOM 的 reflow 和 repaint 操作,防止滚动性能瓶颈,优化 Javascript, 翻墙读一读这个吧 google web developer fundamentals。


用一些测试框架来实现 Javascript 单元测试,比如 Jasmine,QUnit。


持续集成 Continuous integration (CI),知道怎样配置一套和伙伴们一起使用的自动测试和部署的工具,比如 CircleCI, Travis CI, Jenkins。


◆ ◆ 

超好用的其他加成技能


↓↓↓这些并非必须,但能帮你脱颖而出:


用 CSS3, SVG, Canvas API 实现动画。


后端开发, Node.js


◆ ◆ 

最后:去找工作吧!


有了技能是不够的,你需要能展示它们,你还能干的是:


1、搭建一个小网站,公开你的 gitub 代码库,确保你的代码和文档清楚漂亮,还有一份 README


2、去 meetup.com 找你的老板或者投资人吧,开一个博客,申请一个 linkedin 帐号


3、因为 web 技术总是在变化,最后,即使找到了一份称心的工作,还是需要 stay motivated, 你需要时常去下面这些地方转转:CSS Tricks,SitePoint,Smashing Magazine


4、当然还有些像 CSDN 这样中文社区,总之遇到任何难题,社区里有总有乐于助人的。


5、保持好的职业态度:Stay humble, and build cool shit


推荐阅读
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • linux和jenkins的连接
    1.在浏览器中打开我们的jenkins页面。(http:ip:端口号jenkins)2.然后登陆管理员用户。3.配置节点信息1).点击【jenkins管理】【节点管理】【新建节 ... [详细]
  • JenkinsHudson是一套非常强大的自动化构建系统,其具有使用简单,对各种开发环境支持良好,正确地使用能解决研发过程管理中版本构建、发布的诸多问题。本文描述了笔者在使用过程中 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
author-avatar
手机用户2502869561
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有