6. Teams
.
Engineer or Developer (they’re interchangeable).
Levels of experience:
Junior, regular or just developer, and senior. Staff and principal engineer. Analysts and Architects do a more specific work and are IC (individual contributors). They write code or work by themselves and don’t manage other people’s work. Sometimes you have an IC that is a team leader but they’re not responsible for the work other people in that team do.
.
Management Track:
Standard Manager, Senior Manager, Director, VP (vice president).
C-Suite:
Chief Executive Officer (CEO)
Chief Financial Officer (CFO)
Chief Marketing Officer (CMO)
Chief Technology Officer (CTO)
Chief Information Officer (CIO)
Chief Product Officer (CPO)
.
Departments:
Engineering + Product **
Sales, Marketing and Finance.
IT: Solutions for the inside of the company.
Data Science
Operations
DevOps: Developers and operators (they know the code and the infrastructure it runs on) and that uses code to manage that infrastructure.
SRE (Site Reliability Engineer) Google and Facebook tend to use these names.
.
Team / squad: Sometimes you do pairing (two people collaborate on the same code and computer, it helps create code with fewer errors).
When the code is ready you ship/deploy it to production.
.
All of these tend to use methodologies in the Agile world. Things like Scrum where you have Standup meetings, and you discuss your Requirements and the Deliverables you’re gonna bring to the customer.
Sprints: small periods of time. Things that don’t go in the current sprint tend to be put in the Backlog or the Icebox.
.
To try to figure out how long it will take to build a feature, you play Points Poker** or Estimation Poker and you put all that information in tools like Trello Board, Jira by Asana or Monday.
.
Tests:
Unit test: for small pieces of code.
Integration test: test parts of the code of different systems working together.
Smoke test: make sure you code doesn’t have obvious mistakes when put into production.
End-to-end test: test your code from the end user to the back end.
All of this is known as QA (quality assurance). Some companies do it all the time. Every time you commit something to your repository using tools that provide CI (continuous integration).
Other companies want developers to write the test before they write the code which is known as TDD (test driven development).
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?