In the last couple of months I've been a part of Group Buddies. I joined this company as an apprentice, where I learnt how to work for the web and to follow high quality standards. I was already coding apps for fun, but I had no idea how the web worked.
I applied to the Development Apprenticeship because I wanted to learn web technologies. I thought they weren't very attractive for young developers, like myself, mainly due to the huge growth of mobile platforms like Android or iOS.
In fact, I spent the last couple of years working on Android, developing native apps and games, so I never considered moving away from these kind of platforms to learn something like Ruby on Rails or even Node.js. I had trouble figuring out the advantages of these technologies and I underestimated their potential.
So how did I became interested on web technologies?
My interest in them was sparked later, when I was asked to do an Android app that would get a series of videos from a server. I had to do the server side as well. After some coding and headaches I dropped the project, but the desire for a deeper understanding of the web was rooted. I was also curious to know how would it be to work on a software company.
A couple of months later I heard about Group Buddies's apprenticeship program, which sounded like the perfect opportunity for me to learn more about the web and get some professional experience. So I applied and was lucky enough to get accepted.
The first thing I noticed was how young and relaxed the team was, but, at the same time, professional. They were obsessed about beautiful and functional products and passionate about the process of crafting them. They cared deeply about every detail and they made sure that the quality of the code was a top priority. When you write well-crafted software you are not only raising the bar as a professional but also influencing positively the product and steadily adding value.
Working on a team you can't think only about your individual duties, you have to think about how the others will be able to understand your code, and how they can contribute to the project. This is important for the maintenance of your product. Three months from now, when a bug appears, will you be able to understand your own code?
This was my first lesson and perhaps the most important one.
On top of that I found that this team also likes to be constantly improving themselves and helping others do the same. They are very active in the community, contribute to open source projects and even managed to organize the very first RubyConf Portugal!
By the way, RubyConf PT was a great experience! I was lucky to be part of it and to be able to exchange ideas with developers that came from all over the world to attend.
I started to share their enthusiasm for contributing to open source and to the community, and I came to realise that by doing so, I improved myself and became a better developer in the process.
What I mean is that I didn't just learn Ruby on Rails, Node.js or Meteor, but also a practical approach that set me up to understand and master any technology that I may work with in the future.
I joined Group Buddies Development Apprenticeship to learn how to develop for the web, but on top of that I learnt how to work in a team, how to push myself far beyond my best expectations and how to build sustainable software and beautiful code. I evolved more in these months than I did in years before.
If you have the opportunity to be a part of this kind of program, make it happen! It can really make a difference on your future and make you a better professional.