天天看点

为什么我不喜欢Web开发

自2005年大学毕业, 先后就职于2家公司。中间经历过不少项目, 这里面大部分时间在做Web类的开发工作, 包括j2ee类的较大的项目, 也包括php开发的小型项目。

在此谈谈我对Web开发的看法。

一、Web开发需要的知识和技能

一般来说, Web开发工程师需要掌握一门服务端的编程语言, 比如java, php或c#之类。

当然,其实也不仅是一门语言, 还包括在这门语言背后的平台下进行开发的一系列知识和技能。

每种语言背后都有一套框架、平台、工具。就拿最主流的java来说, 你需要掌握java语言, 熟悉语言本身, 熟悉java

的那些api, 掌握常用开发工具使用比如eclipse, 至少熟悉一种web服务器比如tomcat,  要熟悉主流的开发框架比如

Spring, Hibernate, Struts之类。除了这些, 你还要掌握前端的知识和技能, 比如javascript: bom, dom, 事件处理,要熟练掌握一种

javascript的库, 比如jQuery, YUI, EXTjs之类, 你还要懂css, 要懂如何编写跨浏览器的Web程序...

当然这些东西的掌握需要一定的时间, 在我看来, 这个时间少则一到两年, 多则三到五年。

具体要看个人的学习能力, 并且这些知识和技能要结合实际的项目实战才能掌握和领悟。

二、Web开发领域这些年的变化

最近5年来, Web开发领域特别是浏览器端的开发发生了很大的变化。简单来说就是: 分工细化。

在最近五年, 特别是移动互联网如火如荼的当前,对于前端用户体验的要求越来越高, 导致前端的代码越来越复杂, 对开发工程师的要求也越来越高。

在前面讲到, Web开发工程师掌握的知识和技能不可谓不繁杂,  在当前这种情况下, Web开发工程师出现了分工的细化, 比如大公司会出现下面这几个

岗位: 1. UI设计师  2. 交互师 3. Web前端工程师(专门负责写js或flash)  3. Web后台工程师(java,php,cgi)

当然, 在很多小公司还没有进行这么细的分工, 实际上Web工程师承担着以上集中不同的角色, 说实话, 很累。

而且, 不利于工程师的成长, 因为需要掌握的东西太多了, 不够专一, 很难精通。

三、Web开发工程师的未来

个人认为, 在近期, Web开发工程师主要分化为两类, 浏览器端工程师(Web前端开发工程师)和服务端开发工程师

但其实未来肯定还会发生变化, 这是因为其实浏览器端的开发工作会发生巨大的变化。

比如HTML5的出现,  比如移动互联网应用的出现、比如Web UI组件化编程的成熟, 等等

这些都会导致这个领域进一步的细分, 即时基于也是挑战。

四、对刚刚进入这一领域的朋友的建议

个人认为, 如果你选择软件开发作为毕生的职业, 建议慎重选择Web开发。

因为:

1. 门槛低

2. 所需知识技能繁杂

3. 大部分的工作是体力活

4. 不容易深入

5. 变化太快

6. 大部分人很难拿到高薪

可能我的观点是错的, 但我只是把自己工作以来对Web开发的开发分享给大家,抛砖引玉了。