- 论坛徽章:
- 1
|
下述仅是个人观点,欢迎各种拍砖!
1.为什么会出现全栈工程师这个工种?
随着互联网的迅速发展,海量数据处理和大规模数据的到来,以前的单一架构模式(包含所有功能)将离我们越来越远,现在任何一个架构下面的统一接入,负载均衡,缓存,业务解耦,分布式存储,分布式数据库,cdn技术,日志分析处理,持续部署,监控等都需要设计的合理,并且完善,才能保证整个系统的完全稳定和易用,需要达到这种效果,所以必须要对各种不同技术的熟悉,和各种前后端,网络安全工程师的联调等,所以需要有这种全栈工程师,也可以称为架构师。
2.您认为作为全栈工程师,应该掌握什么技能,详细列出。
架构层面:熟悉系统中各个模块的分层结构,相互之间的解耦关系,服务异常处理和服务自动降级方案,容量预算,服务部署和服务监控等。
网络层面:需要熟悉常见的dns解析,cdn技术,负载均衡,流量调度,网络传输,网络安全,iptables等技术
业务层面:需要熟悉业务逻辑,常见算法,编程语言,代码管理和编程规范等
缓存层面:需要熟悉cache层的作用(共享,全量缓存,容灾),常见redis,memcache,mongodb等缓存。
存储层面:需要熟悉常见的分布式文件系统(nfs,moosefs,gfs,fastDFS等)的实现原理和使用场景
数据库层面:需要熟悉常见的数据库(mysql,sqlserver,oracle)的工作机制和使用场景
3.谈谈您对IT行业,特别是程序开发和IT运维行业的技术发展路线的建议。
我个人认为有两种路线:
技术型:最终都是某一技术专一
1):大公司(学习思想和流程)--->小公司(实践自己的思想和流程)--->专注某一技术
2):小公司(实践公司所需所有东西)-->大公司(深化自己之前实践的理解,形成知识体系)--->专注某一技术
管理型:最终管理者或者架构师
|
|