-- 作者 谢恩铭 转载请注明出处


《Web探索之旅》全系列

内容简介


  1. 第四部分第一课:什么是Web程序员?
  2. 第四部分第二课:如何成为Web程序员?
  3. 第四部分第三课:成为优秀Web程序员的秘诀

大家好,经过上一课 Web探索之旅 | 第三部分第三课:协议,我们结束了第三部分。终于来到了【Web探索之旅】的最后一部分。

我们的第二和第三部分都略有难度,不过这第四部分和第一部分一样,都会比较轻松愉快。

这一课我们来聊一聊Web程序员,Web的文化,如何成为一名优秀的Web程序员。

或许看完这部分,你会跃跃欲试,想要成为一名Web程序员也不一定。毕竟现在Web程序员还是比较吃香的。


第四部分第一课:什么是Web程序员?


很多公司都有Web程序员,负责不同的部分,每个公司的Web程序员所做的工作可能大相径庭。要给出一个统一定义比较难。

不过,一般来说,我们可以将Web程序员(这些Web程序员都有一个共同的目的:维持公司的网站运行良好)分为几大类:

FrontEnd


Frontend是英语“前端”的意思。一般我们所说的Web Frontend就是指“Web前端程序员”。主要负责网站的外观,也就是“颜值”担当。一般精通HTML,CSS和JavaScript等客户端语言。

BackEnd


BackEnd是英语“后端”的意思。一般我们所说的Web Backend就是指“Web后端程序员”。与Web前端程序员配合,主要负责网站服务器端的编写和维护,也就是“功能”担当。一般精通PHP,Java,Python,Ruby或C#等服务器端语言。

QA Manager


QA是Quality Assurance(质量保证)的意思,manager是“主管”的意思。所以QA Manager就是我们平时所说的“质量主管”,他可以充当客户的角色,来使用网站。负责网站的正确运行,对网站的质量进行监控,如果有什么问题或有什么需要的新功能,会通知Frontend,Backend或System Administrator来处理。可以想象是一个医生,确诊网站的“疾病”,对网站的健康负责。

System Administrator


System是“系统”的意思,Administrator是“管理员”的意思。所以System Administrator就是我们平时所说的“系统管理员”。他就好像一个很厉害的老工程师傅,可以想象提着一个工具箱,到机房里去修修弄弄(当然其实并不见得是这样)。他保证Web的服务器可以正常运作,负责一些硬件的维修和管理,使网络畅通无阻,而且一般的SA都熟悉Linux技术,至少会用Linux命令行吧。

Full Stack


Full是“全部,完全的”的意思,Stack是“栈”的意思。所以Full Stack就是我们平时所说的“全栈程序员”或“全栈工程师”。他就好像一个“全能骑士”或者身怀绝技的“日本武士”,可以做以上四个职位的所有任务。当然,要成为全栈工程师是很辛苦的,因为什么都要会。少年,珍爱生命,还是悠着点吧~

Web程序员特质


每个Web程序员的性格,习惯和爱好都各不相同。不过我们可以试着概括一些Web程序员的共同特质,或者说那些驱使他们选择去这个公司而不是那个公司的因素。

  1. 喜欢解决复杂又新颖的问题:喜欢解难题并不稀奇,很多人都喜欢挑战自我,但是Web程序员还喜欢解决新颖的问题。如果一个难题很老套又很陈旧,那他们可能提不起太大兴趣。他们希望构建和维护的网站是新潮的,与众不同。不喜欢用别人用烂了的模版,样式。

  2. 不喜欢被约束,喜欢合理利用时间,不喜欢没效率的工作方式。如果看过《社交网络》这部电影,那你会注意到Facebook公司内部的工作环境是非常舒适,轻松,和谐美好的。诸多Web程序员吃住在一起,就像一个大家庭。而大家也许也知道Google(谷歌)的工作环境也是很不错的,不是那种高压紧张的工作氛围,而是给你自己最有效安排工作的机会。

第四部分第二课:如何成为Web程序员?


要成为Web程序员其实不难,这一节想要告诉大家的是:你也可以成为一个非常厉害的Web程序员。

听到这话,也许你会说“哪里哪里,我肯定不行的。这么多编程语言,这么多协议等,好复杂的。Web程序员不是我想做,想做就能做...”。

但其实真的没有那么复杂。

你可以按照以下顺序:

  1. 学完这个Web课程(幸好我们已经完成了)。

  2. 学习HTML5和CSS3:这两门客户端的语言可以让你自己写一个网站,从零开始。

  3. 学习一***器编程语言:Java,PHP,Python,Ruby,等。随你自己的意思选择其中一个来入门,选择你最喜欢的,用起来最顺手的,社区支持更好的。这些服务器端的语言可以帮我们产生HTML的网页。所以这也是先学习HTML的原因。

  4. 学习JavaScript:虽然一般来说JS是客户端的语言,但是借助Node.js也可以实现服务器端编程的。而且JS可以使我们的网页变得动态起来,具有交互性。

  5. 学习Linux命令行:可以了解SA(System Administrator,系统管理员)是如何使服务器正常工作的,如何与服务器交互。因为大多数服务器都使用Linux或者Unix系统。

还有几点,是在编程语言之外的,也很重要:

  1. 紧跟技术潮流:每天去CSDN,51CTO等全国数一数二的大型编程社区,看看首页的新兴Web技术专题。如果不使用最新最好的技术,而死守一些老掉牙的技术,任你编程水平再高,也是没用的。

  2. 练习:经常编程。

  3. 热爱Web编程:如果你尝试了Web编程之后,发现自己不适合这门职业,或者这不是你兴趣所在。那么可以换个职业。不过,也有很多人是慢慢喜欢上Web编程的。所以不妨试试。

第四部分第三课:成为优秀Web程序员的秘诀


要成为优秀的Web程序员没有那么容易,需要岁月的沉淀。但是也没有那么难,因为随着时间的推移,你自然就越来越厉害了。

但是心态一定要摆对,不必一上来就学习所有知识点,所有编程语言。一步一个脚印,把自己位置放对了。要成为优秀Web程序员,我觉得可以照以下几点来实行:

  1. 认识到你可以在任何年纪(只要不是老的不能打字)开始做Web编程,也不需要太在意你以前学过什么:有的人认为只有智商很高才能做程序员,错了,很多程序员智商并不高,比如小编,哈哈。有的人认为一定要很年轻就开始学习编程,才能成为优秀的程序员,错了,现在网上那么多好的教材,只要你愿意,有什么学不会呀。

  2. 认识到你最大的敌人是自己:我们常常抱怨说自己不可能做到这样那样,但其实是我们不够努力。Web开发有那么难吗?我觉得真的不难,至少比嵌入式简单。

  3. 用新技术,新理念装备自己:编程技术日新月异,Web技术的演进更是快得超乎想象。保持一个不断学习,不断充电的好习惯,你会比别人走得更远。可能别人用老技术花很多时间做出来一个很慢的东西,你用最新技术分分钟搞定,而且运行还比他的快,人艰不拆啊。

  4. 学习英语:我一直觉得要成为程序员,英语不是必须的。但要成为优秀的程序员,英语真的大有裨益。看看网上优秀的论坛,教程,技术社区都是英语的,而且很多技术的文档和API没有中文版,即使有中文版,翻译的水准也是层次不齐,万一翻得不准确呢,那不是毁一生么。英语并没有那么难,比编程入门简单多了吧,就是反复,坚持。先把语法巩固了(好比英语这座大厦的钢筋混凝土底座),再丰富单词,增加阅读量,听力练习,分分钟(每天花少许时间)搞定英语。

  5. 使用一些好的工具:例如调试的好工具Firebug(Firefox浏览器的一个插件),Chrome浏览器自带的开发者工具(更多工具->开发者工具)。会让你事半功倍。

  6. 学会搜索:检索资料是一种能力,需要慢慢培养。其实90%的Web错误或难题,都可以通过百度和Google找到解决方法。因为通常我们的网页是会显示详细的错误信息的,你只要把错误信息那句话输入到百度的搜索栏,搜索一下,网上一般会有很多人已经遇到过这个问题了,分分钟解决。我一直觉得,搜索引擎是很好的老师,可以帮我解决大部分问题,根本不需要去QQ群,论坛,社区花时间问别人(效率不高),搜索引擎就是自己的老师。

总结


  1. Web编程有很多种语言,但是我们不需要全部学习。只要学习其中的几样就够了。

  2. Web程序员可以是各个年龄段,只要你不是年幼得读不懂文字或者年老得文字读不懂你,就可以来学Web编程。

  3. 我们大可以尝试着来学习Web开发技术,一开始不需要太深入,如果你觉得这不是你想要的,大可以改行。“没什么大不了,你想改,就改吧,没有人会知道...”

  4. 实践很重要,把自己投入到Web开发中去,每天学习,每天进步一点点。

这个系列课程终于完结了


大家辛苦了~ 好好努力吧


我是 谢恩铭,软件工程师,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」