内容简介

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探索之旅】的课程就到此结束啦。后续小编会发每一部分的测试题。

 


程序员联盟 微信公众号

*您若觉得本文不错,请点击画面右上角《···》按钮分享

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

程序员联盟官网:

http://coderunity.com/

小编微信号: frogoscar

小编邮箱:    enmingx@gmail.com

小编QQ号:  379641629

程序员联盟QQ群:413981577

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

头条网自媒体“程序员联盟”:

http://www.toutiao.com/m3750422747/

小编的51CTO博客,CSDN博客,博客园,新浪博客和开源中国博客
http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://blog.sina.com.cn/frogoscar

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

【打赏小编】

觉得文章对您有帮助,请纪念小编的辛勤劳动,扫描二维码打赏小编,谢谢!

支付宝

Paypal

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

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

    内容简介 1.第三部分第一课:服务器 2.第三部分第二课预告:IP地址和域名 第三部分第一课:服务器 大家好,欢迎来到[Web探索之旅]的第三部分.这一部分有不少原理,还是很重要的. 这一部分我们会着 ...

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

    内容简介 1.Web探索之旅:开宗明义 2.第一部分第一课:什么是Web? 3.第一部分第二课:Web,服务和云 4.第一部分第三课:Web的诞生史 Web探索之旅:开宗明义 大家好. 我们这个系列课 ...

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

    wx_fmt=jpeg" alt="0? wx_fmt=jpeg" style="height:auto"> 内容简单介绍 .第三部分第一课:s ...

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

    内容简介 1.第二部分第四课:数据库 2.第二部分第五课预告:响应式网站 第二部分第四课:数据库 说到“数据库”,顾名思义,是“数据的仓库”的意思. 所以数据库的一大作用就是储存数据咯. 为什么Web ...

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

    内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些 ...

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

    内容简介 1.第二部分第三课:框架和内容管理系统 2.第二部分第四课预告:数据库   第二部分第三课:框架和内容管理系统 上一课我们介绍了服务器端的编程语言,有PHP,Java,Python,Ruby ...

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

    内容简介 1.第三部分第三课:协议 2.第四部分预告:Web程序员 第三部分第三课:协议 之前的课,我们学习了Client-Server模型的客户端语言和服务器语言. 客户端语言有HTML,CSS和J ...

  8. 【Web探索之旅】第二部分第五课:响应式网站和移动应用

    内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...

  9. 【Web探索之旅】第二部分第二课:服务器语言

    内容简介 1.第二部分第二课:服务器语言 2.第二部分第三课预告:框架和内容管理系统 第二部分第二课:服务器语言 介绍了Web的客户端,我们来谈谈Web的服务器端. 既然客户端有客户端的编程语言(HT ...

随机推荐

  1. java特权制度设计篇

    数据库表设计 1.1.1.   模块管理(jk_module) 项 类型 说明 id long 就是数据库记录idx号 name string 模块名称 orderid int 排序id  由小到大显 ...

  2. 算法起步之动态规划LCS

    原文:算法起步之动态规划LCS 前一篇文章我们了解了什么是动态规划问题,这里我们再来看动态规划另一个经典问题,最长公共子序列问题(LCS),什么是子序列,我们定义:一个给定序列将其中的0个或者多个元素 ...

  3. hdu 4274 Spy's Work(水题)

    Spy's Work Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. 2014最新SSH框架面试题大收集

    (1)Hibernate工作原理及为什么要用? 原理:  1.读取并解析配置文件  2.读取并解析映射信息,创建SessionFactory  3.打开Sesssion  4.创建事务Transati ...

  5. Juniper srx防火墙NAT配置

    一.基础操作说明: 1.  设备恢复出厂化 root# load factory-default root# set system root-authentication plain-text-pas ...

  6. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  7. SQLServer 复制中移除和加入公布而不初始化全部项目

    -- 若提前"禁止架构更改".新增的列不会自己主动加入大公布.此时应使用 sp_articlecolumn 加入列 EXEC sp_changepublication @publi ...

  8. 《Effective C++ 》学习笔记——条款02

    ****************************  一. Accustoming Yourself to C++ **************************** 条款02: Pref ...

  9. tar.bz2解压

    bzip2 -d gcc-4.1.0.tar.bz2 tar -xvf gcc-4.1.0.tar 或 tar -xvf *.tar

  10. poj1463(树形dp)

    题目链接:http://poj.org/problem?id=1463 题意:有N个点,每两个点至多只有一条边,如果在一个结点上放一个士兵,那他能看守与之相连的边,问最少放多少个兵,才能把所有的边能看 ...