全栈工程师
余果 《谈谈全栈工程师》阅读笔记
介绍
全栈工程师(full-stack engineer)是一个全球热议的话题。“栈”是指 software stack 或者 solution stack。
要开发一个 Web 页面,工程师需要使用操作系统、服务器、数据库以及几种编程语言,这些技术组合在一起叫做 Web Stack。 擅长 Web Stack 的工程师就可以称为 web stack Engineer。以此类推,擅长所有 Stack 的工程师就是全栈工程师。
全栈工程师是一个阴谋,老板都想雇佣一个人做三份工,拿两份工资。Web 2.0 之前,工程师就符合全栈,一个人包揽整个网站的构建。随着技术发展,Web 开发流程也有了一条流水线。用研、交互、视觉、重构、前端、后台、运维和测试。当然还有项目经理。项目经理和技术 leader 很需要是全栈的人担当,不只是小公司,大公司也如此。
当然全栈很适合自由职业和创业,对个人而言,全栈的发展空间是很巨大的,当然首先要成为 top 10 呢。
酷炫之路
我们都是普通人,所以要成为全栈大神就要慢慢积累,先精后广,一专多长。
找工作的时候,看招聘信息,很简单,很容易,但是仅仅满足招聘要求是不够的,什么都做一点,那就是无亮点。
多关注商业项目,多关注用户体验,在某个领域挖深学习。前端招聘,大家都喜欢前端基础过硬,有脱颖而出的亮点和经历,后台也写得不错,移动端原生也 OK,再要是个妹子,恩,你懂的。
大前端
- 前端是棵大树,HTML+CSS+JS 是主干。
- Web 语义化:无障碍网页应用(WAI-ARIA)
- 命名规范
- 《Designing with Web Standards》
最难?
缓存
- 数据库缓存
- 内存缓存,硬盘缓存
- 静态化
- 浏览器本地缓存
请求
- 哪些?
- 花费时间?
- 请求类型
- 状态码
- 流量
- gzip
依赖管理
资源打包,优雅地使用他人代码。
- npm
- bower
- 其他
移动端是大势所趋
- Web app,技术简单,无缝移植,–> Hybrid app。
- iOS native app,OC,Swift
- Android native app,JAVA
- Windows phone。。。
- 微信公众号。
多看书
《禅意花园》《网页重构》《超越CSS》《CSS Mastery》等 还有《写给大家看的设计书》
语言的应用场景
什么情况用什么语言都是需要考究的,语言各有优缺点,适合的就是最好的。
一专多长
专精:看这门语言最开始的设计思想是什么,理解语言的设计背景,运行环境,做了哪些优化,以及做了哪些妥协。比如 Ruby,它 care 的是程序员写代码的效率而不是程序运行的效率。
多长:熟悉很多不同类型的语言,理解语言的长处,使用对应的设计模式。
推荐《七周七语言》
多读书–>《代码大全》《黑客与画家》《设计模式》等
设计模式
- MVC 架构
- DRY
- 惯例优于设置
学一点设计
推荐《写给大家看的设计书》
设计:
- 亲密性:亲密的元素放在以前,表现相关性
- 对齐
- 重复:重复使用相同的图形,线条颜色
- 对比:不一样的就让它完全不一样。
版本管理
CVS–>SVN–>Git
用 Git 就好了,使用 Github Flow。
开源
收获
- 朋友
- 声望
- 代码完善
- 自省
- 完善履历
VPS
自己搭建服务器也可以从中了解到整个网站的搭建。(不折腾会死星人)
- 了解网站全貌
- 部署自己的环境
- 学习 Linux
- 理解 HTTP
- 关注服务器安全
- 翻墙。。。
作品集(portfolio)
向其他人展示自己的才能
- 老板
- 潜在客户
- 潜在雇主
- 潜在朋友
- 任何人
- 自己
If you do it right, open sourcing code is great advertising for you and your company. 作品发布在 Github/dribbble,可以用 Github pages 显示。
突出 portfolio 的重点。
沟通
沟通是能力的一部分,针对目标听众,有方法,表达自己的想法
脚本语言
。。。
高效
消除重复的工作,考虑贡献,授权,优先级,精力管理。
最厉害的编程语言
…
blog comments powered by Disqus