黑马程序员技术交流社区
标题:
写给初学前端工程师的一封信(java工程师也适用)
[打印本页]
作者:
WanLum
时间:
2015-5-5 22:39
标题:
写给初学前端工程师的一封信(java工程师也适用)
大家好:
应波波的邀请写一写我对这个话题的想法。从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真找不到人。我当时是这么跟他们分析的:过去的客户端以browser为主,所以HTML/CSS/Javascript是唯一选择,现在可是mobile first,于是大量前端开发者被native开发分流,以及原本想做前端工程师的后备力量应届生们也选择学native开发,导致前端人荒。随着情况改变,H5(HTML5的大众昵称)在传播上体现的商业价值巨大,无论是创业团队还是巨头自然重视这块低成本高收益的事。好像前端开发的春天又来了,但局面是后备人才不足,想转前端开发的又会发现贵圈比以前还乱,除了标准依然滞后,各种框架、工具冒出来,没一两年又淘汰,过去好像会jQuery就可以混,现在的门槛确实高不少。没办法创业团队要招到优秀的前端工程师只能靠情怀和烧钱,巨头们需要重新培育起好的技术文化吸引人才,尤其是肯花钱和时间在前端技术的培训、积累和创新上。之前有人说web已死,现在看说这话的人可以去死了。在前端技术储备上加大投入,很长一段时间内都是非常值得的。
回到主题,标题其实是病句“初学前端工程师”。前端工程师是种岗位的title,怎么用学呢。我想将错就错说说职业的问题。前端社区三类人:前端工程师、前端开发者、“玩票”者。首先要明确前端工程师是种职业,是专职为公司业务提供前端开发服务的一个工种。前端开发者意义更广,凡是用前端技术开发的都算,但这里我想狭义上指前端开源社区贡献者和自由前端开发者。“玩票”者,指原本是其它语言的开发者,因喜爱前端技术经常参与社区互动并贡献开源项目的人。前端工程师和后两者的主要区别就是--职业性,后两者主要关注和解决通用问题(提高前端开发的生产力啊、推进标准的实现和发展啊),而前端工程师的职能是解决所在公司的产品开发中的前端工程问题(工程和技术是不同概念,之前我分享过一个关于什么是前端工程的话题,在这里)。明确定义后,开始谈谈我做了这么多年前端工程师的一点感受。
“他是我见过的最好的前端工程师”,这是多年前一位前同事对我的评价,我自己会克制的在后面加上“之一”。如果他说的是“最好的前端开发者”,我绝对不会接受这种评价。我的github如此冷清,编程上也没有突出的才能,也没贡献过任何有影响力的开源项目。但我觉得自己是很好的前端工程师,我参与的产品开发效率很高,对技术发展很敏感,很少走偏,多少还有点前瞻性。身在一线,对技术上的或人上的问题看的比较准。共同之处:追求更好更有效的解决工作上的实际问题。我不会盲目追求“最流行”的技术,更不会把它强加给产品,除非我觉得它真的适合这个项目,切实解决问题为导向。刚到豆瓣时,我问自己:豆瓣产品前端的最大问题是什么?不是统一UI、不是搞个新框架,而是要通过建全基础设施,改变开发方式将原来集中式的业务代码彻底解藕才是症结。这里面有技术问题还有跨角色合作的问题,因此不能孤立前端团队,搞合作不搞对立。当时组建的通用工具组集合了各种背景的资深工程师,一起讨论方案,成果对后面支撑公司业务的快速发展起到了重要作用。做这些事情要忍耐默默无闻、要就经常跳出自己的舒适区,到另一个不熟的领域甘心当小白,目的只有一个切实有效的把产品中的问题解决掉。对个人而言,通常这么做可以收获到更多更深刻的经验和知识,所以我也乐此不疲。不理解的人或许会觉得这人不牛逼啊,别人的看法不重要,收获到的实实在在的有价值的东西才是硬道理。新人不该看重虚名,装逼不健康。沉浸到每一个项目中(别。挑。活),做到具体问题具体分析,不生搬硬套,独立思考,虚心交流一定会快速成长起来。不要拿追求“完美”当幌子,不愿做没技术含量的事,这样的话干脆别干前端了。
拥抱变化是我在前公司工作时被灌输的价值观。对于刚走上前端工程师岗位的同学们来说,要慢慢习惯前端技术的快速变化,并且拥抱它。要stay hungry,stay foolish。其中也有重点,在不易变的方向上多花时间学习越深入越好,不纠缠、执着于那些易变的东西。对新技术始终保持好奇心。
工具是最易变的,工具包括从各种库、框架到构建工具、编辑器等等。我对工具的态度是实用至上、喜新厌旧。对于新人来说尽可能多的体验各种工具没坏处,从工具的设计思想上也能学到不少知识,但是要清醒的认识到,会用很多工具不是工程师核心的开发能力,也不是个人的核心竞争力。
前端技术本身的变化是演变,不像工具那样完全弃用变成全新的。比如多花些时间学习CSS2.1一点都不会浪费,多研究一些Javascript的基础特性也不会轻易过时。然后有预见性的学习新技术,在项目中积极拥抱新标准,比如ES6。幸运的是现在有大量工具让我们可以提前在产品开发中应用新标准。
开发思想不存在过时的问题,这些需要在长期的开发实践中不断的总结、反思,比如分离关注点是70年代提出的,从它衍生出很多开发理念,它永远不会过时。这些好像很“虚”的东西,在驾驭复杂的项目中非常有用。
我觉得前端工程师是所有工程师角色中最有也最需要“工匠精神”的。前端工程师的基本职责就是还原设计,把一个躺在设计图上的死的设计变成可以用的活的设计。所谓“工匠精神”体现在这个“活”字上。可视方面,一个动画的过程是否顺畅,一个交互动作全部状态是否都做到位,适配上是否足够灵活。代码方面,一段通用代码是否足够通用,代码冗余是否最小,性能是否足够快等等。简单的实现是最低要求,剩下的部分产品经理、项目经理不会要求,那是优秀的前端工程师发挥的空间。前端工程师的成长就是一个修炼的过程,修炼的开始就是在学会了那些书本上可以学到的编程知识后。在前端工程师的素质中,我认为应用能力是最重要的。这种应用能力可看成是一种产品的塑造能力,前提要有产品思维和设计思维,能自主发现并弥补产品、设计的空白和不合理环节,可以很好的控制代码的复杂度,高效高质量的完成开发需求。提升这种能力,纸上谈兵不行,只能在各种项目中摸爬滚打,如同医生不断积累临床经验一样。如果公司项目不能满足,就自己找项目做。我在刚毕业的时候,接过不少私活,通常这类项目发挥空间大。
每个开发团队都有自己的一套游戏规则:代码规范、code review、git或svn的用法、开发流程等等,先按照规则玩,再想着如何添砖加瓦。团队意识是一种职业态度。在一个好的团队里工作会很开心,团队会促进个体更快的成长。但一个好团队也是靠所有个体共建。不要抱怨自己所在的团队不够好,用更开放的心态分享和交流,慢慢的一个好的氛围便会形成。
最后再说说前端工程师的态度问题。前端技术发展很快,因此要不断学习,不应该轻易自满。之前在知乎里回答过一个问题,我是这么写的: “程序员容易陶醉在自己的代码中,甚至有某种自恋。我也有过这种时候,我甚至认为不够自恋就不是好程序员,艺术家没有不自恋的。但如果跳出自己的世界看,你写出来的东西到底价值有多大,产品因此成功?到底能影响什么,一二个同事,一个团队,整个行业?跟心目中大神的差距?这个时候会冷静一些,原来只是比以前的自己进步一些而已。”
前面并没有说成为一名优秀的前端工程师具体应该学习什么技术,会不会有些失望?因为具体的技术会变,不变的是那些特质和观念。希望我的分享对新入行的前端工程师有所启发和帮助。
作者:
Ar_Vic
时间:
2016-5-12 09:47
谢谢分享!
作者:
橘子哥
时间:
2016-5-13 11:57
好文!对初学者的引导非常有益!!
作者:
蛮王123
时间:
2016-5-13 22:39
加油 赞赞赞
作者:
新人救济
时间:
2016-5-13 23:32
赞赞赞赞赞赞一个
作者:
結断的时光
时间:
2016-5-14 20:44
原来是这样 ...
作者:
List
时间:
2016-5-15 17:54
前端相对来说简单吗?
作者:
zhouhp
时间:
2016-5-15 19:26
有一定的指导意义
作者:
Turingchang
时间:
2016-5-17 14:59
很实用,分析透彻啊......
作者:
hansuchang
时间:
2016-5-18 12:19
看来两边 第二遍才有所思
作者:
zhouhp
时间:
2016-5-19 11:51
有点不太分清PHP和前端的区别和关系
作者:
一帘幽梦——
时间:
2016-5-19 13:20
好贴!赞赞赞!
作者:
翻滚吧!大牛!
时间:
2016-5-19 23:52
我看安卓就业班的课程里也有HTML,这两个的课程是不是有些地方是一样的啊?
作者:
狂歌易水滨
时间:
2016-5-20 23:14
不错。。很好。很给力!
作者:
yangzhizeng
时间:
2016-5-20 23:38
真心不错,好好好
作者:
yfc123
时间:
2016-5-20 23:45
黑马真棒, 黑马加油!!!
作者:
黑桃皇牌
时间:
2016-5-21 14:39
说的好.lll
作者:
yangzhizeng
时间:
2016-5-21 22:17
黑马好好好..................
作者:
baron65
时间:
2016-5-22 16:32
我非计算机专业毕业,毕业也没有做与程序员相关工作,经过一段时间的自学前端,特别是javascript,个人觉的编程思想最重要,技术日益更新,编程思想变化不大
作者:
結断的时光
时间:
2016-5-22 21:50
piao guo .....
作者:
xiwang0413
时间:
2016-5-22 22:07
黑马顶顶顶
作者:
chexinxin
时间:
2016-5-22 22:57
其实有基础是有前期有一定的小优势,但最重要的是学习的态度和方法
作者:
ardstlian
时间:
2016-5-24 10:21
还是有基础的学起来容易点,
作者:
安卓大神007
时间:
2016-5-26 15:30
前段最近也是火起来了
作者:
傅奕
时间:
2016-5-26 17:03
谢谢分享!
作者:
68帅锅
时间:
2016-5-27 23:25
顶贴走人
作者:
梦里千年
时间:
2016-5-28 19:17
小白一个,怎么上手.....
作者:
yourlike
时间:
2016-5-29 19:44
java前来看望
作者:
378193763
时间:
2016-5-29 22:14
小白一个.....
作者:
MrDevil
时间:
2016-5-30 22:20
666666666666666666666666666666
作者:
yourlike
时间:
2016-5-30 22:45
直播吗????????
作者:
hansuchang
时间:
2016-5-31 10:06
666666666666666666666666
作者:
funkbird
时间:
2016-5-31 22:31
吸收经验
作者:
xin7459517
时间:
2016-6-1 20:55
黑马真棒, 黑马加油!!!黑马真棒, 黑马加油!!!黑马真棒, 黑马加油!!!
作者:
378193763
时间:
2016-6-1 23:29
吸收经验...
作者:
刘旭日东升
时间:
2016-6-1 23:57
销售经验
作者:
say_no
时间:
2016-6-3 18:02
向着逝去的夕阳加油吧骚年
作者:
xin7459517
时间:
2016-6-4 09:33
哈啊哈哈
作者:
xuemingqiang
时间:
2016-6-4 22:18
向着逝去的夕阳加油吧骚年
作者:
king_hl
时间:
2016-6-4 23:33
谢谢分享!
作者:
再来一个果丹皮
时间:
2016-6-5 00:29
加油吧,每个分支都有前途,正能量
作者:
yesnowoshiqiang
时间:
2016-6-5 11:51
前端,前途很光明的,个人倾向与前端
作者:
chengxiankun
时间:
2016-6-5 15:32
谢谢版主分享
作者:
say_no
时间:
2016-6-6 12:34
加油,努力就好
作者:
臣哥哥
时间:
2016-6-6 18:24
前段到底是怎么个样子啊
作者:
chaos1234
时间:
2016-6-6 20:20
加油,只要努力肯定能有收获的!!
作者:
xin7459517
时间:
2016-6-7 12:56
{:2_32:}{:2_32:}{:2_32:}{:2_32:}{:2_32:}{:2_32:}{:2_36:}{:2_36:}{:2_36:}{:2_36:}{:2_36:}{:2_34:}{:2_36:}
作者:
shw1072047958
时间:
2016-6-7 18:09
大神请收下我的膝盖
作者:
yourlike
时间:
2016-6-7 22:48
这么牛顶一个
作者:
chaos1234
时间:
2016-6-7 22:49
好样的,一起加油!!
作者:
戎马生涯
时间:
2016-6-7 23:26
不错!分析得很透彻!顶~~~
作者:
xuemingqiang
时间:
2016-6-9 10:10
虽然来得比较晚,但我会努力的 现在的努力是为以后的生活做准备 否则未来你就得为现在的懒散买单
作者:
378193763
时间:
2016-6-10 19:07
一起加油!!!
作者:
xin7459517
时间:
2016-6-12 17:13
看了好几遍了,突然赶脚前端前景好棒!
作者:
jsun
时间:
2016-6-12 21:40
谢谢分享 好文要赞
作者:
zhangyu009
时间:
2016-6-13 08:38
赶脚前端前景好棒!
作者:
Sbbbbbbbbbb
时间:
2016-6-13 22:13
java的来学习!!
作者:
carrykhu
时间:
2016-6-14 09:12
前端是必须的东西
作者:
say_no
时间:
2016-6-14 15:51
努力加油
作者:
Dreamcomesture
时间:
2016-6-15 10:15
七月,加油!!!
作者:
Dreamcomesture
时间:
2016-6-15 13:11
前端前端前端,重要的事说三遍。
作者:
Dreamcomesture
时间:
2016-6-15 16:01
这一行,开始是技术,越往后走会发现,不止是技术,很喜欢这句话:具体的技术会变,不变的是那些特质和观念。
作者:
say_no
时间:
2016-6-15 17:17
自己喜欢就去努力吧
作者:
Morphling
时间:
2016-6-16 16:30
简历需不需要包装
作者:
729685305
时间:
2016-6-16 18:09
前端板块好冷清啊
作者:
766056782
时间:
2016-6-19 16:14
{:2_34:}好狠的总结
作者:
抱侠客的猫
时间:
2016-6-19 16:34
谢谢分享!
作者:
梦想追逐者
时间:
2016-6-19 23:05
前端人在那呢
作者:
doushengwei
时间:
2016-6-21 12:43
其实 感觉黑马可以办成大学 五年后 肯定好评如潮
作者:
doushengwei
时间:
2016-6-21 12:46
黑马 是比大学还好的学校
作者:
rainLL
时间:
2016-6-21 14:20
值得阅读!
作者:
715129gwj
时间:
2016-6-21 19:47
在黑马学习有效率
作者:
flfy2536
时间:
2016-6-25 20:48
顶顶顶。。。。。。。。。。
作者:
南国之南
时间:
2016-6-25 21:09
加油加油,很不错的分享
作者:
LYJ3041
时间:
2016-7-10 21:57
谢谢分享!
作者:
从无到有
时间:
2016-7-11 16:55
zhouhp 发表于 2016-5-19 11:51
有点不太分清PHP和前端的区别和关系
我也是,听说PHP以经是属于后端的技术了
作者:
从无到有
时间:
2016-7-11 16:56
写的不错,很有参考价值
作者:
胡哓甫
时间:
2016-7-11 17:30
好文!对初学者的引导非常有益!!
作者:
jx4711658
时间:
2016-7-15 09:47
前端得一直学。。。
作者:
jx4711658
时间:
2016-7-15 09:50
前端得一直学。。。
作者:
赛后追溯
时间:
2016-7-18 22:31
赞赞赞,最近在自学前端
作者:
luo362861693
时间:
2016-7-18 23:36
你的信我收到了
作者:
lean青华
时间:
2016-7-20 07:22
有内涵,赞
作者:
修身丶丶丶
时间:
2016-7-30 16:54
赞一个,正能量
作者:
huwho
时间:
2016-8-2 16:22
程序员就要有工匠精神。
作者:
chenruineng
时间:
2016-8-26 19:37
培训用苹果可以吗?双系统能带动吗?
作者:
暗夜之鸦
时间:
2016-8-30 17:35
啦啦啦啦啦啦啦
作者:
yinlu3535
时间:
2016-9-2 21:37
很深刻,对于刚接触前端的我来说,作用很大。在以后的工作中少走弯路
作者:
ms199211
时间:
2016-9-2 21:41
好好学习 比什么都强
作者:
王野123
时间:
2016-9-4 19:31
感谢指导
作者:
micdrop
时间:
2016-9-5 21:14
实用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2