techbullion.com

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

By Anamta Shehzadi·Published October 25, 2023·Updated December 24, 2024·Technology

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:

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:

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:

  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.

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: 

In larger organizations: 

What Stays the Same:

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

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.