前言
遇见他,是在某个周六的下午,在公司看完产品经理直播后,无意间看到@小武的博客中自我介绍跟个人成长经历(岁月轮回),又联想有一段时间有几个已经工作几年后的童鞋跨行来做前端,早读君想通过实例来分享给大家,你们的选择,你们的坚持应该是不会错的。
正文从这开始~
大家好,我叫谢耀武,网名叫前端小武,目前就职于百度网页搜索部,主要负责结果页的模板开发和优化,平时喜欢折腾(90%)、玩游戏(10%),属于技术宅。
转型做前端
大家可能会说上面介绍为什么没有学历和专业,是的,我并没有这些,在2004年刚上初三时学习很烂的我就缀学了,2005年去天津工地做装修,主要做刷油漆、刮腻子、刷涂料,常常工作于外墙高空作业(6-35层),我去过了天津很多区,几乎每年都要转天津近十几个小区。
工作几年后的我发现这个行业可能没有什么出路,也没有什么盼头,但由于小时候就酷爱电脑,2009年一个偶然的机会认识了有"网页制作"这门技术,于是在三线城市一个电脑培训班学了一年多点~
由于平时比较爱折腾,学校的冰点还原、路由MAC限制上网都被我一一搞定,还记得写了几个破解上网专用的bat批处理,索性后来就被学校主管当成了学校的网管,包括平时电脑的维修、内网网站维护、上网白名单维护等日常工作,当时也算小有名气~
2010年中毕业后找工作是相当的坎坷啊,因为学的全是在DW 8.0设计视图中使用表格...经过努力终于拿到一个面试机会了,由于是我人生一个转折点,我很激动,第一次踏入公司型的工作,第一次见那么多"公司型的人"。我异常的激动,我就给我媳妇打电话,她一直在给我打气,于是我进入面试公司的大门了。他们只问了我几个问题就让我回去等消息了。
你DIV+CSS精通吗?
你手写代码吗?
你兼容性熟练吗?
我的回答是:
不会
不会
没了解
"诚实"是我至今还存在的缺点,其实我完全可以这样回答:
不太熟悉,我会修电脑
有时会,我会修电脑
了解的少,我会修电脑
然而入职的消息迟迟不给我,由于又迫于现实经济的压迫只能还原老本行: 装修。
但我的内心并没有放弃,2011年在天津装修时由于有点网页制作基础,晚上我就用手机上网看那些个代码说明、特效之类(当然非常感谢当时的Nokia 6730塞班S60V3手机),并在脑海记下来自己想实现的效果,每隔一段时间就去网吧把这些写下来,记得当时写的最多的就是jQuery特效,也因此有些网吧网管会一直盯着我,那时候我知道了: 这就是代码~
2011年五月在家里休息时,在家注册了域名,写了个博客,很简单的asp,并在淘宝上接了些修改模板之类的活,后来我的博客也由asp->伪静态->asp生成静态->asp cms的过程,在这个过程也学到了很多,也因此我找到了人生第一份it工作: 网站程序员~
后来在邯郸亿搜人才网做程序员的过程算是一个转折点,是由装修转成it工作,当时在三线城市工资不高,2012年时是1200不管吃住,而我一家三口(我老婆+我女儿)在邯郸市里算是勤俭节约的生活着,很多朋友、亲属劝我趁早放弃这份工作,因为养不住家,但我的内心在想,我再坚持下,争取混的好点~
现在想想,也正是因为那份坚持,才使我走到现在,也非常感谢我老婆一直支持我~
快速成长
2012年时,针对网站使用的常用组件,我都是自己写,前期各种是抄,当时我把360buy的幻灯片、tab组件、延迟加载、放大镜等效果代码全部抄下来,然后自己改,最后熟悉后整个重构,再结合自己的思想统一设计接口,也正是因为这样的抄插件、改插件、重构插件的过程让我对使用jquery更熟练,也认识到了$.fn.extend和$.extend的区别。也让我养成了看源码、写代码的习惯,直到今天还有这个习惯~
后来在网站改版时自己尝试设计整个架构,包括代码模式和加载方式、打包方式等,学到了很多,当然也给后面的人带来了很多坑~
2013年来到北京美食天下,负责一个新频道的改版,这对我是一个机会,我负责了前端整个架构的设计,包括用到的插件,由于之前的经历,这次我重点强调了规范文档、代码风格相关的事情,也在该频道的应用上做到了正向收益,为后续推动整个网站重构做了很多沉淀。乃至于现在美食天下的很多通用组件还是之前我写的,比如全站登录弹出层(用户模块)、通用评论、延迟加载等,现在想想还是有点小自豪~
后来产品总监还玩笑的说要成立UED小组,让我来负责,当时我对这些没有概念,也可能错过了一个机会,现在我才知道用户体验、交互设计是那么的重要~
记得2014年grunt横行的年代,我内心里对这些很抵触,认为自己学不会,后来跟layer作者@贤心聊天,他说: 人不能被工具所吓到。我就抱着试一试的态度去用grunt,后来我可以熟练的把她当成项目工程的脚手架。最后我发现,没有学不会,只有自己学不学,不能被自己打倒~
有个话说的好: 不怕你不努力,就怕比你聪明的人比你更努力。这句话激励着我过去、现在和未来。
我认为其实成长就是积累经验的过程,那么通过项目的洗礼、代码的沉淀使自己充实起来,从刚开始的调研->尝试->做出来->做好->做优的转变,平时只看不去实践应用(只看不写)是不管用的,只有把想法实际落地才能有收获~
当然在整个转变中也有很多因素困扰我,比如:
不会英语怎么办?
由于缀学很早,我的英语一向都不好,刚接触的时候看到满屏幕的细小而琐碎的单词时我都差点放弃,但我知道如果放弃那么可能就一辈子做苦力活了,我不甘于现状,于是自己拿本记、用电脑记,最开始的时候我的命名是.liebiao,后来逐渐的尝试使用翻译工具,把中文->英文,我的做法是把常用的英文写到一个记事本里,然后打上中文注释,每次用到单词时就去里查找,然后看着记事本打出来。
然后在大量的单词进入记事本后发现有些是有特征的,比如:
animate => 爱你骂他
change => 嫦娥
getElementById => get element by id
attribute => attri bu te
根据这些特征,再加上工作中大量的应用,对于常用的慢慢的基本不用翻我的记事本了。
我个人感觉如果英语好对编程肯定是有帮助的,而英语不好的可以多加练习加强对英语的拼写,始终坚信一点: 英语不是瓶颈。当然对于更高层面的技术可能有一定的限制,比如英语文章的阅读能力等。
如何使自己更靠谱
其实想想现在前端这么多,而很多企业都说招不到人,其实现状并不是这样的,如果他们对人没有要求,我想实习生的数量肯定可以满足,而他们是想招那些"靠谱"的人,那么如何才能使自己更靠谱呢?
多总结 - 常常总结工作中遇到的问题和解决的思路、结果
质量高 - 不只是快速的把页面做出来,还要会考虑页面的整体质量、对上游、下游的配合,比如前端列表循环如何让后端更省心?如何和设计师更好的沟通反馈?
更贴心 - 日常工作要注意细节,也多优化细节,比如有日期的地方就添加周几:08-08(周一)这样的格式、汇报里有移动网站链接时带上二维码、汇报里有长链接时考虑短网址替换等
会的多 - 额,说的好像很俗,其实现实正是如此,要多去接触其他有涉及到的技术,比如: 正则、shell、nodejs、nginx、php等,这些会让你的工作更加如鱼得水
发挥特长 - 找出自己的优点,并应用于工作中
稳定性高 - 严格对自己的代码负责,测试不只是Qa的任务,必须自测完才走下一环节,最大的减少bug的数量,有问题时也勇于承担责任
提出好的建议 - 在项目评审阶段,可以适当的从用户体验、代码性能、前端环境等因素考虑,提出些优质的建议,比如页面做动画优先使用css3是否考虑低端浏览器降级处理呢,移动端fixed元素的一些常见bug,移动端滚动事件的延迟等
遇到瓶颈怎么办
在学习、工作中难免会遇到技术的瓶颈,如果只是遇到问题可以 搜索->群/社区->朋友/同事 ,要多培养自我解决能力和提问题的能力。
如果遇到大的瓶颈,可以总结下自己目前的处境、遇到的难题、自己的期望状态、自己是否试着解决和进展等因素,找前辈沟通下,请教问题前自己最好对其进行相关的尝试,而不只是一句话的: 前端好学好?怎么学好js啊?
我通常是把目前遇到的问题列个表,邮件相关的前辈,一般都会得到满意的答复。很多前辈都是可以通过邮箱联系到的,并且可以及时的收到回复邮件。
或者说遇到方向的问题,迷茫了,不仿出去找前同事转一转,吃个饭,不要用已经浑浊的头脑去做大的决定。当然不只是跟同职位,跨职位的沟通往往可以达到意想不到的。
最后
每个人的成长故事都不一样,早读君期待你的参与~~
欢迎投稿到前端早读课
投稿邮箱:181422448@qq.com