Talks

React-ing to Rails: Why Ruby on Rails is the best Stop for Web Developer

React-ing to Rails: Why Ruby on Rails is the best Stop for Web Developer

by Naijeria Toweett

In her talk titled "Finding Ruby and Falling in Love with Rails" at the Friendly.rb 2023 conference, Naijeria Toweett, a former product manager turned Rails developer, shares her journey from a non-technical background to proficiency in web development. She begins by outlining her personal and professional background, including her roles as a technical manager at Girl Effect and a manual QA tester at Wild Pulse.

Naijeria emphasizes three critical aspects of her life:

- Transitioning into tech at the age of 45.

- Balancing her career with motherhood as a mother of three.

- Her passion for problem-solving, aiming to create scalable solutions.

Her journey into web development began when she tried to assist a friend with a project for a nonprofit organization working with children in rugby. Despite her initial confidence in using React, Naijeria encountered significant difficulties. The use of outdated systems like Microsoft Access and Google Sheets complicated data management for the nonprofit.

To digitize their processes, she proposed creating a mobile-friendly platform for data entry that would address the inefficiencies faced by field teams. Importantly, she used user journey mapping to create tailored experiences for different stakeholders. However, after six months of working on her application in React, Naijeria became frustrated with the framework's limitations and her slow progress, which was compounded by her multiple responsibilities at work and home.

Upon discovering Ruby on Rails, she experienced a significant shift. Key improvements in her development process included:

- Rapid project scaffolding that allowed her to develop the application much more efficiently.

- Enhanced productivity, as she completed her Rails project in just three weeks compared to the previous six months with React.

- A supportive community and numerous built-in features that eased her learning curve as a newcomer.

Her concluding thoughts express gratitude to those who supported her, including colleagues, friends, and family, who helped sustain her through her transition into tech. Naijeria's story illustrates the importance of finding the right tools for development and highlights Rails as an accessible and efficient option for new developers. She encourages others to consider the speed and support within the Rails community when choosing a development path, urging them to embrace this framework for achieving their goals.

Overall, her experience serves as an inspirational narrative for aspiring developers and emphasizes the value of adaptability in the ever-evolving tech landscape.

00:00:06.600 This is my first time in Romania, and I hope it will be the first of many visits. Thank you so much for having me here. I hope you'll be gentle with me, as I am honored to be here all the way from Kenya.
00:00:19.519 Today, my talk is aimed at anyone who is new to coding and wants to learn or for any junior React developers who find themselves in a situation similar to mine. So, who am I?
00:00:30.960 I’m Naijeria Toweett, and this is my lovely family. I am a mother of three living in Nairobi. Interestingly, my name originates from Nigeria; I was born there while my father was traveling. However, I never had the chance to ask him why he chose that name for me. The first time I visited Nigeria and showed them my passport at immigration, the officer looked at my passport, then at me, and asked, 'What’s your name?' When I replied, 'Naijeria,' they all hugged me, excited that I was coming back home.
00:01:28.640 As for my career, I am a technical manager at a nonprofit organization called Girl Effect, where we empower girls using digital media and technology. I am also a manual QA tester for a platform called Wild Pulse. I was a member of the platform for quite some time, and when they were looking for a QA tester, I was the perfect candidate because I was already a community member. Additionally, I do Facebook moderation for my boot camp's Facebook page, called Women Plus in Web Development.
00:01:43.320 The boot camp is Codup, located in Barcelona, where I actually flew in from. Now, let me share a bit about my backstory. There are three key things you should know about me: I quit my job at 45 to transition into tech, I am a mother, and I am inherently a problem solver and creator. I focus on providing scalable and efficient solutions, regardless of whether it's at home or at work.
00:02:10.879 Yesterday, I was sitting next to Xavier, and after talking to Andreas, I felt it was essential to reframe my talk. I believe in being agile and ready to change based on the audience and context. So today, the title of my talk has changed to 'Finding Ruby and Falling in Love with Rails.'
00:02:40.320 This is how it all started: I met a friend who needed help writing a brief for a developer to work on a project for his nonprofit. He explained the problem to me, and I thought, 'Ah, that's easy! I can do that!' I wrote out the brief, and he reached out to developers on LinkedIn to find someone who could assist with this issue.
00:03:01.760 However, everyone he spoke to seemed unsure and couldn't grasp the requirements. He then told me, 'You did an excellent job explaining the problem in the brief you wrote. Why can't you just build the project for me?' At that time, I had only done a boot camp and worked for a year as a junior developer, both full stack and front end, before transitioning into project management. So, I decided to take on the challenge.
00:03:37.519 I figured it would be easy to build it in React. The client was a local nonprofit serving about 2,000 boys and girls across six rugby clinics in two counties in Nairobi. They utilized rugby as a means to develop children and youth, both on and off the pitch. Children had to attend four consecutive weeks of rugby sessions before being accepted into their beneficiary program.
00:03:51.800 Once accepted, a social worker would be sent to the child's family to collect all necessary data regarding their situation. This included details about their residence, socioeconomic status, and the number of children in the family. This information dictated the level of support the NGO could provide. However, I soon learned they were using Microsoft Access and then Google Sheets to track player attendance, which led to security challenges and made data collection cumbersome.
00:04:51.760 The Google Sheets records were not searchable or easily retrievable. They also couldn’t verify how many beneficiaries were active in any of their activities, whether it be rugby or life skill sessions. They were opting for manual entries, which made everything inefficient. After evaluating the situation, I stepped up to implement a project to digitize their data management.
00:05:19.600 I proposed a solution that involved creating a mobile-friendly form that could be used by the field teams on tablets or phones. This would allow easy data entry, check previous records, and ultimately improve the efficiency of recording beneficiary information.
00:05:55.680 I ensured the platform would be accessible even with low internet connectivity, allowing the field teams to update beneficiary records quickly. I was convinced that digitizing this process would allow for easier tracking and reporting, so I was enthusiastic to proceed with the project.
00:06:30.160 As I moved through the planning phase, I engaged with team members to understand their roles and responsibilities and the challenges they faced. One of the major issues was a significant amount of paperwork and inconsistent records, making it difficult for them to track data effectively.
00:07:07.040 In reviewing the forms they collected, I outlined a user journey and created a flow diagram to visualize the features I proposed for the Minimum Viable Product (MVP). We agreed to keep it simple and quick. I started building by creating high-fidelity prototypes using Bootstrap.
00:07:36.360 However, while working on it, I realized that many inefficiencies existed within their processes. For example, some forms were completed by those who lacked accurate information. Coaches were filling out lengthy forms without direct contact with the parents, so we modified the original forms to fit the different user journeys that would be involved.
00:08:18.760 The end result led to a more streamlined experience where coaches had shorter forms, while social workers had longer ones, as they interacted more with families. We then enhanced the backend using MongoDB, and I began experiencing challenges that I didn’t anticipate.
00:09:09.840 Initially, I was attracted to React because that was the technology I was most familiar with. I was open to learning MongoDB just to make it work. However, as the project progressed, I began to experience what felt like a challenging relationship with both React and the current development process. I had high hopes after successfully completing projects in my boot camp.
00:09:31.760 But as the months rolled by, I found myself six months into the project, still without a fully functional MVP. I was frustrated; the framework didn’t appear to be as flexible as I had hoped, and I was handling this project alongside other responsibilities as a mother with three jobs. Managing late-night coding sessions only compounded my frustrations.
00:10:13.040 After six months, I was struggling with even the simplest tasks, like rendering an image on the front end. The stress of feeling like I was falling behind made me start browsing for alternatives to speed up the development process. Ultimately, this led me to wonder why I hadn’t started with Ruby on Rails much sooner.
00:10:56.120 When I discovered Ruby on Rails, my relief was palpable. The ability to quickly scaffold a project allowed me to overcome the hurdles that had hindered my progress for so long. I jokingly thought to myself that React enthusiasts might be upset at my conversion to Rails.
00:11:29.200 Nevertheless, once I made that switch, everything started coming together beautifully. The Rails framework streamlined so much of the development process for me. It was easier to set up routes, create necessary components, and manage the database.
00:12:34.800 With only three weeks dedicated to building the application using Rails compared to the six months I had spent on React, I felt a significant difference in productivity and efficiency. I realized that not only did I enjoy Rails, but I was also able to accomplish more in a shorter timeframe.
00:13:05.760 For those still trying to navigate their relationships with React, just remember that Rails is a pathway to achieving goals more quickly. The speed at which we can switch technologies, the supportive community, and many built-in features make it a fantastic choice for new developers.
00:14:02.920 In wrapping up my journey, I'd like to express my gratitude to everyone who supported me. From Adrian and Jacob, who checked in with me about my visa status, to the resources I found that helped make this trip possible.
00:14:40.600 A special thank you goes to a fellow I met during a Ruby on Rails hackathon, who introduced me to a hosting service called Sudoku, which significantly simplified my app deployment process. I’d also like to recognize my friends in Barcelona for their help and support during my travels. I wouldn’t be standing here without the encouragement of my family, who often put up with my busy schedule and keep me grounded.
00:15:45.440 My children inspire me to keep pushing the boundaries of technology and creativity. My husband, who often jokes about his aversion to computers, has stood by me through all the ups and downs. Thank you all for this opportunity, and that’s my story. You can connect with me on LinkedIn or GitHub. Thank you!