By this I mean…having a lot of old code in your codebase shouldn’t stop you from becoming a good software engineer, as long as you follow good practices and are up to date with the latest trends. You also need a strong will, but nothing is unachievable.
So why do I think HouseTrip allows us to grow as software engineers?
Let me add a little bit of context to this… HouseTrip grew very fast as a business,so at that time speed of delivery was very important. However, after a couple of years that speed morphed itself into the very Legacy code I am talking about. Speed helped us grow as a business but it didn’t help maintaining it.
But because we are engineers and not frustrated Ruby Devs, we have faced this problem with the right weapons.
We are a very resourceful, multicultural team, and we always hire the right people. This makes us drive the product in the direction we want (from an engineering perspective). We’ve also taken very good decisions on how to overcome legacy code in our app.
Again with the better engineers stuff…
If you are put in front of a challenge, you have the power to overcome it, and to better yourself. Our challenges are plentiful, and we tackle every single one. Even if at times we work on legacy code and we might think it’s not good for us, it’s not the syntax or the design pattern that make us better, but the very fact that we are collaboratively exploring how to tackle a certain domain.
This has taken us somewhat far out of the scope of Ruby+Rails.
Some of the examples I could put on the plate are:
- Ripping the app into SOA
- Data Tiering
- A CI cluster built from scratch with machines that sleep and wake up to pick up tests
- SQL inspection (to make sure our queries perform)
Learn by overcoming challenges
There is no denying that working with cutting edge technologies is very important for us as developers. But we need to remember that it’s not the technologies that make you perform and achieve new ‘skill points’ but rather the challenges you tackle using those technologies, and the attitude you have when doing so.