In a recent interview with Saurabh Bhardwaj, a Senior Software Developer at Valuebound, Content Manager Akanksha Mishra discussed a variety of topics related to building growth-oriented teams, technology leadership as a team lead, and more. During the conversation, Saurabh shared his personal experiences and technical challenges, which could serve as inspiration for aspiring software developers.
Team Management as a Team Lead at Valuebound
Q: Can you tell us about your experience as a software developer at Valuebound and how you became a Team Lead?
Saurabh: After joining VB as a senior software developer, I began working with my team immediately. Through hard work and dedication, my seniors and project manager began to trust me more and more. Eventually, they offered me the opportunity to lead a project, and together with my team, we were able to deliver high-quality work to our clients.
My strong leadership skills did not go unnoticed, and the management team recognized my potential. As a result, I was promoted to a leadership position, where I continue to excel in guiding my team toward success.
Q: How do you manage and motivate your team to achieve their goals?
Saurabh: To effectively manage my junior subordinates, I establish both professional and personal connections with them. I prioritize addressing any personal issues that may impact their work. When it comes to assignments, I allow my team to determine their own timelines and level of effort. Honesty is also key - I expect it from my team and make sure to reciprocate in kind.
To ensure my team achieves both their short-term and long-term goals, I guide them towards the right path. I regularly check in with team members to listen to their suggestions and help address any concerns. Additionally, I make sure everyone is compensated fairly based on their bands, which helps maintain motivation and morale.
Project Management: Overcoming Challenges & Navigating Solutions
Q: How do you prioritize tasks and allocate resources to ensure timely delivery of projects?
Saurabh: Our project management systems feature a robust tagging system that allows us and our clients to identify task priorities. Depending on a task's complexity and duration, I may break it down into smaller sub-tasks.
When allocating resources, I prioritize assigning tasks that challenge my team members and help them learn and grow. I also ensure that the difficulty level of the task aligns with their band. If a team member requires assistance, the entire team is always available to provide support.
I firmly believe that the speed of the team is determined by its slowest member. As a result, I prioritize helping all members of the team improve their skills and abilities to ensure that we can continue delivering high-quality work efficiently.
Q: Can you walk us through a recent project you led, highlighting the challenges and how you overcame them?
Saurabh: During my recent oversight of one of the projects for a client, a significant flaw was discovered as we were preparing to deliver the project. I immediately reached out to my team to discuss the issue and the necessary steps to rectify it. Honesty and integrity were vital in this process, and we all acknowledged that we may have missed something in the beginning. We worked collaboratively to fix the issue and successfully delivered the project on time. The success of this effort was a testament to our team's cohesion and management.
We took this experience as a learning opportunity and identified areas where we missed important details. We made sure to avoid making the same mistakes in future projects by creating more robust architecture and development plans. We were able to complete the next project well before the deadline.
When I reported the flaw in the project to my seniors, they were supportive and encouraged me to find a solution. Their motivation helped me to remain focused on finding a solution and addressing the issue with my team.
WebRTC Project Success
Q: Can you provide an overview of the WebRTC project you successfully worked on? What were the main goals and objectives of the project, and how did you ensure they were met?
Saurabh: We recently received a client request to enable one-way audio, video, and screen broadcasting from teachers to students. Our primary challenge was to ensure scalability, reliability, and cost-effectiveness of the project.
To address these challenges, we developed a custom, reliable, and cost-effective solution using Mediasoup media servers. This technology is based on webRTC, but designed for larger-scale applications that require higher scalability and reliability.
To implement the project, we used different technology stacks. Our primary application was built in Drupal, while the teacher's side was developed using React JS for better performance. The media servers were built entirely in Node JS. Overall, this approach proved successful in meeting the client's requirements and ensuring a reliable, scalable, and cost-effective solution.
Q: How did you approach testing and debugging for the WebRTC project? What tools and technologies did you use to develop the WebRTC project?
Saurabh: To test the webRTC feature, we initially explored several vendors who offered testing services for webRTC. However, we found that their services were quite expensive. To overcome this challenge, we decided to write our own automated test scripts using Java for all leading browsers.
The results of our testing were extremely satisfying. With our own test scripts, we were able to test for up to 2000 concurrent users at a given time, and without incurring the high costs of external vendors. Overall, this approach allowed us to thoroughly test our webRTC feature and ensure its reliability and scalability.
Q: How did you ensure the WebRTC project was scalable and able to handle large amounts of traffic?
Saurabh: Since we were using a custom-built media server solution, we were confident that we could scale the application to meet our needs. Scaling the application simply requires choosing hardware that can support the increased demand. The larger and more powerful the hardware we use, the more capable our application becomes. With this level of control over our hardware, we are able to ensure that our application can handle any level of demand with ease.
Q: Can you share any best practices or tips for others who are working on WebRTC projects?
Saurabh: Open source media server libraries are becoming increasingly popular in the market due to their ease of implementation and well-documented functionalities. We used MediaSoup, an open source media server library, for our application and found it to be a great tool for developing cost-effective solutions for clients. Not only do these libraries provide cost-effective solutions, but they also provide ample opportunities to learn while developing such applications.
Tips and Suggestions for Aspiring Software Developers
Q: How do you stay up-to-date with the latest software development trends and technologies?
Saurabh: To remain current with the latest technologies, I consistently follow numerous technical blogs and engage in healthy discussions with my team. Recently, I initiated a program wherein each team member is encouraged to learn something new every week and share it with the rest of the team. This initiative has been beneficial in keeping the entire team up-to-date with emerging technologies and trends.
Q: What advice would you give to aspiring software developers looking to become Team Leads?
Saurabh: I continually strive to become a better team lead, and I believe that honesty is key to achieving this. I maintain transparency with my team and treat all members with respect, ensuring that everyone is treated equally.
I make an effort to listen to the concerns of my team members and assist them in resolving any issues, whenever possible. Regular follow-ups are part of my management style, ensuring that team members remain on track and avoid delays. Proactively identifying potential roadblocks that may impact their work is also something that I prioritize, working to prevent potential issues before they arise.
Saurabh Bhardwaj, a Senior Software Developer at Valuebound, shared valuable insights on building growth-oriented teams and overcoming technical challenges. It's clear that Valuebound's culture values employee development and innovation. If you're interested in learning more about the company's culture and reading more interviews with employees, check out our website.