【Web探索之旅】第四部分:Web程序员



内容简介

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

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

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


第四部分:Web程序员(完结篇)

大家好。终于来到了【Web探索之旅】的最后一部分。

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

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

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



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

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

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

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

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

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

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

  5. 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,C#,Go等。随你自己的意思选择其中一个来入门,选择你最喜欢的,用起来最顺手的,社区支持更好的。这些服务器端的语言可以帮我们产生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开发中去,每天学习,每天进步一点点。

【Web探索之旅】的课程就到此结束啦。后续小编会发每一部分的测试题。



程序员联盟社区

目前有一个微信群和一个QQ群,凡是对编程感兴趣的朋友都可以加,大家可以交流,学习,互动,讨论编写的程序的源代码,编程问答等。

微信群(程序员联盟),加群请私信我(微信群人数超过100之后,不能通过扫描二维码加入了,只能私信我,谢谢)

QQ群: 413981577 (1000人群)

QQ群文件里有很多编程书籍PDF和其他资料。扫描下面二维码加QQ:

我们还建立了一个公共的百度云盘,2TB容量,已有很多优秀编程资源,大家也可以上传。链接加群之后会发送。

百度贴吧 【程序员联盟】 欢迎您加入,交流编程,讨论代码,共享资源,已经有很多话题。吧主就是小编。

http://tieba.baidu.com/f?kw=%E7%A8%8B%E5%BA%8F%E5%91%98%E8%81%94%E7%9B%9F&ie=utf-8

《程序员联盟》的微社区,方便大家提问和互动。可以关注一下。

微社区地址和二维码如下:

http://m.wsq.qq.com/264152148

谢谢!



程序员联盟 微信公众号

*您若觉得本文不错,请点击画面右上角《···》按钮“分享到朋友圈”或“发送给朋友”

*新朋友请关注「程序员联盟」微信搜公众号  ProgrammerLeague

小编微信号: frogoscar

小编QQ号:  379641629

小编邮箱:    [email protected]

程序员联盟QQ群:413981577

程序员联盟微信群:先加我微信

有朋友反映看手机端的文章太累,其实是可以用浏览器网页来看的:

方法1. 点击画面右上角的《···》按钮,然后选择“复制链接”,再把链接黏贴到你的浏览器里面或用邮件发送给自己,就可以在电脑的浏览器里打开了

方法2. 头条网www.toutiao.com,搜索我的自媒体“程序员联盟”,内有所有文章,也可以直接进这个链接:http://www.toutiao.com/m3750422747/

方法3. 我的51CTO博客,CSDN博客,博客园和开源中国博客链接(所有文章都在上面)
http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://my.oschina.net/frogoscar/blog

如何查看所有文章

1. 点击“查看公众号”,再点击“查看历史消息

2. 在公众号回复任何信息,可以看到包含“查看历史消息”的链接。

【支持小编的劳动】

觉得文章对你有帮助,请纪念小编的辛勤劳动,扫描二维码捐赠给小编,谢谢!

支付宝

Paypal

时间: 2024-10-10 23:35:54

【Web探索之旅】第四部分:Web程序员的相关文章

【Web探索之旅】第一部分:什么是Web?

内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课程相对比较简单,比[C语言探索之旅],[C++探索之旅],[Linux探索之旅],[TCP/IP网络探索之旅]简单,会让大家在轻松中理解关于Web的方方面面. 您是否对Web感兴趣但是不知道什么是Web呢? 您是否觉得"网络黑客"很神秘? 您是否不清楚Internet和Web有什么区别?

【Web探索之旅】第三部分第一课:服务器

内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着眼于一个Web site(网站)是如何工作的,我们会更深入地了解Web背后的网络.这里的网络是network,泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个很大的蜘蛛网.对于有蜘蛛恐惧的朋友我只能献上我诚挚的歉意,看到我真挚的表情了吗.

【Web探索之旅】第三部分第一课:server

内容简单介绍 1.第三部分第一课:server 2.第三部分第二课预告:IP地址和域名 第三部分第一课:server 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理.还是非常重要的. 这一部分我们会着眼于一个Web site(站点)是怎样工作的,我们会更深入地了解Web背后的网络. 这里的网络是network.泛指Web中的各台机器之间互相"交流". 还记得我们之前将Web形象地比喻成什么吗? 对了,就是一个非常大的蜘蛛网.对于有蜘蛛恐惧的朋友我仅仅能献上我诚挚的歉意

WCF探索之旅(四)——程序中WCF服务整合

我们在之前的博客已经完成过实例,大家也看到了如何使用WCF服务: 添加服务引用-->输入服务地址-->实例化服务-->调用服务方法 那么今天为什么要再次说"程序中WCF服务整合"这个话题? 用过WebService的人都知道,随着服务的增多,管理WebService是一个非常繁重的工作.好了,今天我们的目标来了--让WCF服务变得整齐.有序.易管理! 首先,我们建立一个工厂类,这个工厂用来实例化我们的服务.这样做的好处是,所有的服务都是由工厂实例化的. 然后我们要建立

【Web探索之旅】第二部分第四课:数据库

内容简介 1.第二部分第四课:数据库 2.第二部分第五课预告:响应式网站 第二部分第四课:数据库 说到"数据库",顾名思义,是"数据的仓库"的意思. 所以数据库的一大作用就是储存数据咯. 为什么Web领域要有数据库呢? 数据库的英语是Database,简单来说可视为电子化的文件柜(存储电子文件的处所),用户可以对文件中的数据运行新增.截取.更新.删除等操作.它是以一定方式储存在一起.能为多个用户共享.具有尽可能小的冗余度.与应用程序彼此独立的数据集合. 关系型数据库

【Web探索之旅】第三部分第二课:IP地址和域名

内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些机器如何找到和辨认彼此呢?难道不会"只是因为在人群中多看了你一眼,再也没能想起你容颜"吗? 如果我用我的浏览器上网,我怎么知道哪个服务器向我发送此网站呢? 为了解决这个难题,IT科学家们使用了一个叫做IP地址的东西(东西好像有点太难听了,IP它根本就不是个东西好嘛). IP是Interne

【Web探索之旅】第二部分第三课:框架和内容管理系统

内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库 第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby,C#等. 这一课我们来学习基于这些语言衍生出来的框架(Framework),然后我们再来看看什么是内容管理系统(CMS). 框架(Framework) 什么是Framework(框架)呢?要给出一个准确的定义很难.因为它有不少不同的定义.可以自行参看这个百度百科: http://baike.baidu

【Web探索之旅】第三部分第三课:协议

内容简介 1.第三部分第三课:协议 2.第四部分预告:Web程序员 第三部分第三课:协议 之前的课,我们学习了Client-Server模型的客户端语言和服务器语言. 客户端语言有HTML,CSS和JavaScript. 服务器语言有PHP,Java,Python,Ruby,C#,还有新兴的Go语言(Google推出的很强大的编程语言). 不过,要使得Web中这么多机器之间能够相互通信,例如 客户机A对服务器E说:"你好,请发送baidu.com这个网页给我",是不能借助客户端或服务器

【Web探索之旅】第二部分第一课:客户端语言

内容简介 1.第二部分第一课:客户端语言 2.第二部分第二课预告:服务器语言 第二部分:Web编程语言和工具 大家好.上一个部分我们学习了Web的一些基本概念: 什么是Web? Internet和Web的区别 Web的历史 第二部分我们会正式进入Web学习的主题了.我们会带大家了解一个我们平时访问的网站(Web site)是如何运作的.首先我们来看看Web开发使用到的编程语言和数据库,一些框架和内容管理系统,还有响应式设计.这一部分会有不少原理,概念比较重要,不过我们会用形象地比喻来阐明. 第二