On how to change job by passion
The power of decision
My history begins, as majority, by a decision. The purpose of this decision was fulfill a dream, transform a hobby into a profession. I know it was difficult to introduce myself in this tech world but nothing is impossible and less with desire, dedication and effort. I think nowadays I can say that I have fulfilled it.
How I became a software developer
It all started after finishing high school and deciding about my professional future through the university. I hesitated between choosing to study my hobby, computer engineering, or a career that had a lot of work at the time, geomatics engineering. Finally I chose geomatics for the extensive labour market and because I was interested in working outdoors. The decision was not unfortunate but the economic crisis came, I endured five years working in different parts of the world.
At the beginning of 2016 my girlfriend found a good job in Barcelona and I did not want to bear the interminable working days, the low value as a professional and the lower monthly salary. So I left my job and we both came to Barcelona. At first I started looking for a job as a geomatics engineer but after two months with no answers, I started to consider dedicating myself to another profession. And why not something related to my hobby?
Could I become web developer?
Turning my hobby into my profession
The decision was very difficult, basically because of the uncertainty caused me to invest time and money in a learning that I did not know if it would give me an option to a job. And, moreover, leave a profession that I love and all the experience already gained.
Finally, I considered everything and decided to risk.
I started looking for masters and specialized courses to learn fast, intensive and with the idea of starting work as fast as possible. A month later I was starting a bootcamp with Ironhack, it was exactly what I was looking for. It was eight weeks of hard work learning contents that I had not heard in my life, starting by setting up Ubuntu 14.04 in my machine and continuing with Bootstrap, SASS, API, Git, Ruby, Sinatra, Rails…
Starting in the real world
One month after finishing the bootcamp, I started working at Quipu. Albert Bellonch, the CTO, had been my mentor for my Ironhack project and had told me that they might need a entry junior profile soon, and that was me!
I started on September 6, 2016, the first weeks were difficult, I had a very basic base and I had entered the real world. I weighed that GIT was pull, add, status, commit and push, right away I had to understand that it was rebase, checkout, branch, cherry-pick, push -f…
In my first week I devoted myself to learning about an example rails project that I had created, creating models, controllers, views, basically the rails knowledge base.
On September 12 I got a great accomplishment, my first commit and PR, the exact text of the commit was “fix french copies from tour” and there were four lines changed.
Today after more than 500 commits I see it as silly but at that time it was a great satisfaction to be able to contribute to the product in production.
Never stop learning
Step by step I continued to play the simplest parts of the application, making small fixes, small translations and some small complete task for the backoffice. I also started to learn some wordpress stuff to be able to manage the maintenance of the blog.
Learn, learn and learn was and is my day to day, nowadays this is the dynamics and I’m delighted and more when it is my hobby.
The weeks passed and every time I saw myself with more confidence and ability to explore more complex parts and I started the integration with Salesforce. Again the same, learn what is salesforce, know what we need it and start the implementation, use a gem to ease the communication with the API, create a service to get and fetch the data what we want to sync. After many tests and errors, in the end we obtained a moderately stable system that worked autonomously.
From here came a moment that, without stopping learning, I felt very comfortable with Rails and whatever they asked me I understood and, at least, I could think about how to implement it.
But learning never stopped.
At the beginning of being in Quipu I did not understand anything and with a lot of patience they explained to me the most difficult parts for me. Later on and to this day, I’m still learning a lot from my colleagues especially by looking at their code. We use a system in which we can all check the code of all before deploying, and we also need at least two mates to approve the pull request for production, so I devote a great part of the day to review/learn code of my colleagues.
This only works if you have a good planning and communication (through the use of many online tools that facilitate the daily tasks, such as JIRA, Trello, Slack, Github, Rollbar ).
An efficient modus operandi
Here we use an Agile methodology, with which we take responsibility for each of our tasks and encourages compliance to be effective. For this we manage some objective times taking into account that part of our working hours is intended for meetings, to solve bugs and small tasks difficult to plan.
At the same time I have learned to do good searches on internet about concrete problems that I encounter every day, the theoretical basis is very important in this aspect since it facilitates you to know what things are called and to be able to search more efficiently for problems that surely has happened to another person.
Mates, along with Internet searches, along with a tutorial that I do from time to time becomes a good system of continuous learning.
For example after a few months I set out to learn Ember to collaborate in the development of the Quipu App, I started with a basic tutorial but at the end we decided to change language and do it in react native. Thanks to another tutorial, I learned to do basic things and currently I dedicate about 25% of my time to the development of the app with react native. Right now I am at a moment that I think I understand what it is and how Redux works but in reality I still have a lot to learn to feel comfortable programming in this language.
The other 75% of my time I keep using it for rails features and fixes. Today I play many parts of the application, both front and back and both internal functionalities, new projects, marketing.
What I like the most is to make projects from zero, and do it all, create the logic, the tables of the DB, the models, controllers, the views.
And finally my last big breakthrough was deploy production, some months ago Albert proposed me to start doing some deploy and with tremors I said yes, I knew that it is something that carries a lot of responsibility but we have to move forward and continue learning always, so I go there, doing deploys from time to time.
A successful career transition
Almost two years ago I could not imagine deploying code, refactoring and understanding the code very well, commenting on PR from colleagues and considering me a real junior. All this I have to thank my colleagues and especially Albert and Roger for trusting me and hiring me when I really had nothing more to offer than wanting to learn.
When I arrived we were around 10 people and right now we will be about 30, young and very professional people who create a great work environment, learning and enjoying every day.
Going back to decisions, a dream come true, good decision.
My recommendation is: If you’re passionate about programming, do it, do not be afraid, at the beginning it’s all very unknown and scary but, in my point of view, the only requirement to be able to get started is the passion for programming. It will be easy for you to learn, all you have to do is dedicate hours to your hobby.
At first you think that you will never get to understand a certain code but from one day to the next you realize that you have already understood and new challenges arrive, that is always, you will never know everything, it is part of the work.