return to overview

Tech Industry Roles

Listed below are a few popular jobs in the tech industry.

Software Engineer vs. Software Developer

I try to capture the specifics below, but here is a phenomenal professionally written article that really captures the differnece between the two, and explains what software engineers and developers do, how much they earn, what skills are needed to become a software developer, and how to hire them - check it out here!

Software Engineer

A software engineer is someone who applies the principles of software engineering to the design, development, maintenance, testing, and evaluation of computer software. These principles1 are as follows:

  1. Separation of Concerns
  2. Modularity
  3. Abstraction
  4. Anticipation of Change
  5. Generality
  6. Incremental Development
  7. Consistency

Microsoft Program Manager

Program management is a role coined by Microsoft that sites alongside the Engineering Lead role to form a “Duo” in company terminology. This duo works toegether to ensure the team’s vision receives support from the highest levels of executive leadership. Additionally, they obtain resources to enable teams to implement their vision and achieve great success in the developmental stage.

Product Manager

A product manager communicates the vision of the product from top-level executives to the development and implementation teams.ms

Software Developer

Software development is different from software engineering in that it deals with the theoretical design of the product. Software developers work with clients to create an outline of what the latter wants2. A separate team of programmers then creates the product.

Data Scientist

A data scientist analyzes and intreprets complex digital data, such as the usage statistics of a website. Patterns can be extracted from this data. Data science can assist businesses in their decision-making (e.g. deciding which features to improve).

Technical Product Manager (PM)

Technical product managers bring a deep technical expertise to their role, but still focus on the core practices3 of product management:

  1. Understanding company goals
  2. Interacting with customers
  3. Utilizing the knowledge of your sales and support teams
  4. Using (and getting familiar with) the product
  5. Analyzing similar and relevant products
  6. “Plan, Execute, Iterate”
  7. Connect with fellow PMs to stay up-to-date

If the company is tri-structured, technical product managers sit between the head Project Manager and the Engineering Lead

References

  1. Principles of Software Engineering by the University of Minnesota, Duluth
  2. What is the Difference Between Software Engineering and Software Development?
  3. 7 Product Management Best Practices for Beginner PMs by Emily Bonnie

return to overview