求职丨全栈工程师,业界看重哪些技能?
从简单的雏形到完美的成品,全栈工程师通常被认为是万能多面手,那全栈工程师到底做什么呢,让我们来一探究竟。
为了更好的了解其现在的工作,我们首先来看下以前的全栈工程师都做些什么。
在2000年时,全栈开发者通常会做这些工作:
用Photoshop或Fireworks 等工具设计一个网页
将网页编译成HTML,CSS或图像热点
编写一些PHP4.0脚本来处理服务端逻辑(当时还没有面向对象的PHP语言)
将所有动态数据存储在MySQL中,可能需要做简单处理
通过FTP将代码或数据等上传到服务器
当时全栈比较简单,个人开发数量颇多,工作压力不大,但现在,全栈开发已经不能同日而语。
为了在激烈的市场竞争中占据一席之地,全栈工程师需要不断学习各方面技能,主要包含以下方面:
服务器管理/Devops
程序员必须具备基本的服务器管理能力,包括并不限于以下知识:
在非GUI环境中,通过终端连接远程服务器
会写Shell脚本编程
服务器上的用户和群组管理
管理Apache和Nginx等服务器程序来提供应用
管理防火墙和权限
安装及更新软件
除了这些基本功,程序员还需要懂得如何通过Docker或虚拟机来创建完善的、运行良好的独立开发环境;以及熟练操作版本控制系统,以便可靠地生成备份和可共享的协作代码库,来根据时间追踪代码变化。
云端/Cloud
除了物理服务器与虚拟服务器外,全栈工程师还需要了解云端,例如Google Cloud、Azure、AWS等。
虽然很多工具或平台可能不会立即应用,但长远看来,熟悉每个人都在讨论的服务可能会派上大用途,客户可能随时要求更换服务端,所以需要早做准备。
后端/Back-end
除了需懂得选择哪种语言,还应该熟悉:
与运维紧密相关的Web服务器,如Nginx和Apache
NodeJS会将JavaScript,CSS编译为静态文件,用PHP可以避免NodeJS的问题
依赖管理工具的使用,比如PHP中的Composer
良好的API设计,当前大多数网站是基于API的,很少有独立的前端交互
对性能提高非常重要的搜索引擎使用
用Gearman类工具,Crunz等库进行Cronjobs及后台作业
缓存技术非常重要,使用Varnish,Redis或其他工具分片存储数据
数据库/Database
除了需掌握架构稳定的关系型数据库,如MySQL , PostgreSQL,一个全栈工程师还应该对非关系型数据库熟练应用,如MongoDB, Redis, Cassandra,更不用说Neo4j这样的图形数据库了。
数据库是在服务器上的,需要全栈工程师的控制,同时也存在远程解决方案,比如Mongo类的RestDB或Google的Firebase等。
前端/Front-end
说到前端,技术栈可能比较混乱。
作为一个全栈工程师,你需要了解:
NodeJS 和 NPM
Yarn
预处理器和编译器(如Babel),用来编译 Typescript, ES6, LESS, SCSS, SaSS
构建和任务执行工具,如 Grunt 和 Gulp
框架,如 VueJS、React、Angular
模块打包工具,如 Webpack、Browserify、Rollup
设计/Design
开发者需要知道产品在转为可用的HTML、CSS代码前应如何画原型,然后用JavaScript进行交互,在后端用虚拟数据做模拟测试,只有当原型图完成,用户体验和交互界面设计完成,产品才可以开始真正的开发。所以设计本身就是非常巨大的挑战,需要使用一套特殊工具:
Photoshop ,Illustrator或一些开源工具如 Gimp , Inkscape等。
好用、快速的编辑器,比如 Atom 或 Sublime Text
背景选择器, 如Subtlepatterns和匹配颜色的颜色选择器
CSS的栅格系统
用于JavaScript模拟的相关知识
把原型图放到网上供用户查看和反馈的方式,比如Ngrok
日志
为了有效的监控应用的健康度,开发者需要追踪错误,找到这些日志并找出其中有价值的信息,还需要预测一些趋势,比如需要注意CPU及I/O占用率的上涨,以防服务器突然崩溃。这些和运维有一定联系,也需要掌握更多专门的技能
移动端
最后说到移动端,随着 iOS 和安卓的webview变得越来越高效,以及PWA(渐进式web应用) 的到来,原本的应用逐渐不再流行,因为他们开发起来过于复杂。所以一个全栈工程师必须了解 PWA 或 React Native,或NativeScript、Tabris、Cordova、Phonegap等好技术开发出基于API的客户端。
看完上述技能要求,全栈工程师是否仍然吸引着你?
需要注意的是其实大多数全栈工程师并不是精通所有技术,也会在某些方面有所偏重,毕竟每个人的时间与精力都是有限的。全栈开发工作可能无法使人成为某一领域的专家,但却能让人很好的了解整个产品流程、项目需要的全部技术、以及对项目有更高层面的理解。
全栈工程师可能不是一个“JavaScript 巨星”,“Elasticsearch 黑马”,“MySQL 大师”,“运维狂人”,或者“移动端老司机”,但可以测试应用到不同的技术,为产品提供与众不同的解决方案,成为不可缺少的统帅人才。
想要成为全栈软件工程师?
BitTiger带你学习全栈所需的所有技能。
Less Time, Better Job!
BitTiger全栈软件工程师直通车——第五期
招生通道正式开启
课程目标
3个月成为全栈软件工程师,由内而外冲击Google、Facebook等一线公司高薪offer。
课程内容
高强度专业培训
第一阶段:Collaborative Online Judge System项目强化训练
阶段目标:
亲自实现类Google Doc在线协作编程、LeetCode代码自动测试系统。
第二阶段:“今日头条”新闻挖掘与推荐系统项目强化训练
阶段目标:
亲自实现新闻服务的Web 前端与后端,健全的数据采集系统,机器学习离线训练与线上预测系统。
第三阶段 : Capstone个性化实战项目
阶段目标:
基于两个项目的理论与实战,从实际企业级需求出发,按照真实工作的流程,进行系统设计、技术栈选型、模块组织,并搭建一个完整全栈系统。学员将基于适合自己的Track,在导师的指导下完成各自的项目,参考项目题目如下:
Collaborative Online Judge System 项目扩展
今日头条”项目扩展
即时通信系统
爬虫采集与机器学习
项目成果展示
邀请来自硅谷一线公司参与学员的Capstone项目展示,并对项目进行评估,为学员的求职之路提供最强助力,更有直接获得Onsite的机会。
强大内部学习资源库
课程期间随时访问太阁精心总结的海量视频:
全套基础知识视频:JavaScript、Java、Python、算法设计、系统设计、OOD
全套硅谷之路视频:深入浅出解读硅谷前沿技术
全套面试指导视频:职场面试老司机为你梳理如何应对技术与非技术面试
太阁精心总结的面经:来自太阁学员们的一手经验
Code Lab
个性化LiveCoding指导
项目功能延展
即时答疑解惑
个性化学员成长档案
摸底评估、全程跟踪
个性化学习指导
就业面试实战辅导
强大面试指导
100道Full-Stack面试真题讲解
面试流程和必备知识技能解析
针对学员的情况提供专属简历修改
优秀学员有效内推
真实模拟面试
1对1面试情景还原
Flag面试全真模拟
课程组
Mao Chan
Senior Software Engineer @ Google
毕业于CMU,目前在Google Ads team担任senior software engineer
Payson Wu
Front-end Engineer @Microsoft, MMath
就职于Microsoft,五年全栈开发经验
Zhe Wang
Full-stack Tech Lead,PhD
CS PhD 研究方向分布式系统容错与安全, 现在硅谷大数据公司担任软件工程师, Apache Ambari Project Committer。
Thomas
Senior Software Engineer and Architect
有多年高流量,大容量,低延时系统的架构设计,研发及运营经验。曾主导开发多个大型在线系统,包括大型房地产经纪系统及网络搜索、在线广告系统。
Bob
Software Engineer @ FLAG
毕业于Carnegie Mellon University,在校期间因为能力出众而导致总是有一堆人围着帮忙求debug所以是名副其实的技术帝,擅长machine learning,cloud computing,distributed systems。目前就职于硅谷的FLAG之一,工作表现非常出众。
报名第一节公开课(免费)
或查看课程详情
第一节课时间
美西时间:11月11日 7pm
美东时间:11月11日 10pm
北京时间:11月12日 10am
1. 复制链接或点击“阅读原文”
https://www.bittiger.io/livecourses/QZvpMfkmTzzikrKBx
2. 点击“第一节课报名(Free Lecture)”即可报名
课程咨询及求职相关问题
1. 复制链接或点击“阅读原文”
https://www.bittiger.io/livecourses/QZvpMfkmTzzikrKBx
2. 点击“课程咨询(Class Consultation)”即可报名
课程组老师会在收到简历后24小时内进行简历背景评估,并电话回访,帮你做职业指导及解答你对课程的相关问题。
查看课程大纲,公众号后台回复“CS503”
联系课程负责人Angela,备注“全栈课程”
若你在求职SDE的过程当中遇到了问题,我们的Career Advisor教师组一直在这里,随时帮助同学们分析问题、拆解问题、提供解决方案。
往期学员评价
非常感谢YiChi老师和Mao老师的指导,无论是知识方面,还是coding实战方面,都学到很多,两位老师,还有Payson老师都辛苦啦!
——程同学
感谢几位老师的倾情教学!这几个月来收获了很多,不仅仅是专业技能。最后capstone表现虽然不好,但是在失败之中也收获了不少。
——张同学
通过payson老师和chan老师的教学,对新的技术和项目架构有了较深的了解。最后周老师的capstone指导提升了我对最近软件项目审查视角
——Shirley同学
最新Offer英雄榜
本文译自:https://www.sitepoint.com/full-stack-developer/