Skip to main content

Career in software engineering : Roles to know

when someone starts a career in software engineering there are plenty of options. Although most graduates have the same degree, everyone starts in a different role.


  • Developer / Coder - Engineers in this role get a chance to actually implement and write software. At the start of a career mostly it is about fixing defects in existing software then taking small changes to the software and eventually getting to the point to handle and implement more complex changes. 

  • Quality analysts / Quality engineers - Engineers in this role test and automate software. This is a challenging role where one has to know about the full functionality of the software and test accurately so the software built is of high quality. This role also involves the automation of test cases and preparing a test suite that can be run and detect issues automatically.

  • Release Engineers - Once the software is built and tested release engineers are responsible for pushing a set of code to production. A production is a place where actual software resides. Most of the time they also write code to build pipelines and flows which takes of whole process in just a click. Release engineers are responsible for tagging/versioning and making sure all changes are in for the software.

  • Production support - Once software is in production it is ready for use by end customers. End customers can face issues with the software or can face issues with the environment where the software is running. Production support engineers make sure all environments are up. They address issues based on the severity of the problem. They are the first point of contact for any troubleshooting. There are several categories in prod support as well where Database admins , Web admins , Infra admins, and other technical support people work together on solving real-time issues. If everyone is facing issues there can be also problems with code where defects are raised and fixed.

There are other important roles as well that go along with the above roles.

  • Product Owners:- Responsible for setting up the product/software. They are responsible for prioritizing features and new functionality of software.

  • Product managers:- Product managers handle the whole team who works on the software. In this role managers continuously work with product owners and teams to complete features on time. They take care of budgets, team members count, capacity planning, and collaboration with other teams on timelines.

  • Software architect:- Mostly responsible for design of the product/software. This role deals with the implementation at higher level. This role involves with working with product owner , product manager and team for challenges and implementations.Architect also involes with other architects of the product in reaching to the common design and common technologies. Architect create dependencies and feature requirements with other teams. Architect is go to go person for the team for any challenges and technical answers.

  • Scrum master :- In agile scrum master is responsible for scheduling meetings , working on the timelines , taking scrums , planning  and refinement meetings.
In some projects we have other roles like where each role carry  broader set of tasks

  • Devops engineer :- This role inline with release engineer role but does lot of other operations in today's cloud world.

  • Data engineers :- This role starts picking up with more data involved in the software systems. They are responsible for writing code on collecting , cleaning , analysing and extracting data. They also involve in building dasboards for analysis and showcase to business team. With AI/ ML coming into picture they are also responsible for building models and algorithms for predictive analysis.

  • Database engineers:- Now a days developers do these tasks as well but in some software where database is large and require focus there are set of people who work on schema designing , data partioning ,backup , recovery , mitigation and maintaing database systems.

  • UI/UX engineers :- They are responsible for building User interface for the software. now a days most of the time developers directly work with UX team in implementing user interfaces.

Comments

.

Popular posts from this blog

Solved: com.microsoft.sqlserver.jdbc.SQLServerException: The index 1 is out of range.

This error usually comes when we try to insert data in a query where there is no index defined for it. Example :- String strQuery=“select * from location where city_id=? ”; The question mark will be the the first index if we want to insert data so if we call a function like- oPreparedStatement = oConnection.prepareStatement(strQuery); oPreparedStatement.setString(1,235); here we are sending 235 as a first parameter so it will work fine but as soon as we write something after it like oPreparedStatement.setString(2,”kanpur”) then it will throw “The index 2 is out of range” since there is no place to send this value in a query hence it will throw the same error. Here index defines the parameter for which there is no place in the query. To rectify this we need to write query like- String strQuery=“select * from location where city_id=? And city_name=? ”; then it will work fine. The cases in which these errors can occur is- 1)Query is co