程序员们,让你的孩子当个网页工程师吧!

原文地址

截止到今天凌晨,互联网上已经有大概 6 亿 8 千万张网页,而且依然在迅速增加。今天就来严肃地展开一下网页工程师的话题吧,关于他们的工作,关于他们的职业;关于 HTML,关于 Python;关于浏览器,关于这个世界。

周围有一些朋友的孩子也快要诞生了,将来可以考虑做个网页工程师呢~

每天的我们,在(还算)安静的办公室里,面对着电脑屏幕,忍受着窗外的喧嚣,随手点开浏览器,输入一段 URL,敲下回车键。有没有这样的体验,网站瞬间被打开了,高质量的内容,干净的布局和优秀的设计让你过目难忘。感到吃惊是吧?这一切都归功于一类人,网页工程师,所谓的 Web Developers 们,他们不仅负责网站的搭建和网页的编码,还负责各种测试分析,以及一切和网站相关的维护。

如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。伴随着网页开发技术的日新月异,优秀的网站层出不穷,网页工程师对于自己的工作已经不能有半点马虎,成为一个好的网页工程师也没有任何的捷径。

但问题就来了,正在频繁迭代产品的苦逼创业者们,应该寻找怎样的网页工程师呢?想成为网页工程师却只是刚刚试水 HTML 和 JavaScript 或者刚刚开始了解 Python 和 Ruby 的童鞋,又应该如何规划自己的技术之路呢?

登录过智联、前程、大街、猎聘、周伯通、拉勾等等网站,浏览过各类工程师在线课程,接触过网页工程师相关的招聘和应聘的,应该不难发现一个趋势,就是这群人被集中分成了三大类:

前端工程师,后端工程师,全栈工程师

一个一个来说吧~

前端工程师 Front-End Developer

和用户发生交互的那一部分叫做网页的前端,说白了它就是你在浏览网页时可以看到的所有东西,字体、颜色、导航栏、下拉菜单、滚动的图片,等等等等,这一切都是由 HTML + CSS + JavaScript 拼装而成,在浏览器的渲染下变得井井有条,很神奇的!

首先,了解一下相关技能和工具。

前端工程师主要负责网站面向用户部分的代码,以及用户体验相关的架构。一个前端工程师必须熟练地掌握三门基本的语言:HTML,CSS 和 JavaScript。除此之外,前端工程师还应该熟悉一些样式框架,比如 Bootstrap 和 Foundation,和逻辑框架。比如 Backbone,AngularJS 和 EmberJS,这些框架确保了网页在不同平台上的质量和稳定性。最后还应该能够熟练的使用一些基本的工具库,比如 jQuery 和 SASS/LESS,这些能让开发更加高效,代码更加优质。

另外,很多招聘文案中都会要求求职者有 Ajax 的开发经验。Ajax 技术使用 JavaScript 默默地和服务器通信来动态加载网页内容,以实现无缝的浏览体验。虽然这不是所有网站都必须的,但这也可以算是前端工程师的基本功之一,毕竟 Ajax 技术如今也越来越多地被应用到了网页中。

有了前面说的这些技能,前端工程师就可以很好的和设计师合作,和用户体验分析师合作,把草图和原型开发成成品。牛逼的前端工程师还能精确的发现用户体验相关的问题,给出建议和解决方案,用代码来增强设计。一个好的前端工程师还应该能够和业务人员流利的沟通,明白他们的目的,理解他们的需求,了解市场上的机会,并且顺利地执行。

总之在后端工程师造好屋子以后,前端工程师主要负责房屋的内饰。至于房屋的类型和品位,这就取决于房屋的主人了。相比于后端,前端工程师一般来说更加满足于自己的成果,毕竟这是一份技术和创意相结合的工作。经验丰富的前端工程师不仅是一个技术人员,不仅是一个 Geek,因为他不仅实现了用户可以看到一切和可以交互的一切,还致力于给用户留下过目不忘的印象,所以他也是一个视觉达人。

那我们看到的网页是怎么来的呢?

再补充一下这个很多人都关心的话题吧,在网页开发过程中,设计师绘制 Logo 和图像,摄影师拍摄照片,文案编写文字,最后由前端工程师把它们组装在一起,用网页向我们阐释所有内容,用网页向我们提供独一无二的体验,把我们在网站上看到的所有内容变成可能。

体验一下? 点击打开 http://wedfairy.com 向下滑动页面的过程中上面的 八音盒 导航栏慢慢出现,把鼠标移动到“八音盒故事”的某个案例上面或者用手指按住一个案例,标题就会出现,这些都是前端工程师的功劳。

后端工程师 Back-End Developer

新的问题来了,网页上的数据存在哪里?API 又是什么?

就像一间没有造好的屋子,光有室内装饰还是远远不够的。于是我们还需要后端工程师。网页的后端包括服务器,应用程序,以及数据库。这些组件相互作用,使用 API 和前端通信,确保了网页前端的存在。后端工程师的主要工作就是搭建和维护这些组件。

还是先来看看相关技能和工具。

相比于前端开发,后端开发的技术和工具比较多元。为了实现服务器、应用程序和数据库三者之间的通信,后端工程师通常使用 Python,Ruby,PHP,Java,.Net 等语言来编写应用程序,用 MySQL,Oracle,MongoDB 来查找、存储和修改数据,然后把它们部署到服务器上来为前端代码提供支持。在实际工作中,后端工程师至少需要掌握一个开发框架,比如 PHP 的 Zend 和 Symfony,或者 Python 的 Django;还需要能够熟练使用版本控制工具,比如 Git 和 SVN;以及了解 Linux 开发环境。这些看起来比前端开发枯燥多了!

后端工程师需要使用这些框架和工具来为网站编写优质的代码,有可读性,可移植性,有完备的文档。然而和前端工程师一样,在开始埋头编码以前,后端工程师需要和业务人员充分沟通来理解他们的感性目标,将其转换为技术需求,提出具有可行性的有效方案,来搭建技术架构。

优秀的后端工程师同样热爱自己的工作,沉浸在后端的他们从来不觉得无聊,反而乐在其中。他们喜欢玩弄数据,编写出有用的 API,按照不同的权限分配给网页前端、移动应用和其他系统,让前端工程师可以安心的沉浸在交互和布局中。通俗易懂的高质量的 API 受人尊敬,这就是后端工程师的价值所在。

我们怎样才能感受到后台的存在?

点击 http://qidlove.com 打开婚礼邀请函。此时 八音盒 的服务器会把信息发送到你的手机或电脑中,然后变成你所看到的内容。这就是后台工程师所做的事情。如果你向下滚动屏幕到最后,留下自己的姓名和祝福,点击发送,别人就可以看到你的留言,下一次你再打开这个网页,留言也不会消失,这些都多亏了后端工程师啊!

全栈工程师 Full-Stack Developer

说到这里,首先要明确一点,前端开发和后端开发并不是黑与白的区别,前端工程师和后端工程师之间也没有恐怖分子和反恐精英这样子的暧昧关系。在目前的经济形势下,在这个资源紧缺的市场环境中,前端工程师往往需要学习(至少了解)一些后端开发的技能,反之亦然。产品开发有很多通用的规则,跨越了前后端的界限,于是我们开始寻找一种通才。

它的由来?

全栈工程师自然很早就存在,但是“全栈工程师”的叫法诞生于 Facebook 的开发部门。四年前,有一类特别的人群被挖掘出来,他们的工作内容涉及到了技术架构(技术栈)中的每一个环节,包括前端和后端,他们可以和后端工程师一样在服务器端玩弄应用程序和数据,也可以使用前端语言控制页面内容和调节用户体验,他们能够提供一套完整的系统。

总之,全栈工程师是网页开发的全能战士。

感觉很酷是吧?成为一个全栈工程师,同时精通前端和后端开发,无形之中给自己的职业生涯创造了很多机会。不过也别高兴得太早,就和烹饪一样,有人更擅长热菜,有人更擅长甜点,精通两者需要时间和经验。妈妈的手艺可不是一日炼成的,更不是简简单单的按照食谱来做就行(事实上很多工程师依然在这样错误的做着)。一个好的全栈工程师和一个好的大厨一样,需要有自己的内涵,需要有所有的烹饪原料,需要掌握所有的方法,才能奉献上一顿完美的晚餐。

全栈工程师需要掌握的技能相对复杂,甚至有些主观,因为这不仅仅只是技能相关的需求,而且随着时间的推移,人们对于他们的要求也在一点点变化。除了要根据不同项目掌握前端和后端开发的相应技能外,全栈工程师还需要充分理解网页正常运行的每一个环节,不仅包括合理的服务器配置,规范的 API 结构,还要通晓 JavaScript 的哲学,以及 CSS 背后的设计情怀。

举个例子,现阶段一个典型全栈工程师的装备,HTML5/CSS3 + Scala + MongoDB + 云服务 + JavaScript

有了知识和技术,就还差经验了,这也是最后一道门槛,全栈工程师尤其需要能够在一个项目面前,快速地定义前端开发和后端开发的职责,分析各种解决方案的优势和劣势,最终选择最合理的执行方式。

老问题,作为用户如何感知网站背后的全栈工程师?

这个我真的说不出来了,自己去感受吧,页面加载需要多久,内容布局是否专业,交互体验是否自然,等等等等。

最后说一句:

不要迷恋全栈工程师,任何时间,任何场合,都有一个“大而全”和“小而精”的选择,好的网站从来都不是一个人的功劳,不要忽略了设计师、摄影师、文案、产品经理、客户经理、销售、客服、用户、以及其他所有直接参与和间接参与到网页制作中的人们。识别优秀的工程师也并不一定只是技术层面的事情,无论是前端、后端还是全栈,工程师的自我修养还需要包括对细节的关注,自主学习的速度,解决问题的效率以及良好的沟通能力。

如果你是个网页工程师,那么恭喜你,你现在最不需要担心的就是找到一份称心的工作……事实上接下来五到十年是网页工程师最好混的时期了,HTML5 终于定稿,五花八门的屏幕的出现,跨平台应用的需求越来越高,微信至少还火热着,加油啊!!!

时间: 2024-10-08 05:08:04

程序员们,让你的孩子当个网页工程师吧!的相关文章

老程序员的忠告:不要做浮躁的软件工程师

老程序员的忠告:不要做浮躁的软件工程师:每天读一遍,思考一下:我是否浮躁? 1.不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异. 2.初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习.很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的. 3.看帮助.不要因为很难,而自己又是初学者所以就不看.帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,或不够直观. 4.不要被一些专用词汇所迷惑,最根本的是

【转】老程序员的忠告:不要做浮躁的软件工程师

老程序员的忠告:不要做浮躁的软件工程师:每天读一遍,思考一下:我是否浮躁? 1.不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异. 2.初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习.很多人用了很久都是只对部分功能熟悉而已,不系统还是不够的. 3.看帮助.不要因为很难,而自己又是初学者所以就不看.帮助永远是最好的参考手册,虽然帮助的文字有时候很难看懂,或不够直观. 4.不要被一些专用词汇所迷惑,最根本的是

(转)程序员简历该怎么写

* 没有必要撒谎 写简历最差的策略就是撒谎了.这种欺骗本身就自相矛盾.你到底希望和聪明人共事呢,还是笨人呢?大多数人希望和聪明人共事,但是聪明人你骗得了么, 或者说被你骗了的算是你认为的聪明人么?你要和想找好工作, 基本假设就是大家都是明白人不好骗的.看简历的人也上过学,也写过简历,更清楚其中的注水手段,以为自己能吹牛过关,大部分都是自取其辱.即便你过了简历 筛选一关,也没那么容易,面试时候肯定会问你那些你写的东西,你答不上来,面试官还会觉得你 人品有问题.有的同学说多参加几次面试不好么,好,但

【转】程序员简历

原帖:云淡风清 http://blog.csdn.net/luqin1988/article/details/8697538 最近一直郁闷投出去的简历没收到希望中的回复,自己觉得自己技术也没那么不堪入目,问题可能出现在简历上,于是搜索了下,对于程序员写简历的一些建议.希望对大家有所帮助.希望对自己也有帮助.最后让offer来的更猛烈些吧!! (声明:这是转载的几篇比较好的建议, 对于转载的别人的东西,需要特别声明.) * 没有必要撒谎 写简历最差的策略就是撒谎了.这种欺骗本身就自相矛盾.你到底希

谈程序员的出路

http://blog.chinaunix.net/uid-25838286-id-3068153.html 从我做小程序员开始,就从未间断的在论坛看到有人在问程序员的出路在哪里,其实我很能理解这些人的想法,在行业做了几年,有些感想跟大家随便聊聊.俗话说,365行,行行出状元,此话也适用于IT行业,尤其是程序员.当你迷茫找不到出路,又想快速成长和提高的时候,有两种方案可以供你参考:1.努力成为你工作环境中最优秀的人(技术最好的人):2.跳槽,去另外一家公司做比你能力要高的工作.针对工作环境的不同

非计算机类专业毕业生五年程序员职业生涯的回顾和思考

0.前言看到过几篇程序员的职业生涯过程,我也来当一回写手吧,希望对和我一样曾经磕磕碰碰过的人有帮助.谨以此文纪念大学毕业五周年,传播一些正能量. 1.从校园启程我的大学专业全称是无机非金属材料工程,这专业多与玻璃.水泥.陶瓷打交道,高大上一点的是各种珠宝,前沿一点的是纳米材料.想先声明的是,我不是在黑自己的专业,只是每个人都会有自己喜欢和适合自己的工作和生活状态.我尝试过为了完成一个程序而废寝忘食后就爱上了这个职业,即使知道这是个加班如家常便饭的工作也义无反顾.而且后来我发现材料工程的学习经历并

程序员 软件工程师

普通程序员与软件工程师的区别 程序员.工程师和高级工程师区别 程序员与软件工程师区别 软件工程师不仅仅是会编程就行,需要对整个软件工程的流程很连接,从立项.分析.建模.编程.测试.发布都有很高的要求.主要是因为有软件和硬件之分的 还有工程师什么什么的头衔都需要考级的 ,不是随便都可以说是的.    程序员是从事编程工作的人.软件工程师是在软件方面达到一定水平的人,一般有证书.软件工程师有很多种,有销售的工程师,有开发的工程师.    程序员和软件工程师的区别是:软件工程师不但要有编写程序代码的能

程序员摆脱疲劳的 11 个建议

原文网址链接:http://url.cn/XId9x4 我们的行业压力大.人手少.节奏快,所以有时候很容易让人感到倦怠和失望.程序员总是觉得很累,烦躁甚至是沮丧. 这里有一份快速指南,能够克服可怕的“程序员疲劳”: 吃一顿丰盛的早饭 高科技产业的很多人都是熬夜到凌晨 3 点,很晚才起床,不吃早饭就冲到办公室.或者随便在路边脏兮兮的早点摊,买点难吃和恶心的熏肉三明治.早餐是一天中最重要的一餐,这是真的.而且不仅仅是要吃早餐,早餐吃什么也很重要.尽量吃点富含蛋白质的食物,比如豆类.牛油果和全麦面包等

程序员逆袭必备之技能

程序员(英文Programmer)是从事程序开发.维护的专业人员.一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国.软件从业人员分为初级程序员.高级程序员.系统分析员,系统架构师,测试工程师五大类. 但是程序员一直被认为是一个苦逼的职业,工资一般般,但工作压力却很大,类似“程序员职业病.程序员光棍”等话题充斥着整个行业的讨论区.程序员需要逆袭,做好以下这7点,你可以混得更好一点.  (本图为:程序员逆袭必备之技能) 一.对技术的热忱  热情是一种无形的东西,当你