Technology

Exploring Backend Engineering and Digital Inclusion: An Interview with Rinku Mohan, Senior Software Engineer and MSc Candidate

Rinku Mohan

In today’s interview, we’re joined by Rinku Mohan, a Senior Software Engineer with over 7 years of experience in backend development. Rinku’s expertise spans a variety of technologies, with a strong focus on delivering high-quality, scalable software solutions. She is currently doing an MSc in IT from Leeds Beckett University, graduating in 2024. She is also planning to conduct a research based on the topic “The digital exclusion of elderly”. With experience across several prominent organizations like BetterCoach, Ruby Software, and Maxxion Systems, Rinku’s contributions have made a significant impact, both technically and in thought leadership. Today, we’ll explore her career, her research, and her approach to backend engineering.

Interview Questions:

1. You have a fascinating blend of technical expertise and thought leadership. You’re also really interested in researching about the digital inclusion for the elderly. Can you tell us more about how you became interested in this area and its relevance to software engineering?

Answer Here: 

Thank you! My interest in digital inclusion of the elderly started when I saw many older people struggling while using technology. They face many challenges such as health-related issues, age-related limitations, lower income levels, and the need for more expertise in using these devices. It is an important issue that must be addressed because according to my view point, the digital inclusion is not just a goal but it’s a necessity, and everyone, irrespective of their age or social status, should benefit from using these digital devices.

This research connects to software engineering because the main aim of software engineering is to create solutions accessible to people, including older adults. My research will be using different methods of data analysis to find the patterns in digital exclusion and factor analysis to find primary factors causing digital exclusion among older adults. I believe this research will help policymakers formulate better activities that will help elderly people to use technologies. 

This research is also important because it can improve the lives of the older people. It helps them to access important services, make connections and stay independent. I think this research will also inspire better software designs and help policies to make technology more inclusive to everyone.

2. How do you think the tech industry can better support elderly users in terms of accessibility and usability?

Answer Here:

Thank you for asking about it. The technology sector can assist senior users by making technology more approachable, user-friendly, and all-inclusive. Let’s look at some straightforward ways to accomplish this.

Develop applications that are are easy to use.

This means nothing more and nothing less than constructing applications with designs that are simple, intuitive, and almost self-evident in their operation. Added to this is an ever more compelling need for accessibility—in terms of not only the aesthetic aspects of color and typography but also the much-dreaded “usability” realm.

Involve older adults in usability testing. 

When an application is developed, it’s critical to understand if the target users can use it. If you’re not sure older adults can use it, include them in the testing. Something that seems intuitive to you may not be to someone else, especially if the technology is not familiar. 

Use voice and gesture control tools. 

Hearing and seeing technologies like screen readers and text-to-speech can make apps and devices more usable for older adults, especially those with vision problems. But using voice commands to navigate can also make technology easier for everyone to use.

Intersectoral collaboration. 

Partner with community organizations, healthcare professionals, and government agencies to gain a better understanding of the elderly user base and direct problem-solving with them.

 If the tech sector can achieve these outcomes, the result will be an elder-care technology that is even more valuable for older adults.

3. With your experience in backend development, what technologies or frameworks have you found to be most impactful in creating scalable and efficient systems?

Answer Here:

Based on my experience in the backend development, I felt the following technologies and frameworks stand out in building scalable and efficient systems.

  1. Ruby on Rails 

Rails is great for rapid development. The MVC architecture makes it easier to maintain the application clean, efficient and organized. The use of caching, database optimization, and background jobs will help us to build scalable systems to meet the user demands.

  1. Databases

PostgreSQL is efficient while working with relational data and it also supports complex queries which is essential to build scalable and data-intensive applications. I’ve extensively used PostgreSQL in multiple projects for ensuring fast and reliable database operations. And Redis (NoSQL) is very useful for caching and temporary storage.

  1. SSO integrations

I’ve integrated SSO with several providers like Okta, AzureAD, NetIQ, Onelogin and Keyclock to enhance the user experience as well as security. The SSO integrations can streamline the authentication process, making it easier to create user-friendly and scalable systems for enterprises.

  1. API development

The REST APIs ensures seamless communication between different services which also provides system scalability and flexibility. GraphQL can be used to address the challenges in fetching data while working with complex applications. Through these APIs, I have implemented smooth data exchange in systems like online doctor consultation app, vending machine app, and the enterprise level integrations, making the system more efficient and user friendly.

  1. DevOps Tools

The cloud services like AWS and Azure helps in easy scaling by using tools like virtual servers (EC2), managed databases and serverless functions (like AWS Lambda). Using containerization tools such as Docker will enables us to deploy applications consistantly across all environments.

These technologies have helped me to build efficient and scalable systems and also enabled me to overcome the real-world challenges.

4. You’ve worked in various organizations, including BetterCoach, Ruby Software, and Maxxion Systems. How have your roles evolved across these experiences, and what key skills have you developed along the way?

Answer Here:

Working  in various organizations like Bettercoach, Ruby Software, and Maxxion Systems gave me diverse set of experience which shaped my personal and professional growth. 

I started my career as a Trainee Software Engineer at Maxxion Systems Pvt Ltd. I have contributed to smaller features like notifications, and timeline visualization feature for HoshinOnline, which is a strategy implementation tool. Working here helped me to gain many skills:

  • Backend Development: Helped me to get hands-on experience in backend development using Ruby on Rails, PostreSQL, etc.
  • Front-End Development: Worked extensively with the view layer using ERB, HTML5, CSS3, and jQuery, enhancing my skills in creating seamless user interfaces.
  • Problem Solving: Learned to debug and optimize application performance using AJAX-based interactions.
  • Team Collaboration: Worked in a distributed team, honing my ability to align with a shared vision.

When I joined Ruby Software as a Software Engineer, I got the responsibility to manage projects independently starting from requirement analysis to deployment. It helped me to gain various skills like:

  • Backend Development: It enhanced my expertise in Ruby on Rails, especially in designing scalable solutions and integrating third-party tools like Twilio, MSG91, and Unifonic for OTP verification.
  • Client Management: Delivered tailored software solutions to meet specific client requirements, ensuring quality and timeliness.
  • Leadership and Mentoring: Conducted live coding sessions to mentor junior developers, building my ability to share knowledge effectively.

I’ve transitioned into a Senior Software Engineer at Bettercoach, by leading technical projects and collaborating with cross-functional teams to deliver high-quality solutions. I have developed various skills here:

  • Advanced Development: Designed and implemented key features like virtual coaching and SSO integrations with providers such as Okta and Azure AD, improving user experience and security.
  • Scalability and Optimization: Focused on performance tuning, code reviews, and bug fixing, ensuring robust and efficient systems.
  • Team Leadership: Conducted knowledge transfer sessions, led discussions, and ensured smooth communication between stakeholders and technical teams.
  1. In your current role as a Senior Software Engineer at BetterCoach, what’s your approach to tackling complex backend challenges, particularly in areas like performance, scalability, and security?

Answer Here:

As a Senior Software Engineer at Bettercoach, I solve complex backend problems by focusing on performance, scalability, and security. I take a step-by-step approach and use tried-and-tested methods to build effective solutions.

Performance Optimization

To make systems faster, I figure out what’s causing delays using tools like New Relic. Then, I fix issues by improving database queries, adding indexes, or caching frequently used data with Redis. For tasks that take a long time, I use Sidekiq to handle them in the background so the app stays quick for users.

Scalability

To handle more users, I design systems that can grow easily. I use AWS for hosting and load balancers to manage traffic. Breaking the app into smaller parts helps me scale specific features without affecting the rest. I also use caching tools like Redis and HTTP caching to keep everything running smoothly.

Security

I make sure systems are secure by adding SSO (Single Sign-On) with tools like Okta and Azure AD, which make logging in easy and safe. I also use role-based access control (RBAC) to manage who can access what. To protect data, I enforce HTTPS, encrypt sensitive information, and check for security risks regularly using tools like Brakeman.

Teamwork and Problem Solving

I work closely with product managers, testers, and developers to make sure we’re all on the same page. I break big problems into smaller tasks and solve them step by step using agile methods.

One project I enjoyed was adding SSO while making sure the system stayed fast during busy times. I optimized the login process and added limits to keep it secure and responsive, meeting both user and business needs.

6. How has your ongoing MSc in Information and Technology shaped your approach to problem solving and software engineering so far?

Answer Here:

I think my ongoing MSc in Information Technology from Leeds Beckett University will have a major influence on how I solve problems and engineer software. The program gives me a robust grounding in IT’s technical and theoretical sides helping me to think and tackle complex issues.

  • Structured Problem-Solving: The course put emphasis on structured methods, which helps me to approach problems one step at a time. Whether I’m fixing bugs, designing systems, or cracking algorithmic challenges, I’ve learned to split tasks, rank them, and examine them with logic.
  • Exposure to Diverse Technologies: My studies introduced me to a broad range of technologies and tools, from project management to managing databases. This experience allows me to pick up new tools and frameworks in my job making me adaptable in solving problems with the right tech.
  • Understanding the Bigger Picture: The program also highlighted how crucial it is to grasp the wider context of technology in our society. This has had an influence on my approach to software engineering by prompting me to consider more than just the technical fix. Now, I also think about how users will interact with the system how secure it is, and how well it can grow and adapt over time.
  • Research and analytical skills: My MSc is mainly focused on research. This experience will help me to understand how to collect data, examine it, and reach conclusions. I can use these skills when I look into software problems or make systems better. The skill to do in-depth research will help me to tackle issues from different viewpoints and find the best answers. 

In short, I believe my academic background will given me a well-rounded approach—mixing technical know-how with a broader grasp of the big picture in software engineering. This helps me not fix problems well but also design systems that are secure, can grow, and are easy for people to use.

7. As someone with experience in both small startups and larger organizations, how do you navigate the challenges of working in different team environments, particularly when it comes to collaboration and communication?

Answer Here:

My experience in small startups and big companies has shown me how to adapt my teamwork and communication style to different settings. Each team type has its own character, and I’ve figured out how to work well in both.

In small startups: 

  • Flexibility: Startups often required me to wear many hats and handle various jobs. This taught me to adapt and step outside my main duties. 
  • Direct Communication: Smaller teams communicate in a simple and casual way. I made it a point to give updates often and tackle any issues to keep the team on track. 
  • Quick Collaboration: Startups make decisions fast. I focused on putting tasks in order staying in line with team aims, and adjusting as priorities shifted. 

In larger organizations: 

  • Following Processes: Bigger teams have set ways of doing things and defined roles. I learned to stick to these methods carefully while helping to achieve the company’s goals. 
  • Team Coordination: I’ve worked with multiple teams in big companies. We used tools like Slack or Jira to stay connected. We also kept clear records to make sure everyone knew what was going on. 
  • Working with Stakeholders: In bigger firms more people have a say in decisions. This includes managers and other teams.

What Stays the Same:

  • Listening: Taking time to grasp my teammates’ views remains crucial. 
  • Being Transparent: Informing the team about my work helps create trust.
  • Staying Flexible: Each team and project differs, so adaptability has allowed me to integrate and add value in all my workplaces. 

These experiences taught me how to communicate and work together regardless of team size.

8. Looking back at your career, what has been one of the most rewarding projects you’ve worked on, and why?

Answer Here:

One of the most rewarding and interesting projects I had to deal with was integrating Single Sign-On (SSO) feature at Bettercoach. It was interesting because of the scope of work that had to be done and the value it added to the product.

What made it Interesting

  • Dealing with complexities: Various SSO providers such as Okta, Azure AD, Keycloack,NetIQ and OneLogin needed to be integrated. Each of those providers had its own guide and requirements, and so I learned and solved many issues to get everything working.
  • Reducing the complexity for the users: The enterprise users, for example, could log in to multiple platforms thanks to the SSO feature instead of having to enter their credentials for every platform they want to access one by one. In particular, I liked knowing that my work enhanced their experience.
  • Being in a Team: I coordinated with several other team members such as product managers, testers or clients to ensure that the technical integration complemented the objectives of the product. Another good demonstration of collaboration.
  • Expanding my Knowledge Base: In particular, this project allowed me to expand my knowledge on authentication systems – for example, OAuth and SAML protocols. Additionally, it helped me learn how to manage more complicated integrations and pay more attention to the security side.

The Impact

This project improved not just the product’s functioning, but also my technical and problem-solving abilities. Seeing how it benefited both the business and the users made it one of the most rewarding moments of my career.

9. Finally, as a senior engineer in the tech industry, what advice would you give to up-and-coming developers looking to make an impact in the field of backend engineering?

Answer Here:

Being a senior engineer, here is my advice on how the developers can leave their mark in backend engineering:

  1. Learn the fundamentals

Understand the basics of programming essentials, data structures, and algorithms. These play an important role in dealing with problems.

Study databases and their design, and learn about how to write efficient queries.

  1. Work on Real Projects

Work on complex projects to get hands-on experience in coding. The more you practice writing code, the better you will get it. Also try contributing to open source projects and collaborate with others to learn about how the larger systems works.

  1. See the Bigger Picture

Look beyond coding. Learn how system components like APIs, servers, and databases interact. Examine the system designs such as microservices and monoliths architecture, and know when each of these is appropriate to use.

  1. Write Clean Code

Write code that is readable to other developers. Apply best practices and keep it organized. Make use of tools like Rubocop to analyze the code. Develop unit and integration test cases to ensure your code functions well and remains reliable over time.

  1. Keep Learning

Technology grows very fast. Therefore learning new tools, frameworks, and concepts are vital for being competent in the market. Stay informed about trends like cloud computing, containers (e.g., Docker), and other backend technologies.

6.Improve performance

Master the art of accelerating systems and accommodating extra users. Essentials include caching, database indexing, and load balancing. Considering the pros and cons when selecting a method or technology.

7.Collaborate 

Backend development isn’t only about coding. It’s important to maintain proper communication with colleagues, understand their needs, and share your innovative ideas. Welcoming criticisms, and join forces with peers to solve complex issues are critical.

  1. Prioritize security

In backend development, security is a huge concern. Learn to protect user info, implement sign-in procedures, and prevent hazards like SQL injection.

 

Comments
To Top

Pin It on Pinterest

Share This