读《Web全栈工程师的自我修养》
《Web全栈工程师的自我修养》—余果
一、全栈工程师
What?
web全栈工程师:至少包括服务器(比如Linux),数据库(比如Mysql),服务器端编程(比如Java,Php),前端标记语言和脚本语言(比如HTML,CSS,JavaScript)等。Why?
(1)“各司其职”的弊端:
工程师职责不清导致效率低下
工程师缺乏主人感导致产品质量差
工程师缺乏全局的视野影响个人成长
更多角色导致项目效率低下
(2)全栈工程师特点优势:
一专多长
a.解决问题,而不是醉心技术—公司的存在是为了解决问题。互联网发展很快,问题的优先级不断变化,如果新计划是你不擅长的,应该立马开始学习新的技术,这就是所谓的关注问题,而非醉心技术。
b.高级工程师可以选择往上下游扩展自己的能力,并承担更多责任,给公司带来更大效益的同时也给自己带来更大的成长空间。
c.程序员在小公司里主动去承担更多责任,自己跟公司都会获得相应的成长。
d.在自由职业市场,全栈工程师是最耀眼的明星—-能独立创作产品,容易被市场接纳。
e.天生的创业者。能够以最快速度测试自己的idea,从工作中锻炼出发现问题、洞察需求、设计解决方案并开发初始版本产品的能力。- How?
(1)先精后广,一专多长:在满足岗位常规需求的基础上,一定要在某个特定方向上有非常深入的理解。会做,理解背后的原因,理解背后的背后的原因。理解越深刻,找工作就越有优势。
(2)围绕商业目标:在考虑做什么项目的时候,围绕商业利益作为目标。因为技术是服务于商业目标的。
(3)关注用户体验:每个糟糕的体验背后都蕴含着商机
大巧若拙,
做自己会用的产品,创业公司做产品,CEO一定要是自己的目标用户,要去体验自己的产品
二、从学生到工程师
- 选择时先选岗位后选公司,自己喜欢的岗位,然后自己喜欢的公司
- 面试中,自己的作品是最强的信号,阅读能力及编码能力(著名开源项目中贡献代码),英文能力
简历建议:
a.确定求职意向,针对特定意向填写简历
b.表达出自己的创意,不要使用简历模版 实习建议
a.记住团队里的每一个人
b.有任何问题,主动问导师
c.主动介绍自己,告诉大家你是新人,请多关照(大家对新人的天真或愚蠢有更高的容忍度)
d.每周发邮件记录心得总结,经验教训,学习成长
e.实习期结束时,用邮件总结所有项目,给出交接文档,并向大家致谢注:主动性是全栈工程师必须具备的一个特质,没有一个全栈工程师是被别人逼出来的。
三、工程师事业指南
- 积累作品集—作品集是指个人的项目和作品的集合,一份精心准备的作品集比简历更能说服人。
- 作品集要突出重点:突出某个技能的深度,可以针对这个技能列出大量作品,项目,专栏等。
四、高性能网站的关键—缓存
服务器缓存:
a.基本的数据库查询缓存:
b.扩展数据库缓存:memecached,数据库自带缓存是在Mysql所在的服务器上开辟的,能使用的内存空间有限。大型网站缓存不够用,这时需要使用服务器集群来实现数据库缓存。
c.文件缓存:可以将数据库查询结果缓存在内存中,也可以缓存在文件中。
优点:硬盘容量比内存大,可以缓存更多的数据。
数据更安全,断电之后数据还在。
易于扩展,硬盘不够用时可添加硬盘
缺点:文件缓存存取没有内存缓存快,只能作为内存缓存的补充。查找优先级为:内存缓存,文件缓存,数据库。
d.静态化浏览器缓存:
五、持续集成:
持续集成包括版本控制、包管理、依赖关系、架构优化、自动发布等。
六、高效工程师:
- 阅读英文资料:StackOverflow、Google搜索;
- 时间管理四象限:如果平时没有重要的事情,就会发现自己常常在做紧急的事情。如果平时没能注意锻炼身体,就会常去医院花费更多时间。如果没有培养后辈,为每个项目设置接班人,就会常常需要到处救火。如果没有配置好版本管理系统就开始工作,就会浪费更多时间去找回丢失的代码。如果偷懒硬编码了一些变量在代码中,后续一定会花费更多时间去调试。
一:既紧急又重要(立即执行) 二:紧急不重要(请他人代劳)
三:重要不紧急(制定计划) 四:不重要不紧急(Say No!)
注:建议工程师把80%的工作投入到第三象限中,避免“瞎忙”。 - 消除重复工作
第一步:详细记录自己一天的时间消耗,识别出时间花费在了哪里,以此作为优化目标。在合并代码上花费太多时间?还是提交测试?发布流程繁琐?编译太久?切图工作枯燥?
第二步:思考能否使用已有的工具–免费的或是付费的—来无缝衔接已有的流程中。
第三步:如果不能使用已有的工具,就自己去编写。在语言的选择上可以从这几个角度考虑:工具使用者是谁?用户的操作系统? - 给自己留出不被打扰的时间
编程需要大量的精神投入,需要整块的连续的思考时间。eg:facebook 周三是没有会议的(No Meeting Wednesday!) - 番茄工作法
1.每25min休息5min,每四个时间段多休息一会儿。eg:晨练,,, - 纸上头脑风暴
1.笔和纸是最灵活、最容易修改、成本最低的头脑风暴方式。
比如写一篇文章前先画一个思维导图,把头脑风暴出来的所有关键词列出来,再根据金字塔形式的写作方法层层分解。如果是开发一个软件,或者写一个脚本程序,可以把每一步主要工作都写下来,类似伪代码,但是抽象层级更高一点。 - 使用版本控制工具和构建系统
七、全栈思维
- 有兴趣就够了吗?
a.有没有想着把您的产品和您的名字联系起来? - 学一点管理—-《卓有成效的管理者》
a.有效的管理者知道他们的时间用在什么地方。
b.有效的管理者重视对外界的贡献。
c.有效的管理者善于利用长处,包括自己的长处、上司的长处、同事的长处和下属的长处。
d.有效的管理者集中经历于少数重要的领域,在少数重要的领域中,如果能有优秀的绩效就可以产生卓越的成果。
e.最后,有效的管理者必须善于做有效的决策。 - 沟通:被忽视的竞争力
良好的沟通是:“针对目标听众”,“有方法的”,“表达自己的想法”。
a.针对目标听众:
b.有方法:麦肯锡的金字塔原理。 - 示例:谈谈PPT
a.不要有太多文字:听众注意力只能放在一个地方,要么是PPT要么是您自己。PPT只是辅助,重要的是您本人。
b.设定进度:让听众知道自己在哪里,比如一开始告诉听众您的演讲时间,或者在PPT中设置进度表。
c.对待错误:放松
d.有条件的话,录像并对比提高:不要相信别人的评论,碍于面子,别人不会提出不好的评价。 性格内向的竞争力
a.性格内向尤其独到的价值。我是性格内向,这让我有很好的学习能力和不错的社会意识。
记住:性格来自基因,有其独特的价值,只要充分利用自己的天赋,就能得到您想要的。不要为了迎合社会主流,而伪装成一个外向、热情、合群的人。书籍推荐:
《卓有成效的管理者》 美 彼得。德鲁克
《麦肯锡教我的写作武器》 日 高杉尚孝
《金字塔原理》 (美) 巴巴拉。明托
《安静:内向性格的竞争力》 (美) 苏珊。凯恩
读《Web全栈工程师的自我修养》相关推荐
- 读《Android 安全架构深究》
Android 安全架构深究 安全是一个非常立体而丰富得概念.在不同的场景下,安全有着不同的含义. 比如对于网络传输,安全指的是传输的数据不会被其他人看到.篡改.伪造及仿冒,传输的数据不会遭到破坏,数 ...
- 《最强Android书 架构大剖析》读书笔记
文章目录 第一章 Android 体系结构的变革之路 1.2 Android系统源码目录 与Linux的异同 Android的框架 原生二进制可执行文件 Android 的原生库 核心(core)库 ...
- Android Jetpack架构组件之 Room(使用、源码篇)
2019独角兽企业重金招聘Python工程师标准>>> 1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发 ...
- 抖音、美团等大厂千万级用户的Android客户端架构演进之路—
在移动开发中,对开发者来说不同的人具有不同的能力.就像读一本书一样,一千个读者,有一千个哈姆雷特.但不管怎样,只要你是个软件开发者你就必须学习windows或Linux等操作系统的运行原理.Andro ...
- Android 图形架构之一 ——概述
前言 本系列的文章,可以让你明白,一个View最终是如何显示到屏幕上的,从应用层到硬件抽象层.对分析app的卡顿,掉帧等 有很大帮助. 由于图形架构的涉及到的代码量很大,所以本篇先来个总体的概述,有个 ...
- Android display架构分析-SW架构分析(1-8)
参考: Android display架构分析二-SW架构分析 Android display架构分析三-Kernel Space Display架构介绍 Android display架构分析四-m ...
- 高通Android display架构分析
目录(?)[-] Kernel Space Display架构介绍 函数和数据结构介绍 函数和数据结构介绍 函数和数据结构介绍 数据流分析 初始化过程分析 User Space display接口 K ...
- [Android] Android MVP 架构下 最简单的 代码实现
Android MVP 架构下 最简单的 代码实现 首先看图: 上图是MVP,下图是MVC MVP和MVC的区别,在于以前的View层不仅要和model层交互,还要和controller层交互.而 ...
- Android系统架构-[Android取经之路]
摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...
- Android系统架构图及简单的系统架构介绍
2019独角兽企业重金招聘Python工程师标准>>> ndroid的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层. ...
最新文章
- spring mvc xml格式输入输出
- JZOJ 5236. 【NOIP2017模拟8.7A组】利普希茨
- Asp.net TextBox常规输入验证
- javascript-DOM-节点
- Solr4:加入中文分词IKAnalyzer2012 FF
- 关于setInterval设置倒计时只执行一次,clearInterval停止
- 97 个 Linux 常用命令大全
- 【计算机视觉】【并行计算与CUDA开发】GPU硬编码
- 绝地求生登录计算机需要授权,Steam第三方授权登录错误 《绝地求生大逃杀》国服绑定受影响!...
- HTML5和CSS3新增
- 解读x86、ARM和MIPS三种主流芯片架构
- 【转】用 Go 构建一个区块链
- 算法实践——数独的基本解法
- S9300系列交换机升级系统版本
- 《愤怒的小鸟》——大一下C语言程序课设
- MATLAB小白之图片合成
- python代码画樱花落花-Python:绘制樱花树
- 一个Activity左右分别显示一个ListFragment
- BZOJ 3159: 决战 解题报告
- 【HaaS Python 硬件积木】 BMP280气压传感器
热门文章
- 快速开发一个混合APP(Hybrid APP)
- go-channel
- 20180514-A · Star Wars Survey · ggplot2 ggdraw geom_bar facet_grid magick 柱状图 条形图 · R 语言数据可视化 案例 源码
- Android之Activity界面劫持反劫持
- 优化设计鲍威尔法c语言,机械优化设计鲍威尔法编程
- 电脑记事本增强版notepad++
- iOS 整理iOS9适配中出现的坑
- miui国际版/波兰版 开通公交卡 / 模拟门禁卡
- 一键刷入twrp_小米红米如何正确TWRP卡刷MIUI12波兰版或者欧版等系统详细教程
- 小米max2装鸿蒙,小米Max2最全评测 小米Max2值不值得买?