We recently had the opportunity to interview Michael from Zepto and Selena from Fresho, and it was an insightful conversation about their experiences and perspectives in the tech industry. Here are some highlights from our discussion:
Selena, a self-taught coder, shared her journey of learning to code and how she found her passion for Ruby. With around seven to eight years of experience, she expressed her love for Rails and its ability to provide a structured environment for development. Selena also talks a little about the continuous improvements in Rails versions and the upcoming advancements in Rails 7.
Michael, who has been coding for over 20 years, talked about his early experiences with Perl and Java before transitioning to Ruby and Rails in 2010. He highlighted the benefits of Rails, such as its convention over configuration approach, the ease of getting started with web development, and its activerecord functionality. However, he also discussed some limitations of Rails, particularly in terms of scalability and the need to consider architectural patterns like hexagonal architecture.
When asked about magnificent monoliths and code organization, Selena and Michael shared their different experiences. Selena mentioned that Fresho, being in the scale-up stage, still operates as a monolith, but they are exploring ways to separate domains within the codebase. Michael, on the other hand, described how Zepto has adopted a microservice-like infrastructure using packages and packwerk to address specific scalability needs.
Pair programming was another topic of discussion, as Selena and Michael gave a joint talk on the subject at RailsConf. Selena explained how Fresho practices 100% pair programming, both in person and remotely, which has been highly beneficial for knowledge sharing and accelerating development. Michael discussed the challenges of encouraging senior developers to embrace pairing and emphasized the advantages it brings, especially for junior developers.
The conversation also touched upon the debate between managing infrastructure in the cloud versus on-premises. Both Selena and Michael acknowledged the benefits of the cloud, but they agreed that the choice depends on factors such as cost, scalability, and security requirements. They highlighted the importance of considering the specific needs of the business and having specialists in place to manage infrastructure effectively in the case of on-prem.
Regarding future technologies, Selena and Michael are exploring other tools alongside Rails. They are working with React, JavaScript, and hardware-related projects involving languages like Rust and Kotlin. However, they emphasized the value of sticking with known technologies for production apps and recommended experimenting with new tools on side projects.
In closing, Selena and Michael expressed their gratitude to the Ruby community, podcast hosts, and co-maintainers of Ruby and Rails. They acknowledged the contributions that have made their work possible and encouraged others to engage with the vibrant community.
We thoroughly enjoyed our conversation with Selena and Michael, and their insights shed light on various aspects of coding, technology choices, and industry trends. It was a pleasure to learn from their experiences and expertise.
If you're interested in hearing more about their discussions please watch the video. Also, check out the Ruby on Rails podcast and the JavaScript Jam podcast. That Michael mentioned.
And let's extend a big thank you to the Ruby community and all the contributors for their remarkable efforts!