Designing functional teams is an integral part of any organization. But just because they work, doesn’t mean they are agile. Our Bright-Ones really know their stuff when it comes to setting up such agile tech and teams. We have one such leader, Deepak, who is the Head of Front-end Engineering at Bright, talking about his journey...
Deepak, your career has mainly been with consumer companies. Why do you like building consumer tech products? Why is it so cool?
I've worked in multiple companies, service based, ecommerce and many B2Cs, but when you work in consumer-based companies, you can see the intensity of disruption in human generations while moving ahead with the latest technology and automation.
When you see customers engage with your product so closely, you become more creative. You do research and development into the various possibilities and problem-solve them. The underlying motivation for me is the decision-making processes towards the journey of finding the product market fit and the time it takes to convert and to scale.
What are some of the unique challenges for front-end teams when building consumer technology?
With a phone in hand, laptop in bag and earbuds in place, the typical user today quickly scans multiple sites on a daily basis. If your site takes too long to load or if it is not mobile friendly lacking a good UX, your visitor is gone. It is that easy to lose a consumer.
That drives one into thinking about who you are building for, whether or not you have employed the right framework, how well your codebase has been organized and if your UI pixel actually hits the mark and is user-friendly.
For us at Bright, it was more vital to consider all possible end users and to handle all the edge cases since day 1, because although your backbone (i.e. backend system) has to evolve, your front-end is the actual face of the product.”
You need to conduct hundreds of experiments. The front-end team has to build a system to plug-in and plug-out new features every day. The front-end industry has just started evolving in the last few years and finding capable front-end engineers has become a difficult task.
Why is it important to have an agile front-end architecture? What does this mean?
An agile front-end architecture is necessary to build a product from scratch. The process is time-consuming and hence, it is important to have a methodology that accounts for fast adaptation and continuous releases with quality control. Agile architecture promises rapid software development and high adaptability to changes in the requirements. In our ever-changing world, this is most crucial.
What are the key principles that you have to apply as you are designing this for Bright?
To achieve what we have today, we applied multiple principles. We always follow the design pattern, problem solve, plan and own our task till it gets stable in production. We divide the problem into small chunks and solve it.
Particularly with the front-end, we divide UI into smaller chunks following the Single Responsibility Principle (SRP) wherein every piece of code should be generic enough to adapt to quick changes, fallback cases are handled efficiently, team members adhere to coding guidelines and we capture data wherever possible.
How can Data Science and Machine Learning be involved in front-end development and for agile front-end development?
Data is the key to success for a startup as it is important to learn about a user. How the product is created and presented is key because that affects how the customer uses it. Determining the usefulness of a product is imperative.
Data science helps us find patterns and to get accurate customer data. Our predictions help customers pay down their debt quickly and with ease. Capturing users’ data on the front-end is necessary because it helps in multiple data reporting, business intelligence and decision-making required for qualitative analysis.
What have you learned as a Leader who has grown a front-end team from scratch at Bright within one year?
The product-building journey has taught me how to be deterministic and calm at the same time. I have developed the capacity to distinguish persistence from stubbornness, admit mistakes and know how to redefine goals and strategies.
Additionally, the ability to influence people for the execution of tasks or actions that enable the achievement of their individual goals has also come in handy when it comes to the efforts put in to convince and motivate a team.
What advice do you have for other front-end leaders who might just be getting started in a young consumer company?
The advice is simple. Focus on getting output even after multiple failures. Always discuss solutions in a problem-solving session, not just what defines the problem. To be a good team leader, you have to be a valuable team member and colleague first.
Always ask questions to your team, dig deep into the problems and jointly problem-solve on architectural issues - it serves as a great bonding opportunity. Make sure you really listen to what each team member has to say. What you should be going for is a friendly team that fears bad output, not you.
Appreciation goes a long way. Find newer ways to recognise your team and their effort. On a personal level, remember that big achievements come with a sacrifice, and never shy away from an opportunity to give it your all!