In today’s podcast, I am very excited to introduce you to our guest who is from Finland and building technology for world’s largest social learning community, and he is Sergey Gerasimenko. Sergey is currently playing his role as VP Engineering at Brainly.
Brainly is the world’s largest social learning community for Middle School, High School, and College students, as well as teachers, parents and other educators. Brainly is a free Q&A website customized for each country of operation. Brainly’s goal is to inspire students to learn within a collaborative environment and expand their knowledge by focusing primarily on homework help. Brainly users come from over 35 countries, and the total monthly active users are more the 100 million, and over 100,000 questions are being answered daily. This presents unique engineering challenges which Sergey and his team take care of.
Sergey is expert in scaling technology and building great products, Sergey has managed the whole life-cycle of innovation from Ideation to Implementation to Commercialization; he built and managed Product and engineering teams in various cutting-edge technologies.
Sergey has done his MSC, Computer Science in Mobile computing, services, and security from Aalto University.
While talking to Sergey we had many interesting learnings, here are some Sergey’s wisdom of thoughts:
- Sergey shares a wonderful learning which he realized during his career journey that If you start something then you have to have a clear objective and criteria about at what point you need to stop pursuing some particular idea, you must have absolutely clear understanding that you tried something but if it’s not working out as per the plan then you have to have the courage to pull it down and move on to something better.
- When you build a product and if your team consists of all engineers then its very important to put your energy on both engineering as well as towards business side. Generally, engineers know how to build a product but they lack when it time to sell it to the real market.
- VP Engineering role is all about making sure that each member of your team is successful and together we achieving the common goal.
- CTO of any organization needs to be highly technological inclined they need to have a clear understanding of architectures, technology stack, processes, they need to have a clear understanding on how they going to do R&D, and how they adopt new technology.
- If your team member constantly doing multitasking and they keep switching their task then they will lose a lot of their time because they constantly shifting their focus.
- Sergey recommends a book named Drive by Daniel H. Pink, it’s a great resource to learn how you can motivate your team and can set right sense of purpose.
- Brainly uses KPIs and OKRs to effectively drive the team to build the product towards Brainly’s mission.
- Brainly’s Technology Stack: Brainly is a 7-year-old company and expanded to various countries, so initially Brainly was a simple php based monolithic application, but as we grow bigger, we have changed and evolved our technology stack continuously. Brainly has now moved to microservices based architecture, although we are just halfway and right now we have a strategy that we move all those elements to microservices which are used more frequently and all the new feature we build should go to microservices architecture. From general architecture perspective we still used a popular three-tier layer architecture that there is an application layer, then you have business logic and finally, you have a data storage. And microservices fit into this architecture perfectly with only one addition.
- We have a centralised messaging system so all the communication between legacy system and new product features go though RabbitMQ.
- From programming languages perspective, Brainly has experimented many different languages and from last year we have decided to go with Python and Go as our main programming language. If the task requires high scalability then we tried to write it down in Go and if it needs to do some machine learning and operate with data and do with some data manipulation then we use Python.
- For scale we have migrated from a dedicated infrastructure to AWS. Right now we have several dedicated instances, and we use a lot of AWS services to maintain scalability like an Elastic load balancer, Cache services, Relational database services etc.
- Brainly has very stong processes for continuous delivery and Brainly do 30 to 40 releases every day.
- Brainly has a very interesting hiring process, it starts with HR guys, they talk to the candidate, they tell them about Brainly and its mission, then a team member from Brainly’s from mid or higher management talks to candidate and assess them for cultural fit and then there is short half an hour of technical interview. If the candidate fits in from both technical and culture perspective then Brainly’s team invite them for a one or two day event which they called Demo day where candidate has to work on actual task from the backlog along with the team and that’s how Brainly make sure that the candidate is a perfect fit for the company.
- When we hire at Brainly we are not really looking for a person with incredible achievement in the past, we also try to hire for the potential and not only for the past achievement.
And there is much more learning for more details please listen to the above podcast.
If you have any questions, suggestions, feedback or ideas, please feel free to write in comment section below or directly connect with me on my LinkedIn here https://www.linkedin.com/in/lovechopra/