12 Types of Software Engineers
Personal summary from this site:
https://www.indeed.com/career-advice/finding-a-job/types-of-software-engineer
Software engineer vs software developer
- SE:
- applies the principles of engineering to
- design,
- develop,
- maintain,
- test and evaluate computer software
- highly collaborative activity
- requires teamwork skills
- uses components of a hardware system
- to create the tools to develop software
- tends to solve issues on a large scale
- applies the principles of engineering to
- SD:
- builds software that runs across various types of computers
- using finished tools to build apps and write complete programs
- tends to be more solitary
- builds software that runs across various types of computers
Most common careers in the world of software engineering
- Video game designer
- Quality assurance (QA) engineer
- tests, reviews, assesses and writes software to validate the quality of an application
- CRM project manager
- CRM: customer relationship management
- systems that collect user and consumer data, creating programs that gather useful metrics for adjusting the needs of a given program
- improving customer satisfaction or sales
- by optimizing the tools used by customer support and sales representatives
- CRM: customer relationship management
- Software integration engineer
- embedded systems developers
- program hardware like consumer devices, home security alert systems, electronics, interfaces, real-time systems and serial data transmissions
- Security engineer
- "white hat" or "ethical" hackers
- create systems, methods and procedures that test the security of a given software
- to exploit security flaws and discover vulnerabilities
- to fix them before the systems reach the end-user
- Front-end engineer
- web developer
- specializes in the development of user interface ( UI) design
- for the user-facing side of an application or website
- visual design elements, including layout and aesthetics, and a thorough understanding of how people interact with and use computer programs
- UI & UX
- skills: UX and UI frameworks, CSS, JavaScript, HTML
- Full-stack engineer
- fluent in front-end and back-end skills
- to create a fully functional web app, from the front-facing user experience to the complex systems behind it
- skills: UX and UI frameworks, CSS, JavaScript, HTML, Java, C, C++, Ruby, Perl, Python, Scala, Go, Kubernetes, Docker, Apache Mesos, Jenkins, HashiCorp stack (Terraform, Vault, Consul, Nomad)
- 3D Graphics Developer
- create software for rendering, lighting, shadowing, shading and management of scenes
- Data scientist
- data engineer
- develops software programs that analyze information
- statistical analysis, machine learning, data visualization and predictive modeling
- providing an organization with metrics that can help determine how a product will grow to fit the needs of the business
- skills: SQL, R, Python
- Mobile developer
- write code for applications specifically designed to run on mobile devices, such as smartphones and tablets
- DevOps engineer
- development and operations
- to streamline
- product development,
- improvement, and
- maintenance
- to facilitate communication between the development and operations team
- requires familiarity with the processes used by back-end developers
- to build, deploy and integrate across technologies, like cloud computing services
- familiar with cloud storage applications such as OneDrive, GitHub and Amazon Web Services (AWS)
- skills: Kubernetes, Docker, Apache Mesos, Jenkins, HashiCorp stack (Terraform, Vault, Consul, Nomad)
- Back-end engineer
- works within complex systems to create smooth functions behind the user interface
- mainly create and manage databases, integrating data systems, logging systems and caching systems using Application Programming Interfaces (APIs)
- skills: Java, C, C++, Ruby, Perl, Python, Scala, Go