现在的软件开发岗位分哪几类,它们之间又有什么区别和联系?
现在市场上的软件开发主要分为前端开发工程师、后端开发工程师、测试开发工程师、数据分析工程师、算法工程师、运维工程师。当然还有一些嵌入式和网络安全相关的岗位等等。想问下这些岗位之间有什么区别和联系?
单纯从开发上讲,大致分为了前端开发,后端开发
这里包含了UI设计(单独拿出来分类也可以,毕竟抠图,调样式,改效果也是很费劲的)
这里分为了 后端开发 和 数据库开发 (这里的数据库开发指的是专业人员,进行数据库设计,存储过程,函数,脚本,数据库优化和问题解决)
算法工程师: 在我看来这是低级程序员进击高级程序员甚至是架构师的必经之路,尤其是在面向业务流程的算法设计上,能大大减少代码量和提高软件执行效率
数据分析工程师: 建数据分析体系,数据分析工具化,产品化,基本都是做大数据的,需要精通大数据库的操作和可以进行数据分析语言,比如Python(实现方式,各个语言都可以,只是那种更简单的问题,勿喷)
嵌入式工程师: 开发一些与硬件关系最密切的最底层软件,技能需要软硬件结合,不仅仅需要软件基础,也需要一定的硬件基础
然后下面就要说的是 测试工程师 ,和 运维工程师 了
简述一下就是: 对软件质量负责,进行各种测试,确保工程交付的准确,确保软件流程安全,编写测试用例,编写性能,自动化测试等
简述就是: 负责服务器的配置,维护,监控,调优,故障排除以及部署方案的制定及实施,哦,还包括数据库管理员(DBA)职能
中小型公司基本都没有的岗位 - -
负责预防网页篡改、计算机病毒、系统非法入侵、数据泄密、网站欺骗、服务瘫痪、漏洞非法利用等信息安全事件