15 May 2015

How I Taught Myself to Code

Combining Online Learning Resources

Back in 2002 I went to college and studied architecture. At that time pursuing a career in tech did not cross my mind.

After graduating college I worked as an architect during 5 years and in different countries. During that time I saw how some of the projects I worked on were built, such as a community-centre in Belgium, an office building in China or a private house in Amsterdam.

You can also check out my story in video. Or have a look at the slides for that talk.

Architecture & Software Development Similarities

I consider the latest from those projects to be a great example of Data Oriented Architecture (I did not know back then that this term was used somewhere else ☺). The clients, a young couple expecting a child, were closely involved in the design process, which allowed for comprehensive research and understanding of how they behave and use their daily spaces.

The project started by collecting important data. To fully comprehend their behaviors and use of their living space each of them were asked to describe a perfect day in their ideal house. Using their stories we mapped their personal belongings (such as their cats toys, his large number of t-shirts or her great boots collection) and domestic rituals (shower towels, laundry clothes or kitchen cluttery). We asked the clients to place all of them on top of the floorplan specifying the location where they would be stored/used.

For those who are curious, you can read more here about the project.

Through this example you can see the surprising similarities between designing a house and a web application, in which client’s behaviors are only replaced by user’s flow.

Scary decision to quit my job

Those years were fun. But in the middle of it I started to date my husband. This is when things started to change. He is a programmer, although he is not into web development, but he works in the games industry. He is very passionate about what he does and that made me extremely curious.

We started to have more and more conversations about programming, using weird words like arrays, methods, classes, inheritance… Until I was totally trapped and decided to give it a try.

It was July 2013 when I did it. I quit my job as an architect. It was quite scary!

Why I didn’t go back to college

Let’s go back to college. This was my first thought. I started to look for computer science universities searching some source of inspiration. I filled in the application form for one of them and ordered some of their books… But the moment I opened them I knew it. That was not for me.

I wanted to work in the web industry. Back then I didn’t know yet if it would be in the front-end or back-end side. But anyway what I saw in those books did not have anything to do with it.

At last I asked google, who gave me thousands and thousands of online resources to choose from. It was overwhelming and I did not know where to start. So I took the time to play around with most of them. Finally I decided to do it as follows.

Combining online resources helped me get there faster

I first went to Treehouse and joined one of their tracks. For those of you who are not that familiar with their website, if you visit them they have different tracks based on what you want to become. I chose to become a PHP developer, as they were the most wanted people in Germany, where I was living at that moment.

But sometimes what I was learning at Treehouse was not enough. And that’s why I was regularly complementing my education with two other resources: Code School and Codecademy.

  1. Treehouse turned out to be great to have the big picture, and understand how all the parts were coming together.

  2. Code School was very good to dive deep into each of the topics.

  3. And in Codecademy they make you write down a lot, which was perfect to nail down concepts.

This was basically my workflow. I started with the first courses of my track at Treehouse. When I finished with HTML & CSS, I was also checking the related resources in Code School and Codecademy. The same for JavaScript, Git and PHP in my case (Code School doesn’t count with PHP courses, but they do teach Ruby ☺).

You can also check here a complete list of the courses I followed.

5 tips to stay on track

During that time I discovered other things to be as important as following these courses.

1. Find a partner

The first one, I had a partner. I had someone to talk to, even if he was not an expert in that technology. Which was specially important in those days when my code was broken

2. Watch tech talks

This is something that I discovered half of the way: watch Tech Talks. I used to watch one talk per day, most of the times during lunch. It helped me to keep the motivation up. Again, at Treehouse there are a lot of them. Totally recommended!

3. Start a pet project

This one was crucial. What you build is definitely not important. But once you have some knowledge, starting a pet project is the best way to keep learning. In my case I found a person online interested to build a web application. He was preparing for a big exam and the site would help him with that. He needed to introduce new topics, questions and their answers. I learned A LOT with this project.

4. Breath in & keep coding

This one took me a little bit more time to get. When something doesn’t make sense and you try and try and still nothing… leave it. Just keep going. If you hang in there for too long you might lose your motivation. And surprisingly one day, when you do not expect it, you will get it!

5. Keep an eye on job opportunities

And the last one, keep an eye on job opportunities. I used to have dark moments every Sunday evening. I wondered whether I was learning something that people were asking for. And that’s when I was checking jobs descriptions.

Life As A Web Developer

Four months after I started this whole process, I saw a job offer for an internship. I had studied everything that they were asking for. So I applied for it and two weeks later I was already working there. After a month in the company, they promoted me to a junior developer.

That’s the story about how I landed a job in tech.

Recently I moved from Frankfurt to Amsterdam, having to leave my job there as a PHP Developer. During my first month in the city I was actively attending Meetups, where I met an experienced developer who convinced me to learn Ruby on Rails. My approach to learn it was quite similar and some weeks later I was having my first interview at Springest. I have been working with them for one month already and I am impressed about their way to encourage people to develop themselves both personal and professionally, not only through their site but also within the company.

Starting to code was just the beginning of a long journey. As a developer you need to keep learning new things constantly. Online resources are still the best option for me, along with the awesome web community and people you work with.

If you liked this article, share it with your followers