My journey into self-taught development: From Watchman to Web Developer

28.02.2019

Learning to code is becoming very popular and needed. There is a huge demand for web developers and this makes the idea of learning how to code on your own very interesting. Is it possible to become a web developer simply learning at home?

Hugo is a self-taught programmer who is here to share his journey teaching himself programming.


How did the process into self-taught development start?

Hello! My name is Hugo, and as the title suggests I changed my job from watchman to full-time web developer.

Before I dig into the process, I would like to clarify a few misconceptions about whether or not this is possible for someone working full-time in positions outside the programming area.

Before I dig into the process, I would like to clarify a few misconceptions about whether or not this is possible for someone working full-time in positions outside the programming area.

Do I need a college degree in IT or sciences? Do you need to be a Math expert?

Well, I don't consider myself particularly smart, I don't have a college degree in IT (or any other for degree by now), I didn't go to a technical high school (in fact, it was into arts) and I’m not particularly great at Math.

What I do have is great determination and a good level of English.

The latter, although not essential, is something that will have to be dealt with a lot on a daily basis as a programmer and a valuable tool when it comes to learning.

 

If English is not your mother tongue, I recommend you to improve your English skills along with the programming languages you choose.

 

Regardless of country of origin, previous work, economic situation or studies, it is completely possible to start working in this area as long as you have access to a minimum of 20 free minutes per day, internet and/or books.
 

Requirements to start teaching yourself to code:

  • Determination and desire to learn
  • Good level of English
  • 20 minutes free per day
  • Internet connection or access to technical books

 

What programming language should I learn?

This is a very-often asked question – which is the best programming language?. The area of technology is really broad in terms of programming languages and frameworks available.

I would say that the way that gave me the best results was:

 

  • Look at the most commonly used languages at the moment
  • Find out what uses are given for each of those
  • Try to see myself in each of those roles

 

Having an "exploration" period is very useful to find a job we like.

 

I started with HTML5 and CSS3, followed by JavaScript, with those 3 tools I was able to put together a lot of things so that's what I would personally recommend to someone who wants to get started.

 

What is the best method to learn? YouTube, Online Courses, Private Lessons


My ways of learning the areas needed to be a web programmer changed over the months, but the video tutorials were the most used material in the beginning. Having someone with a friendly voice to remind you that it is possible to achieve your goal was comforting and easy to digest.

On YouTube you can find lots of tutorials of all kinds and for free but Udemy videos were the ones I used the most (partly because they deliver a certificate at the end), and prices ranged from 10USD to 40USD (most are possible to get them for 10USD).

When I needed to get deeper into a subject I opted for books. Most of libgen.io and some of bookdepository.com are free.

The courses in institutions specializing in IT (EducacionIT, for example) were too introductory for me to provide something at the beginning, since most of the doubts they answer can be easily googled. But I would recommend the advanced ones because that's where it's most beneficial to have a teacher available.

I prefer not to recommend books or courses in particular because they depend on how each one learns.

 

Time management: Working and learning hours


My previous job gave me many free hours to study because I had night hours, but this is not the case for everyone.

It is a good idea to try to see in the day to day which activities are essential and which can be replaced by time to study. The hour and a half of daily Netflix is not useful to achieve what we want.
 

More than the amount of hours invested, it is important to create the habit of study.


I recommend starting with 20 minutes a day, perhaps during lunch or when you wake up, and increasing the amount. It's the method I chose because I wasn't used to studying at all.

Each week adds 10 minutes to the total daily time and soon you will find yourself advancing rapidly. I think it is possible to reach 3 hours of study per day after 5 or 6 months.

If you ever feel that time passes very slowly while studying and listening to or reading from the instructor is almost torture, I suggest changing your instructor.

There are thousands and thousands of courses in Spanish and English as well as ways of teaching, my favorite books are the ones that manage to explain complex subjects with simple terms.
 

The important thing is to learn, not how you do it.

 


My first projects as self-taught programmer


You can check some of my projects on my portfolio: hugomoran.pythonanywhere.com.

At first I concentrated on being able to build a site that allows me to interact with your database and that looks moderately modern. I used MongoDB, Express, NodeJS and Bootstrap on the front-end to do it.

I chose NodeJS because of the number of recommendations in its favor that I saw on the internet, and also because I noticed several companies using it in Buenos Aires.

My last projects were created with Django, since I fell in love with Python and the great amount of tools available within the framework.

Looking back there are really many details that I would like to improve in my portfolio, I think it is very helpful to start again while gaining experience, to be able to apply it and make it visible.

 

Continuous learning: Following with Web Scraping


While I was studying and preparing for interviews I thought it was a good idea to start in the freelancing world in case the job search would last longer than my savings allowed. I took a web scraping course and downloaded a book on the subject; I was surprised how quickly some jobs could be completed. After a month of getting into the subject I decided to create a freelancer account in a well-known page and wait for the arrival of clients.

During this time I was already sending my CVs to a large number of companies through job boards, although with very low responses as I suspect that they filter their candidates by experience and completed studies of which I totally lack.

I was struck by the fact that one of these job search pages published the company's email in each ad and with the new ability to automatically extract data I was able to create a plan:

 

  1. Extract all available company emails via web scraping.
  2. Eliminate duplicates.
  3. Send emails with my CV and a presentation to each email.

 

I used Scrapy to create a spider that would go around the site and extract the mails, I removed the duplicates with a simple Python script and for the mails I adapted a script that I found on the internet. I leave the link for you to use when you need it although I imagine that there are several programs that do the same and better: https://github.com/ulkish/.

The result of all this was e-mails to 550+ companies, from which I received around 40 responses and 15 interviews. I don't recommend contacting so many companies in one week, as I had to miss several interviews due to lack of time and it became difficult to organize them. After 8 interviews I entered the company where I currently work.

 

New challenges, further learning: WordPress

 

To my surprise, I was hired to focus on learning something totally new for me: WordPress.

My tasks now are to create, test and modify plugins and themes of the platform, mostly for existing sites. At first I found it strange and somewhat difficult because I didn't know PHP, but with time and after several projects I find it excellent and I would have liked to have discovered it before.

At this moment I want to learn everything there is to know about WordPress and in the future become a freelancer. It's something I could do today, but I really appreciate having people with a lot of experience guiding my approach.

Finally, I don't think it would have been impossible for me to find a job without contacting so many companies, but it would have taken longer.

Don't get discouraged if you don't call them for interviews, it's just a matter of time while they learn new things and update their portfolio.

Feel free to contact me via email if you need encouragement, help or for work purposes.
 

Recommendations for self-taught development:

 

  • Start with 20 minutes of study per day
  • Work on having a good level of English
  • Read a lot, write a lot,...the more code, the better
  • Consume free/cheap online courses available
  • Participate in projects voluntarily. Open source.
  • Create a GitHub account
  • Learn about Agile methodologies
  • Connect with other programmers (offline too)
  • Participates in forums or discussions. e.g. StackOverflow
  • Find problems and ways to solve them with programming
  • Don't lose the desire to learn
  • Stay up-to-date with blogs and tutorials to
  • Practice constantly


--
Pic: © Portfolio Hugo Moran

Create your freelance profile and land new projects without any fees!

 Sign up now

More articles

Comments

  • No comments available

Comment this article