Web全栈工程师的自我修养

出版日期:2015-9-1
ISBN:9787115399026
作者:余果
页数:234页

作者简介

全栈工程师正成为 IT 行业的新秀,论是上市互联网公司还是创业公司,都对全栈工程师青睐有加。本书作者是腾讯公司高级工程师,在前端、后端和APP开发方面都有丰富的经验,在本书中分享了全栈工程师的技能要求、核心竞争力、未来发展方向、对移动端的思考。除此之外,本书还详细记录了作者从零开始、学习成长的心路历程。
本书内容全面,客观务实,适合互联网行业新人、程序员,以及期待技术转型的从业者阅读参考。

书籍目录

什么是全栈工程师
002tFacebook只招全栈工程师
004tWeb开发流程
011t全栈工程师登上舞台
014t全栈工程师的发展前景
如何成为全栈工程师
020t先精后广,一专多长
023t围绕商业目标
027t关注用户体验
从学生到工程师
034t校园招聘
038t获得面试机会
041t实习
野生程序员的故事
046t遭遇“野生程序员”
050t什么是“野生程序员”
053t大公司还是创业公司
工程师事业指南
058t那个什么都懂的家伙
059t积累作品集
068t突出重点
全栈工程师眼中的
072t简介
074t前端视角
077t后台视角
079tBigPipe
高性能网站的关键:缓存
084t什么是缓存
085t服务器缓存
090t浏览器缓存
大前端
098t前端工程师
098t知识体系
104t岗位细分
向移动端转型
112t为什么向移动端转型
113t一个转型故事
114t一定要是自己的产品的用户
115t有哪些方向
持续集成
126t版本控制
134t包管理
141t构建工具
理解编程语言
150t编程语言是什么
159t全栈工程师最佳实践
161t脚本语言的优势
全栈游乐场
168tVPS
172t实践
软件设计方法
178t设计模式
183t架构模式
186t设计原则
高效工程师
192t为什么需要高效
192t提速100倍
学习设计
204t科学家和工程师
207t设计基础
211tFacebook的品牌设计故事
全栈思维
218t有兴趣就够了吗
220t学一点管理
224t沟通:被忽视的竞争力
后记

内容概要

余果,腾讯社交用户体验设计部高级UI工程师,前端开发组负责人,熟悉前端开发、iOS开发、PHP开发和Ruby开发等;曾独立开发iOS APP(撸大师)和CMS(33PU);翻译有《众妙之门: 网站重新设计之道》和《响应式Web设计全流程解析》;平时喜欢编程、写作、演讲、摄影和英语等,希望自己能做一个终生学习者。


 Web全栈工程师的自我修养下载 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     经过大半年的写作和准备,我的第一本书,《Web全栈工程师的自我修养》已经正式出版,各大网店有售。如果卖得好,希望也可以在实体店看到。自己的书,不好意思打5星,就打个4星吧。作为一个全职的软件工程师,我的本职工作是编写代码和软件,而不是写书。不过,通过我在腾讯的5年工作经验总结,我认为好的程序员的最终目标应该是,创作一个作品。开发一个Web网站,开发一个iOS APP,翻译一本书,写一本书……都是一个作品。大公司的流水线规定了每个人的头衔和职责,为的是采取稳定的流程来输出作品。每个人都只负责软件开发工作中的一环。流水线有自己的优势,不过,不可以因此断定每个工程师就不需要有更高的视野了。一方面,上下游交接中会有一些边际模糊的工作,需要有责任心的人主动承担。一方面,工程师的技术提升到一定程度时,需要为产品方向做出决策,或者为团队指引方向。一个趋势是,大部分工程师,越往高级发展,越需要横向扩展综合能力。高级前端工程师也需要了解服务器、数据库以及APP开发,甚至项目管理、设计等。因此,这是我写书的初衷:沉淀自己对于全栈工程师的想法,顺便输出一个作品。于是有了豆瓣阅读上的一个连载专栏。经过几个月的连载,有了几千个读者,也受到了大部分读者的好评。豆瓣专栏-谈谈全栈工程师(http://read.douban.com/column/226077/)我想,为什么不干脆写一本书呢?于是,我就跟之前熟识的编辑赵轩提出了我的想法,我俩一拍即合。不过比起网络上的专栏,真的动手开始写书,还是有诸多挑战。首先我重新整理了所有的内容和语句,查阅了更多的资料,并添加了大量的内容,基本上已经跟之前的专栏是两本不同的书了。我自己经过来回几遍的修改,终于能够通顺地读下来。为此,我专门复习了几遍《麦肯锡教我的写作武器》,获益匪浅。即使在样书打印出来准备印刷之际,我也拿着记号笔,重新校对了整本书。我明白我的想法不可能获得所有人认同,不过最低底线是,大家都能轻松看出我想表达的东西。这样即使不同意,也不至于太浪费书本费。关于这本书---这本书并不是全栈技术大杂烩,而是集中自己在“全栈思维”上的想法。如果奢望在一本书中编写全栈工程师需要的一切技术知识,这本书可以写二十卷。而且,网络技术不断更新,尤其是前端标准、工具和技术,几乎每年都会完全更新一次。所以我从一些故事,一些个人经历的事情,来引出了中心思想:“一专多长”“围绕商业目标”“关注用户体验”。然后我讲了一些常见误区,就是为了全栈而全栈,而不关注产品本身。之后我写了一些关于全栈常用知识的介绍:HTTP、Web全流程开发中的缓存、大前端、设计、项目管理等。最后,希望大家有什么意见和建议,欢迎通过任何渠道联系到我。包括通过书后面的渠道来反馈,或者在这篇文章(http://yuguo.us/weblog/full-stack-engineer/)下面评论,或者给我邮件(me@yuguo.us)。我希望能有机会,在下一版中改得更好。同行的推荐语---《Web全栈工程师的自我修养》全面介绍了互联网开发的基本知识和行业状况。文笔流畅、通俗易懂,充满了有趣的小例子和作者的感悟,读来引人入胜。如果你想成为全栈工程师,它可以作为你踏进这个行业前的第一本书。—— 阮一峰 《软件随想录》《黑客与画家》的译者,《ECMAScript 6入门》《如何变得有思想》的作者每个人每年都会思考自己的成长,然后给自己制定一个目标。目标很重要,不过更重要的是完成目标的方法。余果在书中的切身感悟,相信不仅仅能让你了解如何为“全栈工程师”,更能给你以启发,找到适合自己的成长方法论。—— 神飞 “前端观察”站长,微信设计中心高级UI工程师在我看来,工程师称得起全栈,不止于学会从最后端到最前端的技术,还应该能够发现问题并运用“跨界”技术提供更好的方案。工程师好像天生拥有工具(代码),但如《代码大全》里常提到的,好方案在很多情况下更需要思考。作者跳出了代码进行思考,这对工程师来说是非常难得的。—— sofish “饿了么”资深前端架构师关于作者余果,腾讯社交用户体验设计部高级UI工程师,前端开发组负责人。熟悉前端开发、iOS开发、PHP开发、Ruby开发等。独立开发iOS APP,独立开发了CMS,翻译有《众妙之门: 网站重新设计之道》和《响应式Web设计全流程解析》。平时我喜欢编程、写作、演讲、摄影、英语等,希望自己能做一个终生学习者。购买渠道---大家可以通过京东、天猫、亚马逊等各种渠道购买。各个渠道的打折力度不一样,大家自行对比啦。最后希望读完的同学,可以在豆瓣读书上给一下好评~(≧▽≦)/~啦啦啦
  •     前言从感性的角度讲,我喜欢把我理解的知识用图形化的方式储存在脑海中。一个人在年少的时候,可能无法看到自己现在做的事情跟自己的未来会与什么关联。做您自己感兴趣的事情,学您想学的知识,不要怕走偏了,如果有人说您不务正业,那就让他们去说把。如果您能远离传统的路子,您将会不同凡响。什么是全栈工程师前端工程师就是负责界面浏览器的端编程的人,后端工程师就是负责服务器端编程的人。全栈工程师是指,一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。根据项目的不同,客户需要的可能是移动栈、Web栈,或者原生应用程序栈。HTTP协议类似于汽车组装过程中的一个通用标准,动力系统和车身都要采用这个统一的标准来实现才可能完美对接。高级工程师需要有对设计的理解、对后台知识的了解,以及有跨团队推动项目的能力。长期研究专精的专业知识会让一个人视野变窄,变成“学术派”,而不是“实践派”。他日复一日地磨练和提高自己的技艺,他不会想要上市或者在全国开连锁店,也不去追逐更大的商业回报,只为了自己内心对完美的追求。全栈工程师首先要“一专多长”。一专多长的意思是,工程师首先有一个专精的方向,在这个方向上足够精通之后(高级工程师级别),以此为突破点去学习更多的知识,增加自己的长处。公司存在的意义就是解决问题,公司要解决用户的问题,而员工要解决公司的问题。无论个人的目标和兴趣是创业,还是单纯希望学习更多的技术,或者学习项目管理,全栈工程师都是一个不错的努力目标。高级工程师可以选择往上下游去拓展自己的能力,并承担更多的责任,给公司带来更大的收益,也给自己带来更大的成长空间。程序员在小公司里主动去承担更多责任,自己跟公司都会获得相应的成长。在自由职业市场,全栈工程师是最闪耀的明星。因为全栈工程师能独立创作产品,所以很容易被市场接纳。比如WordPress主题设计、APP开发、网站开发,等等。全栈工程师也能轻松搭建自己的作品网站,而不像后台工程师的而作品那样,不太容易展示的后台组件。全栈工程师还是天生的创业者,因为自己可以独立完成一个产品模型,所以可以用最快的速度去测试自己的想法。如何成为全栈工程师不管您是否承认,除去极少数天赋异禀、骨骼惊奇的天才程序员,我们大部分人都是普通人,都需要遵循“一万小时定律”,才能从平凡变成超凡。现在一个特定的方向上有比较深入的钻研,然后再将学习目标渐渐推广开来。如果是毕业生或者初学者,我不建议在刚开始的一到两年接触太多技术,杂而不精,结果可能会对后面的职业道路产生副作用。虽然您会的技能很多,但大多只能算是“及格”的东西。作为一个求职者,无论是毕业生还是社会招聘,仅仅满足招聘要求是不够的。您需要在招聘要求的方向上以200%的能力来得到这个职位。理解得越深刻,您就越有优势。我的第一条建议是,在考虑做什么项目的时候,围绕商业利益作为目标。归根结底,技术是服务于商业目标的。“变化”是唯一保持不变的东西,每个人都在不停地学习新的技术。相对来说,商业目标是稳定的。把关注点放在商业目标而不是技术上,就能选择出更适合完成商业目标的技术,这样就能做出更为客观的决定。更重要的是,在这个过程中您学习到的不仅仅是技术,更是一种潜在的思维方式,这种思维方式可以帮助您提升综合竞争力,是一种“硬通货”的能力。老板雇佣一个员工,不是因为他能写程序,而是因为他能帮助自己赚钱。关注商业目标需要持久的练习。一切都要围绕商业目标来进行,包括您做的项目、您的回报方式,以及您在学习新技能时进行的取舍。对未来有自己的方向,但也知道自己没法看得太清晰。对商业和市场有想法,而且自己也有足够的技术能力和自信向未来前进。相比而言,有些候选者的项目经验和学习技能很杂,东一锤子西一榔头,有些时候纯粹是为了折腾而折腾。永远从商业目标的角度来决定学哪些东西,而不是纯粹为了锻炼技术能力而去学习。我的第二条建议,从用户体验的角度考虑问题。每一个糟糕的体验背后都蕴含着商机用户现在都被手机中那些提供优质体验的App“惯坏”了,想让他们再接收陈旧的设计和体验,就更加难上加难了。“站在用户的角度想问题”。比如做一次演讲或者汇报,第一件要紧的事不应该是做PPT,而应该是调查听众,站在听众的角度去思考:听众知道什么信息,听众想知道什么。如果给您的老板汇报,您不能期望他了解您所做项目的技术细节,而且他想知道的也不是技术细节,而是项目进度和风险。但是如果在一个技术论坛上分享,您就不能期望听众都知道您的项目背景和目标,需要花一点时间去介绍,听众也不想指导太多细节的东西,只需要介绍一些决策和架构的大方向。写邮件的一些技巧就包括:尽量简短,不要给收件人太大压力;把结论放在邮件的开始,方便对方快速了解情况;如果需要老板拍板,给出选择题,而不是问答题。总而言之,以对方能理解、会关注的方式来表达自己做了什么。大巧若拙真正聪明的人,不会显露自己,反而从表面看好像还很笨拙。做自己会用的产品创业公司做产品,CEO一定要是自己的目标用户。我如果开创一个公司需要招聘“全栈工程师”,我要求的三个能力就是一专多长、关注商业目标、关注用户体验。因为前端开发处于互联网开发的中间环节,可以从上下游入手,渐渐地接触Web开发的完整流程。从学生到工程师对于软件工程师来说,北上广深是最理想的选择。前端工程师要有一个基本常识,那就是结构、表现和行为要分离。校园招聘一般每年9月中旬就开始启动,主要集中在9至11月和次年的3月至4月。但我认为岗位优先于公司,即使在一个很好的公司里面,如果只是做着自己不喜欢也不擅长的工作,那能有什么前途呢。我理解了书里说的设计四大原则:对齐、对比、距离和重复。相对而言,我认为校园招聘的门槛并不高,重要的是找对方法。如果您的学校不是顶级,您的成绩不是学霸,那就要走不寻常的道路。绕开每个人都会去做的一件事——投简历——转而做一个自己的产品,这就给企业传达了一个信号。无论您是名牌大学的高材生,还是自学成才的专科生,在制作第一份简历的时候,我有这样几个建议。首先确定自己的求职意向,针对特定意向填写您的简历。如果您想表达出自己的创意,不要使用各大招聘网站提供的简历模板。把简历发送到真正在招人的企业主管那里。为什么要把简历发送到真正招人的企业主管那里?因为HR没有能力辨别技术能力的高低,他职能根据学历、分数等硬指标来筛选。所以一些技术能力优秀但是分数不高的同学可能就很遗憾地失去了面试机会。基本上大型公司只有在每年的校园招聘期才会招聘学生,平时是没有毕业生名额的。学生还是要多关注校园招聘的时间,在非校园招聘的时间投简历的话,很容易石沉大海。实习经历对毕业招聘很有帮助。我的一个朋友,在大三的时候到阿里巴巴实习了半年时间,在大四刚开始的校园招聘中,就拿到了腾讯和百度的录取通知书,而且薪酬比没有实习经历的人还高一点,这就是实习的好处。实习能提升自己的实践能力,可以认为是从学生到社会人士的一个身份过渡。如果学校没有特别重要紧急的事情,我建议多花点时间去公司实习,熟悉同事和技术流程,并学习项目产品,这对毕业生很有帮助。建议。记住团队里的每一个人。有任何问题,主动问导师。主动介绍自己,告诉大家自己是新人,请多关照。每周发邮件记录心得总结、经验教训、学习成长。几年前我们部门还没有强制规定新人一定要做每周总结,那时候我已经开始主动记录本周的工作和生活,然后发表在博客上,持续了三十多周。实习结束时,用邮件总结所有项目,给出交接文档,并向大家致谢。主动是全栈工程师必须具备的一个特质,没有一个全栈工程师是被别人逼出来的。野生程序员的故事Web性能优化:压缩源码和图片;选择合适的图片格式;合并静态资源;开启服务器端的Gzip压缩;使用CDN;延长静态自言缓存时间;把CSS放在页面头部,把JavaScript放在页面底部。在大公司的头两年,是从学生到职场人士的一个转变,您可能会从大平台学习到一些规范的流程方法,养成一些足以影响您一生的习惯,认识更多的能对您职场有帮助的人脉。大公司能给您的:较小的风险;技术最佳实践;垂直专精的技能;服务海量用户的经验;软技能越是大公司,越是看重影响力,所以会有很多培训教您如何提高影响力。小公司,周边环境很少有分享和沉淀的习惯。沉淀和总结是很重要的。人脉每年都有不少人从大公司离职去创业,这是非常自然的事情。对于大公司出来的人来说,之前积累的人脉资源这时候会起到很大的作用,比如创业期间的一些合作机会或者资源的互利,等等。万一创业失败,也不会很惨,因为您之前接触的人脉可以给您提供工作机会。心态综合来讲,在大公司中,从硬技能到软技能都会有很多经验丰富的前辈能够教您,您会在大平台上学习到很多东西。几年工作之后,员工的选择也很多,要么走技术路线继续发展下去,做高级工程师;要么学习管理和领导力;要么出去创业。从毕业生自己前途发展的角度来看,先加入一家上市大公司是个不错的选择。工程师事业指南怎样获得良好的声望?很简单——答应做的事情,全部都要完成。正确的方法是,讲出事实。比如您希望老板加派人手的时候要说:“我现在手头已经有某某工作,现在给我这个新的任务,时间会来不及。看看能否把之前的工作移交给小明,或者让小明跟我一起完成这个新的任务。”虽然很有可能最终老板不会给您加派人手,但他会帮您权衡优先级,并跟项目负责人去沟通项目目标。更重要的是,他知道您在努力了。积累作品集作品集(portfolio),是指您个人的项目和作品的集合,一份精心准备的作品集比简历更能说服人。程序员变成是为了改变世界,或者享受自己的乐趣,其他的好处是随之而来的,而不应该为了丰满自己的作品集而去做项目。在这个商业化的市场里,对方(高效地)得到了您的信息,您得到了您应有的评价,这对双方是互利的。工程师的作品集传统的作品集往往是一个纸质文件袋,里面放着一些打印的过往作品。而在网络时代,印刷品本身既浪费资源也不高效,所以程序员和设计师的作品集往往是自己的在线个人网站。对于程序员来说,成本最低的一种作品展示方式就是把自己的代码发布到GitHub上。如果使用得当,开源代码是您和您公司最好的广告。通过,about.me可以声称自己的作品集。通过社会化媒体,树立起个人的品牌,即使不拿名片出去,也有人指导自己,这才是应该努力的方向。有人说说,“人到三十,不要去找工作,要让工作来找自己”,大概也是这个意思。全栈工程师眼中的HTTPcookie是某些网站为了辨别用户身份而储存在用户浏览器中的数据。高性能网站的关键:缓存 计算机科学中最无奈的两件事是缓存失效和命名。大前端浏览器中发生的一切和服务器中设计输入输出的这一部分,都属于前端工程师的工作职责。前端工程师主要使用的语言是HTML、CSS和JavaScript,有时候会写一些服务器的网页模板语言(比如PHP)。变化一直都在发生,这是一个需要终身学习的行业。在招聘初级工程师的时候,我一般会考察应聘者对以下知识的掌握程度。对浏览器兼容性的了解。对HTML/CSS/JavaScript语法和原理的理解。对编辑器和插件的熟悉程度。对调试工具的了解程度。对版本管理软件的熟悉和实用经验。对前端库/框架的使用。标准/规范。招聘中级工程师时,我一般考察应聘者对一下知识的掌握程度。对代码质量、代码规范的理解。对JavaScript单元测试的熟悉。对性能优化的应用和理解。对SEO的应用和理解。代码部署。移动Web。对高级工程师,除了上面的考察点以外,还会问这些方面的经验。代码架构。安全。对自动化测试的理解。我并不是建议直接开设“前端开发”专业,因为前端开发也是软件开发的一个分支,与服务器开发和其他软件开发的一个分之,与服务器开发和其他软件开发共享一些基础课程,是所有工程师都需要学习的,比如项目管理、数据库、软件开发流程和C++等。我的建议是,在大三或者大四的方向课程设计上,或者选修课设计上增加与时俱进的前端开发课程,使用业界最新的编程语言去教学,这样对毕业生、对用人单位都是好事。一个库是一系列对象、方法扥代码。一个框架是一个软件系统中可重用的一部分。从使用语言的角度分析,UI工程师只负责HTM/CSS,前端工程师只负责JavaScript,这是一种简化问题的解释方法。UI工程师更关注视觉上和交互上的体验,而前端工程师更关注逻辑和数据方面的体验,二者是上下游合作的关系。向移动端转型一句箴言——行动重于计划。如果您不想把手弄脏,就没法成为一个好外科医生。一件事情耗得时间越久,您将完成的量就越少。但是世界上成功的软件都不是完美的软件,而是在合适的时间发布的、刚刚够用的产品。如果它能活下来,在后面的版本中,它才有机会越来越好。客户需要只有在实际使用中才能辨明,再多的前期调研也只能发现客户认为他们想要什么,而不是客户实际上想要什么。因此在不了解客户真实需求的情况下,只会多做多错。80后的竞争力应该是“让市场认可您的能力,而不是让老板认可,因为老板会变,老板的标准不一致,而市场是一致的”。IOS原生AppIOS原生APP开发的技能树相对比较新,需要学习Objective—C这门语言,以及X错的的一些操作方法——主要是storyboard,以及各种官方类库的使用方法。Android原生App使用Java编程,如果有Java编程经验,Android原生App是最好的选择,因为用户量和用户比例都在稳定增长。Windows Phone 原生App现在用户量还很少。Web App技术是最简单的,传统前端开发的技能树可以无缝移植,包括HTML5/CSS3/JavaScript等。应用场景包括浏览器中打开的Web App、微信中的页面,或者混合模式App。Web App的好处是天然无缝移植到所有支持Web标准的平台——甚至Kindle。对于中国开发者来说,微信公众号也是一个巨大平台。那么作为开发者,您该向哪些方向转移呢?我觉得首先考虑的是自己的设备。您已经在使用Mac、Iphone或iPad了?那么转型IOS原生App或者Web App是自然的选择;如果自己在用Android手机,那就为Android开发吧。对自己的学习能力和空闲时间有一个评估。还是在校生?那给自己加点挑战吧,学习难度大一点的;如果平时工作比较忙,可以事实跟自己的知识相近的技术方案。如果希望更好地开发混合模式App,最终还是需要学习对应平台原生的开发技能,以及人机交互指南。持续集成Git是一个分布式版本控制软件,是天才工程师、Linux内核开发者Linus开发,目的是更好地管理Linux内核源码。一个程序只做一件事,并做好。Node.js的包管理器npm应该是世界上最有名的包管理器。递归定义是一种在定义中引用它自身的定义方法,在程序中引用自己成为递归。根据semver的规范,版本号用小数点分隔为三个数字。比如v3.2.1中3是主要版本号,2是次要版本号,1是补丁。理解编程语言 真相处于两种极端之间。编程语言有差别,但没有那么极端,也不存在绝对标准。不同的编程语言差别很大,它们有不同的抽象偏好,有不同的设计思想,有不同的语法风格,有不同的依赖环境,背后有不同的人在营销。全栈工程师的目标往往是快速解决商业问题,不一定需要长期完没的方案。不同的脚本语言有不同的设计原则,但是它们往往有一个共同的目标,就是以简单的方式,快速完成某些复杂的任务。一个程序只做一件事,并做好。程序要能协作。程序要能处理文本流,因为这是最通用的接口。全栈游乐场虚拟专用服务器是把一台服务器分割成多个虚拟专享服务器的优质服务。软件设计方法KISS是“Keep it simple ,stupid”的缩写,意思是说软件设计当中应该注重简约的原则。这一原则认为,大部分系统的设计越简单越好,有不必要的复杂性都应该避免。如果一个系统非常复杂,就应该分解为多个简单的组件,做好足够的分解和抽象。高效工程师高效的工程师能够拿更多时间运动和休息,这对于长期稳定的工作投入是有帮助的。低效工程师长期熬夜带来的副作用完全抵消了工作时长的投入。如果您平时没有作重要的事情,就会发现自己常常在做紧急的事情。如果您平时没有注意锻炼身体,就会常常去医院,花费更多时间。如果没有培养后缀,为每个项目设置接班人,就会常常需要到处救火。第四象限是不重要也不紧急的事情。逛论坛、刷朋友圈就属于这一象限。简而言之就是浪费生命,所以根本不值得花半点时间在这个象限。有时候我们以为是外部烟瘾让我们分神,其实更重要的原因是人的精力被耗尽了。我们在一些以为是消遣和休息的活动上投入了很多时间,回到工作的时候,并没有感到重返工作的舒畅,反而精力涣散,容易分神。我们身体上的劳累让我们的精力无法集中。重复的工作应该交给计算机去干,这是我们都知道的一个道理。有趣的是,我们往往不知道我们的时间花在哪里,有一个办法就是详细地记录自己一天的时间消耗。给自己留出不被打扰的时间。“番茄工作法”是由弗朗西斯科.西里洛于1992年创立的一种微观时间管理方法。使用番茄工作法,选择一个待完成的任务,将番茄时间设定为25分钟,专注工作,中途不允许做任何与该任务无关的事,直到番茄时钟响起,然后在纸上画一个X,短暂休息一下(5分钟就行),每4个番茄时段则多休息一会儿。番茄工作法极大提高了工作效率,还会有意想不到的成就感。为什么25分钟时一个比较好的时间点?因为如果过短,思维还没有恢复过来,就马上要被打断,不利于创作。番茄工作法主张在25分钟时间段内专注地完成高质量的工作,接着是5分钟的休息。如果压力系统一直工作,而不借助心智休闲进行调节,一些症状会找上门来。过去跨界学习的成本很高,大部分人都不敢轻易尝试。但如今互联网时代给我们带来了机遇,每天上网都可以看到其他领域名人写的文章和微博,通过查看这些内容,我们就能对原本完全陌生的领域有一个感性的认识。时间一久,我们就能够在潜移默化中理解另一个领域的从业者的思维方式,当您开始跨界学习之后,就会增加更多的机会。我在工作的这几年中也在渐渐受到设计师和管理者的影响,开始学习设计师和管理者的思维方式,所以有时候我被认为是“有一点设计感觉的工程师”,但我仍在学习。或许每个工程师会在不同的环境中跨不同的界,但是在未来,我认为跨界出来的那部分能力才真正定义了“您”。我的经验是,在电脑上工作之前,现在纸上画出自己的想法。笔跟纸是最灵活、最容易修改、成本最低的头脑风暴方式。拿工作时长来讲,这还是体力劳动时代打工者的心态在作祟。稍有常识的老板,或者接受过一点点管理培训的领导者,都知道评估员工是看结果,而不是看努力和过程。下班之后尽量不要处理工作需求了,多点时间自我学习,或者准备一些分享,甚至做一些编外项目。学习设计设计的四大基本理论是:亲密性、对齐、重复、对比。这4个设计理论分别是什么意思呢?亲密:关系亲密的元素要放在一起,关系疏远的元素则要分开。位置的亲密性直接表现出意义的相关性。对齐:左对齐、右对齐、上对齐、下对齐。斜线对齐比较简单,居中对齐很难处理,新手不要尝试。重复:视觉上使用重复的图形和元素、线条和颜色等。比如QQ空间重复使用的黄色跟黑色、微信的绿色、京东的红色等。对比:如果两个元素(的大小或者颜色)不一样,就让它完全不一样,产生视觉冲击力。全栈思维老板给您任务,根本不关心您有什么理由,只关心您完成没有。有人认为兴趣是成功的老师,无法完成某些事情是因为没有兴趣。其实我认为耐心是一种能力,有些人天生缺乏这种能力。在能力不足、困难重重的时候,唯有投入大量的时间才能保住这珍贵的信任。管理者要做的事情比执行者更多,但是因为管理者能够管理好自己的时间,做事讲究优先级,懂得授权和请求他人帮助,所以能避免“瞎忙”。让自己“不忙”,可是一个技术活。所以在工作中,珍惜自己的时间尤为重要。管理者第一个需要练习的就是管理自己的时间。领导者的工作本质是对内销售,销售的内容就是团队的目标。对于一个预计2个月的中期项目,理想的沟通频率是每周沟通至少两次,如果两周才沟通一次,失败也是可以预期的。任何管理者,安排了任务之后,如果长时间不询问进度,就代表不关注。上司都不关注,下属自然不会上心了。不是每个人都有足够的自律和积极性。虽然作为全栈工程师,我们的学习目标一直是提升个人的技术能力。但是在组织中工作,并不需要特别强的个人能力或者天赋、更需要的是稳扎稳打、虚心学习,不要害怕批评,而应真诚沟通,珍惜每一次机会,完成每一个承诺。用市场最高价格雇佣高效能人士组成团队。高效能的管理者并不奢求完美的人才,他能让平凡人的成就不平凡的事业。在德鲁克的经典管理书《卓有成效的管理者》中,他建议管理者学会这么一种创建组织的方式:若某人在某一方面具有特长,就要他充分发挥这一特长;而不应该期望另寻万能的天才来达成绩效。这本书堪称提高脑力劳动者专业度的圣经。这5个思维习惯是《卓有成效的管理者》的核心,环环相扣,非常经典。有效的管理者和知道他们的时间用在什么地方。有效的管理者重视对外界的贡献。有效的管理者善于利用长处,包括自己的长处、上司的长处、同事的长处和下属的长处。有效的管理者集中精力于少数重要的领域,在这少数重要的领域中,如果能有优秀的绩效就可以产生卓越的成果。最后,有效的管理者必须善于做有效的决策。这跟对心仪的女生表白是一个道理,对方基本上会拿这些原因拒绝您:“您是个好人”“我们不适合”“我已经有男朋友了”“我现在还没准备好”。她绝对不会说出“其实您太穷了、太难看”这样的原因。佛家有一个词叫“度己度人”,就是在帮助别人的过程中,其实也是帮助自己。所以反过来想,作为需求的请求方,最开始就得找到那个很关键的人,对于他来说,帮助您对他是很有好处的。也就是说他能把这件事当作自己的关键任务(KPI)。如果您的要求对于他人纯属累赘,那么他人自然不愿意帮您了,任您多么会沟通,最终都不管用。授权给平级同事的时候,最好的方法就是诉诸对方的利益。针对上司呢?有以下几种情况。汇报:求上司表扬。请求:需要上司做事。询问:需要知道上司对于某项任务的要求。您需要在20秒之内让他知道您的目标。使用金字塔方法的前提是,您得有一个中心目标。不能是两个,更多更不行,只能是一个。谈谈PPT不要有太多文字听众的注意力只能放在一个地方,要么是幻灯片文字,要么是您自己。设定进度让听众知道自己在哪里,比如一开始就告诉听众您的演讲时间,或者在幻灯片中设置进度表。听众注意力只能坚持十分钟,所以不要太久。对待错误:放松有条件的话,录像并对比提高此外的建议就是多加练习,把自己推销出去,不要待在舒适区里不出来。毕业这么多年,我从来没有停止学习,技术、管理、英文... ...因为内向性格的人更能够沉下心来读书、思考,做一些安静的事情。这样的事情让外向性格的人哈欠连连。自我意识,是指您能够精准地觉察自己的情绪波动。社会意识,是指您能感知周围人的情绪,并敏锐捕捉到周围发生的事情。自我管理,是指您能根据自我情绪的感知,灵活积极地调控自身行为。关系管理,是指您感知到周遭的“情绪场”之后,能够掌控自我情绪并把握他人情绪值,来让双方进行更好的互动。后记项目的定义是:在一定的约束条件下(主要是限定时间、限定资源),具有明确目标的一次性任务。
  •     本书虽然不像《xxx权威指南》《xxx实战》等技术类书籍,看完便可以立马获得收益,掌握某一技术。但是作为方法论,对于有全栈目标的人来说具有指导作用。方法论要产生收益的前提是:1.认同感;2.执行力。 如果能认同作者的观点,并加以执行,便可以潜移默化的对职业产生正面的影响。及时不认同,作为科普和鸡汤,看完了也可以作为自己道路的印证,没有什么坏处。

精彩短评 (总计50条)

  •     不是专门的技术书,最主要是对前端的认知和理解深刻啊,为什么我不是大三的时候就买!后悔不开森☹️
  •     作者介绍的很全面,对于开始接触Web开发,全栈的工程师都有帮助。也介绍了很多程序员的自我成长的经验。
  •     内容比较泛比较杂,讲得比较通俗易懂,比较适合入门。
  •     非专业人士也能学到一些东西。
  •     2016.37,适合野生程序员看,内容铺的比较广,也比较浅,三星推荐吧,部分内容已经过时了,作者最后一句总结很搞笑“感谢妻子,如果没有你的陪伴,我早就写完这本书了。。”
  •     适合实习期的野生程序员阅读,涉及web开发,软素质,自我提升的全貌,虽然显得不够深入,但是中文社区很早就需要这样一本书了
  •     书挺不错的,可以全方面的了解web全栈的技术栈
  •     并没有严格地局限于前后端技术的介绍,按作者的说法是集中于“全栈思维”的想法。这本书很好的帮助我理清了前后端各个层面的语言和框架
  •     第一小节讲了什么是web全栈工程师,后面就一直在讲一些无聊的东西,比如实习生的建议。对我而言用处不大,再往后偏重讲的是web前端的东西,比如优化等等看不下去了…
  •     励志做前端的我在大二看到这本书,感觉很不错,内容4星,个人有用加1星
  •     对于作者的技术学习方式和成长路线非常认同,这本书更像是作者的个人总结回顾,虽然内容相对浅显、点到为止,但可以作为一个很好的参考,全局地去看Web全栈工程师涉及的技能点,更有作者珍贵的心得体会和经验教训。
  •     最后感谢一下我的妻子,如果没有你的陪伴,我应该早就写完这本书了。2333333333
  •     在书店很快概览的,对这个领域好奇想了解,然而毕竟太外行,很多看不懂。看到有人说浅,真想哭。希望有朝也能读懂编程语言。——一个小白的心声
  •     书籍开始介绍作者的求职经历,给了我很大的启示,有点感慨本书籍为何不早点出版。很好的解析了何为野生程序员,以及如何做到全栈工程师。很好的书籍不错
  •     总的来说还可以吧,前面的部分有一些干货,但是讲的太泛泛了,确实是博文转成图书的,连贯性也较为一般。不过对于全栈工程师的理解和解读倒是很有见解。
  •     写的虽然不深,但是涉及面非常广,作者告诉我们应该灵活应用技术
  •     可以开拓视野
  •     比较小白,但是对于全局性了解还是有帮助的内容也比较丰富。
  •     只是粗略地翻了一下。很多作者的经验之谈,有足够的广度。许多中肯的建议。作为小白,我觉得可以借此拓展一下技术视野。全栈什么的还没这个能力,确实要先专注某个方向深入下去,努力积淀自己,之后才能以更宏大的视角来看待和解决问题。 忘记一点,开的书单确实都挺好。
  •     全书内容像是一个过来人对新人说的话,内容浅而广,适合刚入行业的人看看。也对那些专注于一方面又想成为全栈的人会有很大的启发。因为本身接触过很多这方面的知识,所以对我个人而言没什么收获。
  •     花了一周时间读完,对于像我这样一个迷茫在全栈城池外的野生程序员来说,这是一份难得的指引。从题目可以看出,对全栈技术解析并非此书的本意,特别是对于新人来说,这更像是一本指南。作者对自身的一些经历和感悟,也能让人产生共鸣。作为一本工程师读物,语言朴实亲切,排版简明轻快,插图配色恰到好处,应该说还是值得一阅的。
  •     实习因不愉快辞职。回学校找WEB工具书学习,无意中在旁见到,随便翻翻上瘾了,Web开发的启蒙,希望我的程序员路能走得更远。
  •     大学僧可以看看,几下就看完了。
  •     一本不错的前端设计师科普书,有志成为前端和全栈工程师的入门小白都可以看看,可以扩宽视野。推荐
  •     指导性的书,讲的比较宽泛,具体需要去扩展阅读
  •     作者介绍了web全栈开发的相关流程和技术,以及工程师所需的其他技能如沟通,时间管理等。每个章节附加的书籍值得继续阅读。整体比较通俗易懂。
  •     各种知识栈的大杂烩,看了之后没啥印象,浪费时间。
  •     职业生涯规划建议。
  •     专业见识不仅需要深度 还需要广度 加油吧小百合
  •     了解下web全栈的内容
  •     可以翻阅一读
  •     书是从big picture的角度讲了全栈工程师所需一些技术。但更喜欢的是对于技术成长上的分享,跨界思考,沉淀积累,影响力,管理理念,软实力等方面的切身体会。
  •     如果早两年看到这本书的话,能少走很多弯路。 全书覆盖了开发过程中的大体流程,文笔恳切。力推
  •     这不是一本讲技术的书,但讲到的都很实在,字里行间展现了作者广阔的视角和不断突破角色限定所养成的的思维方式。可以作为互联网行业入门/科普书。
  •     2016年读的书,讲了关于设计与web开发的知识。不是实践型书籍,作者的一些观点很赞同。
  •     强烈推荐,太多干货了,解决了自学前端的我好多好多问题啊
  •     一本web开发大杂烩。
  •     对初入职场而且又做前后端开发的人来说,这本书还行,各个方面都带过,当然了,这本书范围很广,但是都不怎么深入,可以起到一个了解技术栈的作用,每个章节后面也都会有推荐的书籍,可以挑个感兴趣的方面深入钻研一下
  •     如同书名说得一样
  •     里面推荐的学习方法,还有很多工具确实挺好用的。虽然不是一本严肃的技术书籍,但是是一本指引方向,偏向感性的引导性书籍
  •     还行吧,资深流水账
  •     非常好的一本书,现身说法但又不是那种一家之言,理论结合实际,每章节后都有推荐书目,从技术,人际,管理等方方面面进行全面的介绍,你可以从中学到很多。当然,篇幅有限所以介绍的不多,但基本足够了,毕竟不是一本专业技术书。作者非常棒!希望未来我也能成为这样的一个工程师。值得再读。
  •     虽然不时散发出一股腾讯的异味。。
  •     内容略浅显,很适合学生党吧。推荐的书倒还成
  •     想成为一个Web全栈工程师,任重而道远。
  •     非常差,如果是还没毕业的学生花1块钱买个电子版做课外阅读还可以
  •     本書主要從IT工程師發展的延伸性,比較多從工程師技能要求、核心競爭力以及發展方向著手進行闡述未來個技術的優劣趨勢,擁有一個比較廣闊的視覺,給部分比較迷茫的工程師一些比較有效的幫助,同時可以開拓關於IT領域方面的框架知識
  •     扫盲书,入行时看的,很有帮助
  •     昨天买的,今天看完,因为昨天晚上没忍住看到了3点。 写得很好,自己这两年在慢慢地从『野生程序员』向『专业程序员』转变 最近刚好也在学iOS和Node,还好之前有一点点PHP经验,对于Node并不难理解。 我,也走在全栈的路上了。
  •     对于想做全栈工程师的人来说是一本不错的书,作者作为腾讯的老员工,分享了很多公司中的实际业务技巧,同时也借鉴了其他优秀书籍里面的经典,对于想要进一步提升的人来说可以去读读每一章后面的推荐书籍
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024