Mon, 29 Jun 2015 08:36:23 +0000

余果 《谈谈全栈工程师》阅读笔记

介绍

全栈工程师(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