全栈开发工程师
全栈工程师能够完成产品设计,技术选型,架构落地;可以开发前端和后台程序,并部署到生产环境。一人多用,省成本,完全没有多人配合时的工作推诿和沟通不畅等情况发生,这是创业公司找工程师时,全栈工程师是首选的原因。
大互联网公司的系统平台更复杂,需要更多的角色通力协作完成任务。那是不是全栈工程师在大企业就没有存在的必要了呢?当然有必要。大企业需要从全局考虑来做顶层设计,对于做顶层设计的人来说知识面宽尤为重要。这个人可以不是每一个细分领域的专家,但能够与某些领域专家交流畅顺,能够理会对方意思,尽可能地从全局考虑项目的优化设计,这类人是全栈工程师的典型代表。一位互联网全栈工程师需要掌握包括但不限于如下技术。
前端(简单列举):HTML、H5、CSS、JavaScript、React、Vue、Angular、NodeJS、WebSocket、HTTP等。

后台:中间件(Tomcat、Jetty)、消息中间件(Kafka、RabbitMQ、RocketMQ等)、开发框架(Springboot/Cloud、Dubbo等,ORM:Hibernate、MyBatis、Spring JPA等)。
数据库:关系数据库(MySQL、Oracle等)、NoSQL数据库(Redis MongoDB HBase等)。
集成工具:Git、Gitlab、CVS、Jenkins、Sonar、Maven等。
容器及编排工具:Docker、Kubernetes等。
监控工具:Prometheus、Skywalking、Zabbix等。
操作系统:Linux系列(CentOS、Fedora、Debian、Ubuntu之一或者多种)。
如果你是从事大数据方面的开发,还需要掌握的技术如下:Hadoop、Spark、Storm、Flink、Tensorflow、Lucene、Solr、ElasticSearc、Hive/Impala等。当然,你还要熟悉各种算法、统计方法,数学等。