微信号:lazycode

介绍:懒人码农专注于移动互联网资讯、程序员编程资料、编程经验、职场面试分享,并提供最全最好的手机网站模板、响应式网站模板、html5游戏源码下载.

《web全栈工程师》中总结的20条军规和必读书单

2016-08-01 13:03 懒人码农



作为一个前端开发人员,应该不断学习加强各种基础技术,而且也要多看别人的建议,别人成功的经历或许不能让你复制,但是你总能从中有所收获,身体和灵魂总要有一个在路上。


今天抱起了实习时候充充翻过的一本书《web全栈工程师》,作者是腾讯的高级UI工程师雨果,序章就已经讲述了他从一个菜鸟成长为大神的历程。突然想起这本书是因为接受了公司关于职业规划的培训之后,有点迷茫,所以看看什么的web全栈工程师是一个什么职位,需要具备怎么样的技能与素质,阅读目的非常简单,从中总结出如何成长为web工程师的路径。


阅读完成并作了一点书摘与思考,阅读这本书的目标已经达到了, 清晰了解web全栈工程师需要的知识体系,笔者的文笔朴实易懂,只是其中对于技术名词方面的讲解由于我本身的技术受限,所以读起来比较吃力,技术方面的章节基本略过,后面针对书中提出的技术名字一一恶补,并回顾阅读。


精彩书摘与思考:


1.先精后广,一专多长

解读:赞同这一条建议,我自己也正在实践当中,作为一名前端新人,更应该懂得专注一门技术,深挖进去,有人能把html、css、js分别玩得很厉害,其实前端三大技能如果学好了,后面的框架技术真的会很容易就明白其中的原理。先精是为了保证你能在这个行业中立足,一个有亮点的人会比一个什么都略懂的人更有优势。


2.围绕商业目标学习、使用技术

解读:这是一个比较现实的观点,搞技术的人很喜欢应用各种牛逼的技术,以此满足自己的虚荣心,这是程序员的通病,技术的产生是为了更好地服务人类,制造商业价值,应该根据商业目标,产品定位来选择适合的技术。老师在书中有一句话很好的概括了这个观点:老板不是因为你会写代码而聘请你,而是因为你能创造价值,为他增加收入,或者减少成本。这一条值得深思,反正我看了之后开始思考我应该如何提高产品质量,如何减少成本支出,包括时间、金钱的成本。


3.关注用户体验

解读:每一个糟糕体验的背后,都蕴含着商机,工程师应该是从技术上提升用户的使用体验,例如减少用户等待的时间,修复各种bug等等,可能我们的日常工作中会存在产品经理,产品经理不懂技术,其实会忽略很多存在很多操作上的逻辑,所以我们要时刻关注自己做出的产品给人的体验是如何的,能不能持续地进行优化




4.拒绝当野生程序员

解读:其实我自从第一次看这本书,了解了这个词,就知道如果刚毕业的时候没有一个很好的引导,就必定会成为野生程序员。野生程序员就是仅凭一腔热血,对计算机知识一知半解的程序员,也就是现在的我,大学时候因为喜欢逃课,所以很多基础知识是缺乏的,现在工作了才知道原来原理如此重要,因为不懂,所以很多时候你做出来的东西其实只有60分,你的思维存在误区。野生程序员仅仅是代码工作者, 不是一名工程师。归根结底野生程序员不是技术应用上不足,而是态度和基础知识上的不足。拒绝当野生程序员,第一步就是端正态度,起码写出简洁的代码吧。


5.整理你的作品集

解读:作品是你工作的表现,定时整理你的作品集能让让你有所回顾,反思自己过去做过什么,与偶没有进步,另外分享你的作品集也能让你收获更多的批评与建议,促进你成长,功利一点说,能让猎头看到你。工程师的作品集更多的是在github上面。


6.了解HTTP协议

解读:作为前端开发人员,不能只做静态的页面,你得熟悉前后端数据传输的方法,最常用的就是HTTP协议,前端需要需要把网站又快又好的展现在用户眼前,其中涉及静态资源应该怎么存放,怎么减少http的请求,设置缓存、cookie,图片的使用,gzip压缩等等


7.了解缓存

解读:缓存这个课题比较深奥,暂时我是无法弄清楚很多概念的,不在此叙述。


8.超文本是什么意思

解读:超文本其实就是比一般笔记本写的普通文字多了语义化的信息。


9.框架和库

解读:严格来说,框架应该比库更广泛。一个库是一些列对象、方法的代码,例如jq,只要接入这个库,你就能使用里面定义好的语法,不必重写这部分代码的工作。框架是一个软件系统中可重用的部分,可能包括子程序、库、胶水语言、图片等一些资源,框架不像库,可能包含其他的语言,某些功能通过API方式让主程序调用。

注意:根据自己的需求学习不同的框架和库。


10.打造你的webAPP,学习phoneGap

解读:无须多言,学习做一个属于你自己的APP,了解编程思想是什么。


11.学会使用版本使用工具,至少会svn和git吧

解读:除了会敲代码,你还需要懂得管理你的代码,大项目需要多人共同合作完成,此时你就要学会如何方便,安全地和他人共同操作代码,而常用的两个版本管理工具就是svn和git了。


12.学会使用包管理工具npm和bower

解读:包管理作用是管理引入的第三方库和框架,保证相互之间不发生冲突。


13.学会使用构建工具gulp和grunt

解读:使用构建工具是架构代码的第一步


14.学习linux,了解系统的原理

解读:书中专门用一章的内容讲解了部署环境,搭建一个博客网站,其中涉及VPS、服务器安全等等问题,目的是告诉我们,要想成为大前端,必须懂得系统原理。


15.学习软件设计方法

解读:设计模式是对特定解决方案或者模板的一种描述,设计模式不局限于某种特定语言或者框架,可以用各种语言和方式实现。




16.提高你的工作效率

解读:当程序员就一定要熬夜嘛,会不会是你的工作方式不对导致的呢?提高工作效率有许多的方法,请看下图




17.学习设计

解读:学习一些原型设计软件和UI设计软件


18.学一点管理

解读:管理有很多种,时间管理,精力管理,项目管理,目标管理。我们再工作中可以自己对自身的项目进行管理,制定完成的时间,掌控进度。


19.沟通很重要

解读:程序员群体都是比较内向的一群人,所以有时候感觉和程序员说话很吃力,不过沟通作为人类的一项重要软技能,无论是在日常生活和工作中,作用都是很重要的,因为这是一个社交的社会,你得通过沟通表达你的想法。


20.总结的前端优化和前端知识体系


前端性能优化






知识体系




推荐书单


《重来:更为简单有效的商业思维》

《精益创业》

《打造facebook》

《您就是极客:软件开发人员生存指南》

《代码整洁之道》

《图解HTTP》

《高性能网站建设进阶指南》

《网站性能监测与优化》

《精通css:高级web标准解决方案》

《单页web应用:javascript从前端到后端》

《Getting Real》

《从0 到1:开启商业与未来的秘密》

《Building iPhone APPwith HTML,css,and javascript》

《Pro Git book》

《Git版本控制管理》

《代码大全》

《代码的未来》

《禅与摩托车维修艺术》

《鸟哥的linux私房菜:基础学习篇》

《只是为了好玩:linux之父林纳斯自传》

《设计模式:可复用面向对象软件的基础》

《javascript设计模式》

《软件随想录:程序员部落酋长joel谈软件》

《卓有成效的程序员》

《响应式web设计全流程解析》

《写给大家看得设计书》

《写给大家看得设计书:实例与创意》

《卓有成效的管理者》

《麦肯锡教我的写作武器》

《金字塔原理》

《安静:内向性格的竞争力》


重要通知

  懒人码农专注于移动互联网资讯、程序员编程资料、编程经验、职场面试分享,并提供最全最好的手机网站模板、响应式网站模板、html5游戏源码下载。


懒人码农(lazycode)

长按二维码
关注我们

 
懒人码农 更多文章 微信小游戏 html5游戏 手机版wap微信朋友圈游戏源码 解密流量:互联网流量营销进阶攻略 给迷茫的你!设计师如何找准定位+做好职业规划? 脑动大开html5关键字搜索小游戏在线试玩 JavaScript生态圈现状:初学者地图
猜您喜欢 盘点那些渗透测试中的奇淫技巧 SaaS服务的前世今生以及未来 平安金融科技移动技术周报(第二十四期) 观点|数据胜万金,阿里云通过数据安全审计解读 2017年你应该学习的编程语言、框架和工具