How Big Tech Companies Structure Their Team of Engineers

New

How Big Tech Companies Structure Their Team of Engineers

KSP (Knowledge Sharing Program) Season 11 Episode 5 this time took place online on November 17, 2021. This seminar was presented by Robert Tirtasentana who is currently working at Afterpay because he wanted to share about "How Big Tech Companies Structure Their Team of Engineers". He is an alumnus of the Integrated Science and Technology Institute (ISTTS) in collaboration with Swinburne University. It didn't stop there, he studied Computer Science at RMIT University and took an Honors Degree.

After completing his education at Swinburne, Robert started his career at Bluefit company in Australia which is not a technology company, so he is the only IT worker who is responsible for everything including front end, back end, to testing. However, because at that time his supervisor understood that this could not be resolved quickly, a backend employee was added. But for the front end, platform, and dev ops Robert handles all that. But over time this project became bigger and in the meantime he taught at RMIT University for 1 year.

In making a program with the team, Robert formed a develop branch for the initial development process that contained new features. If there are hotfixes (fixed bugs) they will be merged with the master branch first, then the master branch will merge the develop branch. But after some time this strategy doesn't work. Staging must imitate production, so bugs are found during staging.

In the end, he and his colleagues decided to create 3 microservices to overcome the problems that were increasingly emerging. For beginners he recommends working in a small company first in order to master the full end. But in the long term, it is better to be able to change places of work so that knowledge can grow. In addition, without a mentor in a small company, the knowledge gained will be limited because there is no explanation of best practice that should make the process easier. He also said that it is better to do everything completely than to leave tech debt (something unfinished). "Something always goes wrong in tech," he said. With this stigma, he recommends adding an extra 2 weeks to the developer's estimated time when creating programs. Developers also need to limit the client's wishes by reminding them of the MVP (Minimum Viable Product) that has been approved in advance. An MVP that has lots of features but has lots of bugs is no better than features fewer.

Financial Technology or Fintech, which provides online loans, is currently booming in Indonesia. Afterpay is a pioneer company BNPL (Buy Now Pay Later) which in 2014 was on the rise. Within 6 months the company has got an IPO and is growing rapidly with more than 700 employees. This company was acquired by Square for 300 Trillion Rupiah. Square itself is the company that owns social media Twitter, Jack Dorsey.

Square is one company that makes a cash app that uses physical tools such as a swiped credit card to make it easier for small businesses to make pay later payments without a credit card. So what is the team division structure in AfterPay? Based on functionality, it is divided into various divisions as shown below. One of them is the platform division which is often ignored in small-scale companies. This division plays a role in managing AWS infrastructure needs.

Each division will be divided into various pods. The Consumer section is divided into several pods, namely In Store, Servicing, Checkout, and Ecommerce. Inside each pod will be divided into several sub groups. Robert himself is in the Customer Service team whose job is to create a self service system for customers, such as registration and login. Within each team there is an Engineering Manager. Product Manager, QA Engineer and 9 Developers in each team consisting of frontend and backend programmers.

The company is large and a repository can be worked on by 200 developers, so every pull request cannot be pushed outright. Each developer has the right to create their own branch and make pull requests with the permission of 2 reviewers. Engineering Manager will not give a deadline but will be launched every 2 weeks. The methodology used in general is Agile Methodology.

Share