Introduction
This is a three-part blog series where I would like to talk about what I consider to be the essential points when being a self-taught developer. I will talk about some positives, negatives and some advice from my experience.
My personal experience
I couldn’t find a picture of me when I started learning, so heres me in Vietnam the year before
This blog is part one, where I will be talking about self-teaching yourself code to getting your first job.
Firstly let me introduce myself. My name's Talie and I work at Pixelhop. I have been a full-stacked web developer for 3 years and have worked for 3 different companies.
I started learning to code when I was 23. When I wasn’t sure what to do with my life. I was staying in Bangkok and messing around on my second hand computer, learning a bit of HTML. I found it quite satisfying, and decided to go back to England and focus on learning it properly. Not knowing if I would ever really be able to get a job. Four years later and I believe that was the best decision of my life.
The reason I decided to start coding, was mainly for the freedom I thought could be achieved from working in this industry. I had no interest in working in an office and initially wanted to live a nomadic life as freelancer.
I have never been to university, and taught myself how to code over the course of a year before I got my first job. One of the great things about this industry is, in my experience, companies and colleagues don't care about whether or not you have attended higher education.
The importance of notes
My old notes from when i first started learning JavaScript
Notes notes notes! For me, this is the most crucial part when learning to code. It's the basis of all your learning and will help you when studying to get that first job and even after you have started.
If I could go back to when I first started learning, I would start with focusing on taking notes well. The ability to note something down in your own words, quickly and clearly, is really powerful.
Trying to memorise things you don't fully understand will lead to frustration. Something I know from experience.
When you start out, noting everything you learn will really help you. No matter how basic it may seem and you will find yourself referring back to those notes every time you forget something until you start memorising it.
This is also massive help if you ever take a break from learning. You can continue from where you left off and refer to your notes when you come back.
Sum up
- Note as much as possible (literally, everything when you are first starting out).
- Don't try memorising anything. That will come naturally.
- Use some noting software to make it easier, for example; Notion or OneNote.
Your path
As I was learning, I didn’t spend enough time to fully understand what I needed to learn and to what level. If I had really planned out a path before getting stuck in, I think I would have saved a lot of time and energy.
So what do I mean by finding your path? I mean the things you learn, i.e. Javascript, PHP, design. Should be in line with your end goal.
I know what you're thinking, "well, duh", but I believe this is too often overlooked.
We should remember, as self-taught developers, we don't have anyone to keep us disciplined and tell us what to learn and in what order. I had found myself learning something that I later found out was out of date, Cough cough.. jQuery or something that could be done by a language that I already know Cough cough.. PHP.
Before learning anything new, I recommend really thinking about what you want your goal to be, i.e. becoming a backend dev or full stacked dev. Research what your desired goal requires by looking at job descriptions or finding out what the most common and up to date tech is being used for a specific job.
Having a fixed path will save you a lot of time (trust me) and keep you motivated because you will be sure you are going in the right direction.
Sum up
- Stick with your choice and follow your path to the end.
- Consider your strengths and weaknesses, i.e. Are you more visual or technical?
- Stick with what you already know and go deep with it, e.g. Don't go and learn Python to build an API if you already know Nodejs.
- Spend time planning and don't jump into anything without being sure.
Your goal
A picture I posted online when I first got a second screen, I remember feeling so chuffed that i had got to this position.
Now we have spoken about choosing your path; the natural next thing should be what your end goal should be?
I want to say that this will probably not be apparent right from the beginning. It will take some time and research.
I decided to start coding mainly for the freedom I believed could be achieved from working in this industry. I had no interest in working in an office and just wanted to live a nomadic life as a freelancer.
It wasn't until I did my research and found out getting clients was not as easy as I thought and the best way to learn from people is to work next to them in an office. So after that, my goal changed and getting an office job actually became my main focus.
It would also help to consider your position in life, i.e. when you should start working? For example, starting at a junior position, intern or getting clients. Of course, this will depend on what position you are in personally. Ask yourself; if you have the time to work towards a junior role rather than wasting time trying to apply for intern positions. Or would it be better to try and find some work on the weekends as you are busy most of the week?
Sum up
- Think about what you want to get out of learning to code, i.e. become freelance, get a stable office job or maybe just for a personal project.
- Keep in mind that your goal will not be the end, e.g. getting a job. Maybe don't think 'what do i need to do to get this specific junior role' instead think 'How would i get to a mid-weight position as so & so dev'—making your initial goal to get a junior position.
Personal Projects
One of my first personal projects
Personal projects are the best tool for you as a self-taught dev.
It's the most meaningful way to show off your skills. You can put any old guff on a CV or complete a code challenge where you print out a sequence of numbers. It might seem impressive. But it's nothing compared to an actual functioning app with a purpose and more realistic to what you will actually be doing.
They are also the only way to show your non-dev friends and family something cool that you can do with your skills. Perhaps even convince them, all this wacky computer stuff you have been working on does have a purpose after all.
For me, that's what really got me hooked on development. Instead of thinking, "there should be an app for that" or "someone should make a website like this", I consider that an idea and start to think of ways I can make it.
Sum up
- Try to be original. It's easy to follow a tutorial on making a to-do app or whatever. But its a lot more impressive if you come up with a functional or fun idea yourself.
- Start small.
Conclusion
Thanks for reading part one of my three part bog series. I hope you gain something from this, I have made a lot of mistakes in the past and I hope to passed on some of my knowledge.
Please check out the other blogs in this series when they are out and check out some of our other blogs on our website.
Top comments (0)