We aren't all lucky to have a selection of devices at our fingertips. Trust me. I'm the youngest of three boys. I remember getting a shared PlayStation 2 on Christmas day. Being the smallest and the youngest there was zero chance of me playing it until the next console release.
Don't let that bring you down though. Our lack of abundance is a blessing in disguise. We have fewer options and fewer distractions. Fewer options, means we have more conviction on our decisions and more commitment to stick to what we decide.
If you are lucky enough to have a smartphone, you have all you need to get started towards a career in programming. The device in your hand is a world of its own, full of dreams to be achieved and knowledge to be gained.
I will advise that to truly delve into the world of software development, you will need access to a computer in the future. This post is for those of you who only have access to a smartphone right now or those who wish to continue learning to code on the go.
I have tried and tested all the options I mention below myself at the start and throughout my journey of becoming a full-time software engineer.
📚 Reading, using a kindle app
The first method of gaining programming knowledge on the go is something that doesn't even require a phone.
There are more books on programming on the market than you could ever get through in your lifetime. Thanks to Amazon, you can order a book and have it with you the next day. Also thanks to Amazon, you can order a book and have it with you to read in an instant, through the kindle app. Thanks to the kindle app you have a libraries worth of information at your fingertips.
There is so much knowledge to be gained from people who are specialists in their fields. These people have taken their time to collate all they know into an easy to digest format.
I remember buying a physical version of Code Complete, a very informative, but very large book. Which I didn't realise until it arrived. I wanted a book that I could consume on the bus on my morning commute. Whipping out this big boy on a packed bus of tired commuters didn't seem feasible. So I bought the kindle version for easy, compact reading. Perfect for those pre-covid journeys to work on a bus so busy that it draws comparisons to being stuck in a sardine tin.
Whilst the physical version sits on my desk as a lovely paperweight.
There are lots of programming books out there, what works for you, might not work for others. Read plenty of reviews. Know what you want to gain from it when looking. You can even read samples to get an idea of if it suits your taste.
Books are a perfect way to cement the theory of bending a computer to your will or to just keep the learning spark burning whilst you are away from your computer.
There are lots of free materials on the internet that come in PDF or Ebook format. You can download these to use on your kindle. I have done it previously with Microsoft books/guides.
- Pragmatic Programmer by David Thomas, Andrew Hunt
- Code Complete by Steve McConnell
- Clean Code by Robert Martin
- The Clean Coder by Robert Martin
📹 Watching tutorial videos
Video is engrained in our daily lives, whether it's watching through the worlds second biggest search engine YouTube or scrolling through your chosen form of social media.
How you spend your time is your decision. You could watch another "5-minute hacks" video and ponder if glue gun shoes really are comfortable, or you could spend this time on growth, on working on yourself and getting a step closer to your goal of being a programmer.
Armed with your phone, a pair of headphones and a good tutorial video, you are all set to learn a wide array of topics in any field.
When coding It is better to watch and then do to cement knowledge, but on the go, that's not always a feasible option so video tutorials act as a great way to learn the theory behind programming concepts. There is an abundance of videos, maybe too many, so weeding out the bad from the good can be a task in itself when using YouTube.
There are some creators that produce some really useful, engaging videos that are more than just educational, they are also entertaining.
- Brad Traversy - Traversy Media - @traversymedia
- Mosh Hamedani - Programming With Mosh - @moshhamedani
- Tim Corey - IAmTimCorey - @IAmTimCorey
- FCC - freeCodeCamp - @freeCodeCamp
Outside of YouTube, there are some fantastic educational sites built around providing high-quality content, some free, some paid.
📱 Coding Apps
Alongside apps that focus on text and video tutorials, there are a wide array of gamified coding apps. Gamification makes the learning experience fun and engaging, making you less likely to get distracted. Through overcoming obstacles you are rewarded with experience and achievements. This is a great way of tracking your progress and making you feel like your efforts are worthwhile. Learning becomes less of a chore and more of a... game.
Learning a programming language is the same as learning any language, persistence and repetition on a regular basis ensure you keep what you have learnt in your head. If you were to have breaks and then return to learning, you are less likely to withhold the knowledge gained and are more likely to have to go over the same topics you have already learnt.
Building a habit of learning, even whilst away from your desk is the way to achieve this. Coding apps allow you to learn, write code and earn rewards whilst on the go. Whether on the bus or having a break on the porcelain throne.
Below are 10 of the best coding apps available on the app stores. I have tried a selection myself and the others are based on reviews. The thousands of people who approve can't be wrong.
- SoloLearn: Learnt to Code for Free - iOS - Android
- Mimo - iOS - Android
- Grasshopper - iOS - Android
- Codecademy Go - iOS - Android
- Encode - iOS - Android
- Programming Hub - iOS - Android
If you learn by listening... which isn't ideal for learning to code but can be recommended so you can fully immerse yourself in the developer lifestyle whilst away from your computer.
- Code Newbie (This one is ideal for those new to coding)
- Software Engineering Daily
- The Hanselminutes Podcast
- Developer Tea
- freeCodeCamp Podcast
- Programming Throwdown
- Full Stack Radio
🎧 Audio Books
- The Pragmatic Programmer by David Thomas, Andrew Hunt
- The Complete Software Developer's Career Guide by John Sonmez
- Clean Code by Robert C. Martin
🗣️ Engage online
This one is a personal preference, it may not be for everyone. They say the best way to show your knowledge on a topic is to teach it and I agree. You can reach out to people in a variety of communities. Q & A sites like Quora and Stack Exchange allow you to offer solutions to problems you know the answer to around any topic.
Teaching and offering advice online improves your confidence. You open yourself up to scrutiny so it forces you to fact check and ensures your answers are always correct. The perfect way to cement what you have learnt. Putting what you have learned on the internet in blog posts or offering advice through Twitter not only improves your knowledge but also allows you to build your network of like-minded developers, making your efforts feel worthwhile and offering the potential for many more opportunities.
Talking of engaging online...
If what you have read was useful and you think others could benefit from it, please give it a share.
If you want to engage with me, I am on Twitter @TechPickleJoel
I'm a self-taught senior developer who achieved the position in 4 years. I want to inspire and teach others to do the same. If that sounds of interest to you, give me a follow on here and on Twitter.
Thanks for reading ❤️