How to get started: 5 great tips on learning to code
If you’re following the Spotlight series, you might know that I always ask the interviewees if they have any advise for everyone who is interested in a career in tech or learning to code. The answers to this questions are definitely worth sharing some more. I wrote a small recap for you that resulted in 5 tips, so you know where to begin.
Think about your goal
benny: If you want to get into system administration, try to build your own environment. If you want to get into Linux the quickest way to throw yourself in the deep end is to install Linux on your daily use computer and learn how to use/troubleshoot/expand it. If you want to get into Windows administration, try to get a couple of computers and learn about Active Directory. If you want to learn to code, build something. Your first time out your code will suck, but you have to start making mistakes if you’re ever going to learn anything.
Stephanie: Figure out what kinds of problems you like to solve as well as what end products you like to build. Coding can be seen as a tool– sometimes, the end product that you build is what can be really exciting and sometimes using the tool itself is rewarding and exciting.
Linda: You’re not learning to code for the sake of learning to code alone, you’re learning it to solve problems in the world.
Claudia: Make a goal each day, say after 2 hours I need to know how to do x. Goals always help otherwise the amount of information would crush you. Make it specific to an action you want to learn , and not ‘I just want to learn program x’. For example, I want to learn how to add monitoring to a service. it is specific enough to not get sidetracked in 2 hours by too much information.
Veni: After all, the reason to learn to code is to create products/solutions and solve problems.
A blog post about goals and decide about your goals, is part of the ‘How to get started’ series, you can find it here.
Don’t feel discouraged
Nell: Be persistent. It will never be EASY, but it WILL get easier. Celebrate the small victories – like how writing a tests before writing your code used to take you eight hours, but now only takes you two. Don’t give up out of frustration that you will never “get” something, or will never be as smart as someone else on your team. Giving up serves NO ONE. Keep at it, it does get better.
Tracy: Be patient. You’ll be exposed to so much information early on and you’ll be excited to be good. It’s so much information to take in and apply. Much of it takes time and experience to learn, not just theoretical readings. There will be times where you’re feeling like you’re up against a brick wall. That’s okay! As a programmer, you’ll be paid to solve problems you very likely don’t know the answer to yet. You’ve been hired because you know how to approach the journey of finding a solution.
Indu: Tech is absolutely fun. Don’t be intimidated. If you are already thinking tech, you’re already on a fantastic path. The first time I walked into my BASIC programming class, it was all brand new on so many levels, including the way of thinking. I didn’t do so well. It was heartbreaking. It sucked on so many levels. Solving problems in your head is easy, but trying to show that as a flow chart or coming up with an algorithm for the computer to understand, a complete different story. I was discouraged. However my teacher encouraged me to not give up. She told me that it was my first time ever doing something like this and to give it a little time. She was super encouraging and signed me up for more classes in other aspects and I did well in the subsequent classes! And thanks to her, I ended up taking computer science in high school as an elective. My high school exercises turned to be a programming class in BASIC, the same stuff that I had studied that summer in 8th grade. Suddenly, it wasn’t hard anymore. The pieces just clicked. It was so much more fun. Like all things, it takes practice and the more you do, the better you get. Never give up on your passion.
Sophie: … just do it. Don’t let anyone tell you that you can’t do it.
Rebecca: Not to panic. Sometimes I feel like I’m behind or slow at learning things and I’d panic which would take all the fun out of development. Pressure is good but be kind to yourself, you’ll soon realise that everyone is in the same boat, so embrace it and your confidence will sky-rocket!
Veni: I also advise you to be patient. When you first start coding you will encounter a lot of errors and bugs. It might take a minute or hours to figure out what went wrong. That’s ok. Almost everyone goes through it. Once you do figure it out, you will feel immense pride and satisfaction. As you gain more and more experience debugging will become easier.
Trisha: It’s OK not to know how to do stuff. Don’t get overwhelmed by the amount there is to learn or the rate of change of technology – no one is staying up to date with everything.
Mairead: You have to embrace that feeling of uncertainty. Don’t ever fall into the trap of thinking you can’t do something. You can. It might take you longer than you’d hoped but you will get there.
Ola: Don’t give up! Sometimes, especially at the very beginning, it will be hard and you will be overwhelmed with amount of things you suddenly need to learn. That feeling will pass and all you need to remember is that you can do it. Everyone can. So go and make sure to have lots of fun along the way :)
Coraline Ada: Don’t let what you don’t yet know stand in the way of your curiosity; curiosity is one of the most incredibly motivating forces that I know of.
Mazz: When you’re starting out you look at people who’ve been doing it a while and think it’ll never happen to you, that you’ll always be behind and won’t be knowledgeable and why don’t you know everything already. Try to be kind to yourself, you’ll get there and the sands are always shifting, we’re all constantly learning and re-learning and learning some more.
Learn by doing
Laura: There are a lot of great tools (especially interactive ones) that make it easy and fun to learn, but once you’ve those basics down, the best way to learn is to build something. It will teach you so much more that you can’t learn in a lecture or an online tutorial.
Floor: The best way to learn is to build something. Many tutorials or lectures cover separate building blocks or programming concepts, building something you’re excited about from scratch is the best training you can possibly get.
Annabelle: Try by yourself. If you love it, than try to do better code, and not only what it’s easier. Always challenge yourself with new technologies.
Coraline Ada: Follow your interests and see what you can create. I learn best from doing, from making things, and learning what I need to in order to complete a project. I prefer hands-on learning to book learning. If that’s your thing as well, throw yourself into a side-project that challenges you.
Jessica Rose: Just start making something. Find someone kind to work with and start making something that’s small but meaningful to you.
Anna: Build something small for yourself. Then make it better. My first ‘coding project’ outside of school was a little script which automatically updated a page on my website. It was about 5 lines of code, but running it and seeing something REAL happen was so cool, it motivated me to do more. Also, it saved me a lot of tedious work updating the page by hand every time (this was before WordPress and its friends).
Ludwine: Do not hesitate to try! You might like it! Today there are so many way to start coding (codecademy.com, coursera…). Start with simple ideas like creating a website, or a small game…and use tutorials and online courses to get going.
Felienne: Start today! There are so many easy ways to start (I love Robomind for this) When I was a kid I had to manually copy thousands of lines of code from a paper book (yes, I am about a 100 years old :)) Things are so much easier now.
Jill: Coding you learn by doing, and its fine to break things, you probably aren’t going to break the internet, so don’t worry about it.
Be curious: ask questions
Ola: Don’t be afraid to ask as many questions as you can.
Morena: Be curious. It’s how I got there and how I navigate my way through every single day. Questioning everything is a key part of learning I think and by asking lots of questions, you’ll find yourself exploring new avenues every day.
Katherine: First of all, nobody is born knowing all of this – everyone has to learn it at some point, and knowing how to learn and how to ask good questions are incredibly valuable skills. Beware of people who seem to have forgotten this and who look down on you for not knowing something.
Nell: Ask for help. My personal rule is that if I have been working on something for 25 minutes and made no progress, it’s time to ask for help. Oftentimes just having a second pair of eyes on the code for a few minutes means finding things I have been too laser focused to see, often the key to the problem I’m solving. Make sure you work hard for those 25 minutes – trying different things, googling the problem, etc…but after 25 minutes it’s time to bring someone else in. If no one is available, try emailing the code to someone else and ask them to look (A Github link to the difference between your code and the master branch is one of the most effective ways to do this)
Liza: Let your curiosity get the best of you and give it a try! Don’t be afraid to ask questions, or make mistakes – everyone started somewhere. Both ups and downs will certainly be had, but know that you are not alone. I can assure you that even the best in the industry has experienced it.
Trisha: You might meet people who seem to know everything, but they don’t. And if these people have an unhelpful attitude towards your learning, ignore them and find other people to give you support, or like Charlotte said ‘put them in the bin’. Some people are just not useful, don’t waste time on them.
Get out there and become part of the community
Ola: Attend meetups, conferences, pair with people. Don’t be shy. Many starters think, they won’t understand anything and that’s why they don’t attend such events. Even if you don’t, you’ll definitely profit from that.
Jessica Rose: Go to hackdays early on and never feel like you need permission to go to anything.
Anna: Find projects to work on, and if possible work together with other people. Just working through a tutorial or book will not give you the skills to code ‘out in the wild’. There are loads of great sites to help you take the next step, such as exercism.io, where people will critique your code for you.
Ludwine: You might feel lonely, when beginning, but there are a lot of initiatives and communities where you can find good help. For example RailsGirls organize events for those who would like to learn the Ruby or Djangogirls to learn python and Django. It can be a great place to start.
Stephanie: Coding’s also about working with people! I’ve had incredible experiences connecting with communities of coders, both locally and online. Find people you can learn from, find people you love working with, and connect with others in your community.
Tracy: Also, languages like Ruby and Node JS have friendly communities, try and go to local meetups and meet the people, even though it can be wildly intimidating to go to your first one.Keep your eye out for IT workshops for beginners, there are often free ones going on like Rails Girls.
Sorcha: Attend workshops (often free!) and volunteer to mentor at them as soon as you feel ready. And apply for jobs, even if you think you’re underqualified. Applying and failing will show you what you need to work on.
Amy: Jump in as fast as you can, meet as many people as you can and make stuff. People are really open to helping others, you just need to take that first step and ask. Tech can be a difficult place as times, but it can be really supportive too – you just need to find the right people. I’ve found my support network and I couldn’t be happier.
Tracy H: Find a community of people who encourage and support you, and you’ll be setting yourself up for success.
Indu: The other thing is Open Source Software. I wish I’d known this much earlier during my career. There are so many open source projects to contribute. Pick your passion. There’s already someone out there doing it. You can join in and change the world together. You can learn so much by working with a community of fantastic developers from all around the world. Start small, learn big.
Ute: Find other learners! It helps a lot to find people who are on the same journey as you are. Visit your local user group (I can recommend the Ruby community. A lot of friendly, helpful people welcoming beginners) and go to a Rails Girls or Django Girls workshop. Find or start a project group (like http://rorganize.it/). Last year I attended Rails Girls Summer of Code. During our journey as CodePadawans we found some secret Jedi Super Powers. Maybe they can help you on your path.
Erika: But one thing is important: don’t isolate yourself. Get involved with your community, try to contribute to open source projects, join a local meetup group. This is one of the things that changed my career completely in a short period of time.
Olu: Learn to find communities that can help you get to where to you want to go. It’s hard to make it alone. And yes, online counts.
- Think about your goal
- Don’t feel discouraged
- Learn by doing
- Be curious: ask questions
- Get out there and become a part of the community
I hope these tips can enable you to make some progress. If you have any more advice, please don’t hesitate to share it below! And last but not least, I’d like to end with the advise of Allison: It’s worth it.