阿里前端两年随想

阿里前端两年随想

其实按照我的情怀和尿性,文章的标题应该是 前端登堂入室宝典前端成长就这三招 之类,奈何这是篇软文 ~

看官先别急Command + W,尤其是和我经历类似

做着其它岗位的工作,却多少会接触一些前端
发现有些兴趣,但又不肯定这应该是自己未来
也会有些成就感,但似乎挫折和沮丧来的更多一些

我可以负责任的说,这是一篇有态度的软文

欲语泪先流

我希望做些有用的事情,甚至可以做个有用的人

才毕业工作的第一年我是满足的,学到了很多新知识,写的代码不但能work,还能真的跑在生产环境中

我提交代码上线,忐忑的测试之后没有问题,看着屏幕傻笑了一下午,虽然整个两年半可以说失落更多一些,但那天我是幸福的

最后的半年我想走了,那里有人真心对我好,工作氛围也不错,待遇也不至于让人失望,可我还是想走了

有天早上醒来莫名其妙的沮丧,下午我看着代码发呆的时候忽然想起我早上做的梦,客户铺天盖地的投诉我做的产品问题太多,忽然觉得满世界都是委屈,情不自禁的满脸都是泪

除了登录后首页,我负责的产品根本没人使用,永远躺在免费的Package中,客户投诉对我来说是一种奢望。公司方向也好,个人努力也罢,我一直在做一些可有可无的事情

那天才了解,我的成就感不像大部分技术同学来自于对技术的追求,写极致的code并不能直接让我感到满足,如果我的代码帮助了一些人提升了工作效率,如果我的产品帮助了一些人生活更美好,这是我喜欢的

我希望做些有用的事情,所以我必须走了,亲爱的朋友,知道自己喜欢什么真好

这个团队不太冷

Leon, I think I‘m kinda falling in love with you. It‘s the first time for me, you know?

How do you know it‘s love if you‘ve never been in love before?

Cause I feel it.

Where?

In my stomach. It‘s all warm. I always had a knot there, and now it‘s gone.

能来阿里巴巴做前端是个美丽的意外,因为工作的前两年我一直是后端,写Linq的时候我想过将来可能会做DBA,没想过会去做前端

和之前的两年半告别,我怯生生的走进了阿里巴巴的大门,关于未来,我有一些憧憬

直到现在我给别人介绍我们团队的时候都会说我们是一个活泼、有生活气息的团队

大家在做前端之前多半有些有意思的经历,后端、设计师、化学、卖烧饼 。。

如果不是屏幕上的代码,很难想象这是一个技术团队,我以为我会在一个极客的环境氛围中编程,然而每天接触的都是一群嘻嘻哈哈

才来的时候在群里自我介绍

“我是XXX,今天入职,这里拜一下各位老大码头”

“XX(我师兄),是不是该带新人去看看西湖十景”

“还是东莞十景吧”

大家的热情让我宾至如归呢,可惜师兄没有带我去

在这里我看到自信和包容,可以各种肆无忌惮,老马说的 “快乐工作,认真生活” 至少在这个团队不是空话

人说有种感觉叫一见钟情

说从前,到永远

一周年,认识了很多有趣的人,做了一些有用的事,大部分时间过得有期待,不虚此行

我的一周年感言被好多朋友解读成了告别 。。

现在让我回头看看,做前端似乎是我必然的选择,这是离用户最近的地方。来到阿里巴巴终于让我如愿以偿,我在做一些有用的事情了,我做的事情有些帮助了运营同学,有些帮助了使用阿里巴巴产品的客户,我很快乐

快乐的同时让我思考了一些之前想不到的东西

学会思考

这听起来是句废话,这并不是一种方法论,而是时刻要提醒自己的一件事情

走了无数弯路,至今仍然在不停碰壁,回头总结的时候发现多是没有思考清楚才让我狼狈不堪

有一个很好的例子

爸爸让张三去打水,张三挑着水桶到了村东头,发现没有井,于是觉得需要挖一口井
挖井过程遇到了石头挖不下去了,找人帮忙解决挖井遇到石头怎么办
有人建议用***,有人建议用金刚钻
张三想到个好主意,在旁边挖
又遇到了石头
在换到旁边挖
如此反复终于挖出了水
解决了问题,张三陷入了婶婶的思考中

很多人会哑然失笑,张三都没有考察周围地质就挖,甚至没发现他家里装了自来水管 。。

刚入门的时候遇到问题我们很容易成为辛苦的张三,废了很大力气解决的问题,却被别人轻易解决了,看看人家用的方法自己也会

一样的道理,我们在遇到问题后太着急去解决,想到一个方案就去实施了,太快进入细节问题而沉陷,以至于都没有看清楚问题的本质是什么

心里时刻绷着一根线,动手解决问题之前先问问自己是不是想清楚了,看明白了自己面对的问题是什么,而实际要解决的是什么,这两件事情很多时候的关系并没有自然到我们一眼就能看清

我是工程师不是程序员

这可能是我来阿里第一年最大的收获,我也在论坛里辩论过.NET好还是Java好,那天听一个团队内部的NodeJS分享,听众也有后端同学,问了个问题:使用NodeJS后端是不是没必要了?

分享的同学说了句让我印象很深的话,我觉得没有前端工程师和后端工程师的区别,我们都是Web工程师,解决Web领域的问题,并不是后端就不能使用NodeJS,前端就不能接触服务

听人讲过:你对自己的定位是什么,就能成为什么样的人,我也曾反唇相讥,我想成美国总统就能成吗?

后来才明白这句话告诉的是你的上限,而不是下限。当我们把自己定位成程序员甚至是Java程序员的时候,就只能拘泥在Java语法中不能自拔了

才来的时候我觉得应该学习最牛的技术,才能做更好的事情。一年过后回头看看我奔着学习技术去了解的知识大部分都是浅尝辄止的了解语法和API后就没 有后文了;至于那些我觉得什么最近流行应该学学,或者是学会了什么框架我就可以怎样的,大部分都不了了之了;而我为了解决某些问题而学习的知识反而成了现 在的代码习惯

有些事情我们本末倒置了,我觉得这是程序员和工程师的区别。工程师在解决问题,程序员在完成任务。想把一个问题解决和想把一件事情做完,这两种心态出来的结果判若云泥

当然我这里程序员是相对于工程师的叫法,相信大家理解,不会和我纠结字面意思。也许我们把自己的定位高一些再去看.NET好还是Java好这样的问题时就释然了

越早暴露问题越好

最早的暴露问题,是最大的善待自己

当我才来阿里巴巴的时候心里想的是一定要夹着尾巴写代码,少说多做,千万别闹笑话

渐渐发现了这样做的不行,就像小孩子在你面前撒谎,你一眼就能看穿,我们的问题在招我们进公司的人眼中也是一样的明显,尤其是我带了实习生之后,体会更加深切

不知道那时候师兄和主管是什么感受,说说我带实习生的感受,当下属不肯暴露自己问题的时候,最让我为难的有两个地方

  1. 交给一个任务,我知道里面的困难,但是不知道他对这个有没有把握甚至了解,很担心某个实施过程会出问题,只能每天跟进进度,两人每天都是心惊肉跳,担心会不会出问题
  2. 我渴望的不是完美的同事,是真实的同事,这样才能更好的互相帮助,共同成长。如果把自己包裹的密不透风,无法互相信任

现在如果实习生乐于接受的话我会直言不讳的指出问题,让他们少走弯路。他们也会说出自己的顾虑和我的问题,让我觉得这样的氛围很轻松

有一颗开放的心态,愿意承认不完美的自己,别人才能更好的帮助你

在项目中也是一样,很多时候在需求评审的时候我们隐隐约约会觉得有些问题,但出于各种原因没有指出,根据我的经验,问题如果真的有,早晚会暴露出来,往往最倒霉的是前端,因为我们在Web项目的最后一环

也不用苦恼是不是太晚了,当你在纠结是不是晚了的时候,其实是最早能开始的时候

成就感很重要

仓廪实而知礼节,衣食足而知荣辱

当公司给我们的薪水满足了生活要求的时候,我们需要些动力催促我们前行。对于大部分技术人员成就感的获取并不难,很多时候我们都能够自娱自乐,写出段精彩代码的时候内心都被自己折服

没有成就感,很难驱使我们一天的兴奋

但总有我这样的人,对技术并没有那么极致的执着,成就感的获取相对难一些。上面我也提到,我更在意的是我能做一些有用的事情,真的帮助一些人

工作的意义

我不会装逼到认为工作的意义在于奉献,之于我工作最基本的要求是解决生活问题,然而这不是意义,我觉得一个快乐的工作基本意义是个人价值观的交代

回想起我来的第一年,有时候早上甚至会有迫不及待去公司的想法,有些有用的事情我还没有做,我心里还有万紫千红的色彩去绘画。其实我的工作内容并没有多高端,运营并不是所有前端的理想工作,很多同学戏谑的称我们为切图仔

但对于那时的我,这已经是天堂。我的工作给运营同学带来了很多便利,为公司省了一些钱,可能对全球贸易都有些影响(必须有这么高的情怀,写么写的时候才会笑得得意)

我们运营团队做了很多有意思的小尝试,快乐的时候会情不自禁的动脑,发现处处是创造,这对技术人员的成长是巨大的

所以我始终觉得,如果工作内容你并不认同,对个人价值观是个灾难,不快乐的工作,很难去全力以赴,做出成绩,提升自己

虽然我很认同我的工作,但渐渐的我需要些工作之外的成就感

写博客

才学前端的时候我几乎两三天就写一篇博客,开始大多是读书笔记和知识理解,评论大部分是一些批评和问题指出,但是让我成长的很快,了解到想说明白一 个知识点,必须有一条知识线,需要大量的查资料、学习,这个过程对个人提高帮助非常大,所以有些刚开始接触前端的同学问我学习方法的时候我无一例外的都推 荐写博客

慢慢的有些人会夸奖我,写的清晰,帮他理解了某个知识点,或者学习到了新知识。分享让人快乐,这种快感是东京热给不了的

我还做了老湿

前端并不是大多数大学的授课内容,我看到了很多遇到自学过程中遇到了一些障碍,一番努力之后仍旧手足无措的同学,很多就放弃了,认为学习前端走不通。还有一些同学想法很单纯,看到招聘要求MVVM框架等就急着学习AngularJS,然后就能怎样

这些都让我想起了那时候的自己,我很幸运遇到个耐心对我的朋友,我也希望把这种关怀传播出去

机缘巧合我做了业余的前端老师,给一些朋友介绍前端入门的基础知识和遇到问题的思考方式。过程有失望,有不解,每次帮大家想通一个问题,解决了一个疑惑时更多的是幸福感,尤其是看到一些前端零基础的同学通过半年努力,走上了职业前端的道路

那天看到一些同学做的感谢视频,听他们甚至叫我老师的时候,我不禁再次泪流,回味了好久,想起让我离职的那个梦,那天我有种异样的冲动,平静下来后感觉那应该是自豪,我是个有用的人

还是一样,分享让人快乐,需要传递,也许这些人一两年后也会一样去帮助其它困惑的小伙伴

相信阮一峰、张鑫旭这些人在坚持写博客的时候也有类似的心情

沦陷 & 绽放

只有一种英雄主义,那就是认清了生活的真相之后依然热爱生活

比起第一年的志得意满,第二年在阿里我更多的是踽踽和胆怯。工作有了新的职责,让我对自己有了新的要求,太想做对一件事情,而不敢动手去开始,生怕错了怎么办,甚至会去市侩别人的勇敢

一定要去做对的事情,而让我不敢去轻易尝试任何可能,但没有明白不去尝试哪里知道孰优孰劣

或许每个人到了某个阶段都会有类似的问题,看看这半年的自己,多少让我有些遗憾,太害怕做错却导致没有做什么可以给自己交代的事情,希望新的一年自己能够尊重勇敢

朋友,你听说过安利吗

其实行文到这里还不算软

---------------------------------我是分隔线---------------------------------------

阿里巴巴国际站招前端,校招窗口已关闭,所以针对的是社招

岗位描述

  1. 负责网站应用前端开发,与后台工程师协作,完成数据交互、动态信息展现
  2. 使用JS或AS编写封装良好的前端交互组件,维护及优化网站前端页面性能
  3. 研究和探索创新的开发思路和最新的前端技术
  4. 参与新人培训和前端技术布道

岗位要求

  1. 熟悉Web前端技术,HTML(5)/CSS(3)/JavaScript(ES6)等,能够解决浏览器兼容性问题
  2. 持续关注业界的新话题和新技术,研究过JQuery、React、backbone等框架中的一种或以上
  3. 重视团队协作,愿意探寻和改进目前还不成熟的前端开发流程,了解各种常用工具
  4. 热爱前端技术,个性乐观开朗,逻辑性强,善于和各种背景的人沟通合作
  5. 对前端工程领域有研究优先
  6. 如具备其他语言的开发经验,比如NodeJS、java、php等优先考虑

其实

大家都了解招聘要求都是虚的,我们希望你是这样的人

  1. 基础知识扎实

    a. 知道JavaScript prototype、闭包、事件怎么回事儿

    b. 多少了解HTTP协议和Web Server怎么工作

    c. 知道CSS display、float、z-index、BFC

    d. 了解浏览器渲染页面原理

    e. 模板引擎

  2. 对新技术有兴趣

    a. 前端代码模块化与构建,gulp、webpack等

    b. NodeJS

    c. MVVM

    d. React、Vue、backbone、angular随便说说

  3. 一定的工程能力

    a. 了解门后端语言,最起码知道后端同学在说什么

    b. 了解些web 安全知识

    c. 性能优化

    d. 前端代码工作及发布体系

  4. 随时准备自我介绍和浏览器从输入URL到渲染出页面发生了什么
  5. 另外我们很喜欢表达能力不错的人,毕竟工作职责不是有个新人培训和前端技术布道

转载自:http://www.cnblogs.com/dolphinX/p/5116629.html

时间: 2024-10-08 06:11:13

阿里前端两年随想的相关文章

阿里前端的困局与突围

最近发了两条微博: 想起克军的一句话:前端研究,研究个屁~ 的确如此呀.补充下联:前端设计,设计个屁~ 前端目前最大的困境是,如 HTML 一样,无论你承不承认,市场上并不太需要 HTML 高手. 微博上的回复大部分歪楼了.上面两句话乍看有点激进,却是我的真实想法. 背后是一个问题: 前端的价值究竟是什么?未来应该如何发展? 前端的价值 如果你刚入行,或者从事专职前端工作未满 3 年,请忽略上面这个问题,并且尽量不要再往下看了. 我知道你会忍不住往下看,那就看吧.负能量有时也是正能量.真实面对所

2015阿里前端工程师在线笔试整理

昨天下午参加了阿里前端的笔试,题目是随机的,但好像越到后面题目越难.建议小伙伴们还是尽早参加. 总体来说,题目不算很难,有时间都是可以做出来的,总共11道题,6道单选,3道填空,两道大题吧.一个小时时间略少,加上我本来想直接在上面敲代码的,然后发现太慢了,所以又改成了sumlime. 单选题有一道问无序列表是什么元素,一紧张的我竟然选了<ol>....考完才反应过来的我心都要碎成渣了 最后,有一道大题没写,一道填空和一道大题没写完.在这篇文章中进行完善吧. 1.找出页面中所有宽度和高度大于40

阿里前端推出的新的React框架Mirror

前几天看到寸志的知乎文章,关于阿里前端推出的Mirror框架,在这里记录一下. Mirror是基于React,React-router,Redux的一套前端框架,总的来说是对它们的封装和强化. 其中,Redux对状态管理的流程很清晰,但是就代码来说,存在不少重复劳动,而Mirror对其进行了简化. 以下是一个Todo的例子 import mirror, { actions } from 'mirrorx' let nextId = 0 mirror.model({ name: 'todos',

前端试题-2016年阿里前端开发工程师笔试题6,7,8题的解法

2016年阿里前端开发工程师笔试题(只有题,没有答案): http://www.cnblogs.com/sdgf/archive/2015/08/18/4740698.html 第6题:请在____处填写答案,从而达到题目的要求 var arr = [1, 2, 3, 4, 5]; var result = arr.sort(_______________________________).join("+"); console.log(result); 解答:在排序当中,如果需要按照某

阿里前端测试题--关于ES6中Promise函数的理解与应用

今天做了阿里前端的见识题目,原题目是这样的 //实现mergePromise函数,把传进去的数组顺序先后执行,//并且把返回的数据先后放到数组data中 const timeout = ms => new Promise((resolve, reject) => {setTimeout(() => {resolve();}, ms);}); const ajax1 = () => timeout(2000).then(() => {console.log('1');retur

阿里前端框架Alice是个不错的选择

BootStrap虽然用户群体广大,其整体风格尽管有不少skin可选,但以国情来看还是不好看. 阿里开源的前端框架,个人觉得还是很不错,Alice处处透着支付宝中界面风格的气息,电商感挺强. 以下内容摘自:http://aliceui.org/docs/rule.html Alice 的样式模块组织方式追求扁平化的方式,分为三个层级: 基础框架(reset + iconfont + 栅格) 通用模块(符合 Alice 规范的样式模块) 页面样式(继承通用模块) 什么是模块化的样式 Alice 对

阿里前端笔试总结

几天前,去参加了阿里游戏的前端实习生笔试.因为基础不太扎实加上第一次没有经验,所以成绩肯定也不理想!不管怎样都好,都已经过去了,想多了也没用,生活,总是要向前看的嘛!所以,就花点时间把这次的题目总结一下,算是对自己的一个提高吧.因为那天没有用手机把笔试题目拍照下来,这些题都是凭借印象记下来的,所以,有些题目记得可能不太准确,题目的序号可能也不一样!好吧.说了一大坨的废话,该进入正题了:“ 1.有一个长度未知的数组a,如果它的长度为0就把数字1添加到数组里面,否则按照先进先出的队列规则让第一个元素

经典的阿里前端笔试题

1 请说明下面各种情况的执行结果,并注明产生对应结果的理由. function doSomething() { alert(this); } ① element.onclick = doSomething,点击element元素后. ② element.onclick = function() {doSomething()}, 点击element元素后. ③ 直接执行doSomething(). 参考答案: 1.element:调用执行时直接指向事件元素. 2.window:函数调用中的 thi

阿里前端二面(笔试/机试)总结

这一轮答的并不理想,很有可能挂掉.回来之后自己又答了一遍,没有参考任何资料,居然全部答上了. 到底还是自己的基本功不扎实,遇见没做过的东西,没有调试环境就慌了,再努力提高吧. 一.实现jsonp,传入URL,callback和callbackName 三个参数 我先说下思路,jsonp是借由script标签发起的跨域GET请求.服务器返回的是一段js脚本,返回后可以立即执行.通过调用前端预先准备好的回调函数来获取数据,进行下一步操作. 整个流程大概分为三个步骤:发起请求.执行服务器返回的scri