理解软件行业职位的职责

对于职位的一些个人看法 .......

目录

1.初级程序员(PG )

2.中级程序员(SE)

3. 高级程序员(SSE)

4.技术经理(TL)

5.技术总监(VP)

6. 首席技术官(CTO)

7. 架构师,软件架构师(SA)


1.初级程序员(PG )

也叫Junior Programer ,初级程序员的主要职责

  • 能独立完成一些简单编码任务,如功能开发,接口开发
  • 能在指导下能够承担一些比较复杂的设计任务或者开发任务

走出校园后的三年是程序员的门槛, 这个阶段会淘汰一些不适合写代码的人,以及一些迷茫过后不愿意在此行业发展的人。 在这个阶段,开始知道如何团队协作;在这个阶段,开始了解软件工程并参与其中;在这个阶段,开始养成自己的编码习惯和处理问题的思维以及方式;在这个阶段,积累大量的开发经验。在这个阶段培养员工会花费很大代价,因此很多公司更愿意直接招募有2-3年工作经验的开发人员

2.中级程序员(SE)

也叫 Software Engineer ,中级程序员的主要职责

  • 独立完成需求拆分,程序设计,编码实现,程序测试,线上部署等工作
  • 能够熟练使用常见的技术框架,并应用到项目中

第二个门槛一般是五年。一些人除了完成工作在空余的时间基本不会研究别的东西,这些人年纪大一些就会被更年轻的人替换掉。一些人在三年里处理写代码还研究一些新技术,扩展自己的技术栈。在技术方面可以独挡一面。所以这个阶段重点是坚持学习

3. 高级程序员(SSE)

也叫Senior Software Engineer, 高级程序员的主要职责是:

  • 实现复杂功能,编写核心代码。
  • 处理线上 bug,解决技术难题。完成系统优化
  • 独立完成负责需求拆分,独立完成模块设计系统设计

4.技术经理(TL)

也叫Team Leader 技术经理的主要职责:

  • 人员管理:团队搭建、人员招聘、人员培养。
  • 项目管理:确保项目的按时交付,建立管理机制;
  • 任务管理:开发任务分派。开发工作量评估、分派,最大化资源利用率;
  • 质量管理:代码质量提升。Code Review、编码规范、线上 bug 分析;

核心能力竞争力:

1. 熟悉软件工程:把握软件研发的关键流程例如:需求分析,产品设计,软件研发,产品验收等环节,明确关键的角色为此负责,比如需求分析和产品设计必须经过产品负责人的审查,软件设计,编码和测试必须经过技术负责人和对应模块负责人的审查等等。

2. 提升工作效率:让大量重复性高的环节自动化,包括文档工具,需求卡片的自动化状态流转,选择 IDE 和代码审查工具,构建自动化测试流水线和基础设施等。将重复性高的工作自动化来提升效率。

3.重视代码审查:代码是软件研发环节最核心的交付物,也是工程师之间需要协作的关键之一。作为架构师需要能够发现并且持续优化涉及代码审查的环节,这方面 Google 的代码审查实践给我们提供了非常好的参考。

5.技术总监(VP)

或者叫技术VP (Vice President of Technical ),确保工程团队中的每一个人成功,解决成功过程中遇到的问题,将压力档在技术团队之外, 技术总监的主要职责是:

  • 搭建公司技术平台部,统一技术栈,(之前的空降的一个CTO并不支持统一技术栈,并砍掉了相关的计划,我不太理解,如果看到文章的你了解原因,请帮我解惑)
  • 建立产品研发体系,让技术团队可持续性地快速交付;
  • 管理和协调多条产品线,打造明星产品;
  • 建立技术壁垒,形成技术竞争力;
  • 财务管理:人员投入,原生设计, 设备等项目费用,
  • 战略发展:CETO ,市场VP等其他人员沟通讨论战略

几点核心能力:

1.理解业务:技术的核心是为了让业务获得成功,架构是技术的核心之一,所以架构师一定要加强对业务的深入理解,了解业务的痛点,偏向业务的架构师甚至能够预测业务的发展趋势,提前在业务需要的技术方向进行适当的准备。

2.提炼需求:很多时候用户提出的需求未必是真正的需求。面对需求,要养成多思考的习惯。思考需求的场景是什么,思考需求背后需要解决的问题是什么,来帮助我们识别并解决真正的需求。

6. 首席技术官(CTO)

CTO(Chief Technology Officer) 的主要职责是:

  • 技术赋能商业。敏锐的商业洞察、深入的产业研究、参与公司战略规划,技术引领业务增长,通过技术和产品实现战略落地。
  • 技术趋势研究。思考未来 3~5 年的技术发展趋势,以及新技术发展给企业带来的机遇和风险,为企业提前布局。
  • 技术治理体系。持续的过程改进、高效的研发流程、稳定的交付质量、高可用的系统。
  • 组织与文化。建设学习型组织、自我完善型组织,建立符合企业特色的文化氛围。
  • 技术愿景:规划技术愿景

7. 架构师,软件架构师(SA)

Software Architect软件架构师的主要职责是:

  • 业务架构设计和实现。根据业务规划和应用场景,设计切合当前业务要求,并且具备一定前瞻性的应用架构、类、接口、业务抽象及业务建模等。
  • 架构设计和实现。识别非功能性需求,如性能、可扩展性、安全性、高可用及易部署等。
  • 系统重构设计


上一篇:Intellij IDEA 双击启动报错ClassNotFoundException

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66652.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac 卸载appium

安装了最新版的appium 2.0.1,使用中各种问题,卡顿....,最终决定回退的。记录下卸载的过程 1.打开终端应用程序 2.卸载全局安装的 Appium 运行以下命令以卸载全局安装的 Appium: npm uninstall -g appium 出现报错:Error: EACCES: permiss…

[保研/考研机试] KY135 又一版 A+B 浙江大学复试上机题 C++实现

题目链接&#xff1a; KY135 又一版 AB https://www.nowcoder.com/share/jump/437195121691736185698 描述 输入两个不超过整型定义的非负10进制整数A和B(<231-1)&#xff0c;输出AB的m (1 < m <10)进制数。 输入描述&#xff1a; 输入格式&#xff1a;测试输入包…

10.Eclipse配置Tomcat详细教程、如何使用Eclipse+tomcat创建并运行web项目

一、Tomcat的下载官网 -> 进入官网显示如图所示的界面&#xff0c;在下下载的是Tomcat9.0版本&#xff0c;你可以自己选一款 点击然后进入下面这个界面 最好是在你的D盘建立一个文件夹&#xff0c;把它解压在里面&#xff0c;文件夹名自己来吧&#xff0c;自己能知道里面装…

SpringBoot复习(39)Servlet容器的自动配置原理

Servlet容器自动配置类为ServletWebServerFactoryAutoConfiguration 可以看到通过Import注解导入了三个配置类&#xff1a; 通过这个这三个配置类可以看出&#xff0c;它们都使用了ConditionalOnClass注解&#xff0c;当类路径存在tomcat相关的类时&#xff0c;会配置一个T…

c高级:day4

1.思维导图 2.shell函数获取uid和gid&#xff0c;并用变量接 #!/bin/bashfunction fun() {read -p "输入用户名" necho uid:id -u $necho gid:id -g $n } afun echo $a3.冒泡、选择和快排代码整理 /**************************************************************…

湖南大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 24计算机考研|上岸指南 湖南大学 湖南大学计算机考研招生学院是信息科学与工程学院。目前均已出拟录取名单。 湖南大学信息科学与工程学院内设国家示范性软件学院、国家保密学院和湘江人工智能学院&#xff0c;计算机…

SyntaxError: Cannot use import statement outside a module

node环境运行报错&#xff1a; 解决步骤&#xff1a; 1. npm init -y 2. 在 package.json 文件中加入一条&#xff1a;"type": "module", 3. 保存后再执行即可 附&#xff1a;最好是不要在node用import&#xff0c;否则需要上次配置 建议1&#xff1a;用re…

Android Studio实现图形验证码

源代码 源代码MainActivity 效果图32行需要修改&#xff0c;不修改会报错&#xff1a;需要常量表达式&#xff0c;我的代码已修改 点击后 MainActivity import static com.example.graphicverificationcode.RxCaptcha.TYPE.NUMBER;import android.annotation.SuppressLint; …

使用mybatis-plus的updateById方法更新一个numeric(1)类型字段,sql成功执行,但是updates为0,更新失败的解决办法

使用mybatis-plus的updateById方法更新一个numeric(1)类型字段&#xff0c;sql成功执行&#xff0c;但是updates为0&#xff0c;更新失败的解决办法&#xff1a; 背景&#xff1a;我有一张表&#xff0c;有个启用禁用功能&#xff0c;没有放在编辑页面一起编辑保存&#xff0c;…

什么是响应式设计?列举几种实现响应式设计的方法。

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是响应式设计&#xff1f;⭐ 实现响应式设计的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏…

SQL | 使用函数处理数据

8-使用函数处理数据 8.1-函数 SQL可以用函数来处理数据。函数一般是在数据上执行的&#xff0c;为数据的转换和处理提供了方便。 8.1.1 函数带来的问题 每种DBMS都有特定的函数&#xff0c;只有很少一部分函数&#xff0c;是被所有主要的DBMS等同的支持。 虽然所有的类型的…

【Axure高保真原型】通过输入框动态控制环形图

今天和大家分享通过输入框动态控制环形图的原型模板&#xff0c;在输入框里维护项目数据&#xff0c;可以自动生成对应的环形图&#xff0c;鼠标移入对应扇形&#xff0c;可以查看对应数据。使用也非常方便&#xff0c;只需要修改输入框里的数据&#xff0c;或者复制粘贴文本&a…