10 Things I Learned in My First Week of Coding

Tips for aspiring developers

Tom Cole
10 min readApr 5, 2019

It was 2:00 a.m. on a Friday and I’d been fighting insomnia for hours when I finally sat up in bed, reached for my phone and Googled “Learn to code”. By the time my morning alarm sounded I had spent five hours reading articles, bookmarking websites, listening to podcast episodes, and planning my first week of learning, and I knew one thing with complete certainty: I’d found a passion. By the end of my first week of coding I knew a whole lot more…

1. There’s a wealth of free learning resources online

… many other learning paths are available … but it made sense for me to begin with free resources.

Freecodecamp, Codewars, Codewall, Github, Codepen… The list goes on and on for rich sources of free learning and support for aspiring developers! I chose freecodecamp.org to begin my coding journey because, for me, it presents a clean and clear learning platform with staged progression that feels well paced for a beginner like me.

Screenshot from Introduction to Basic HTML & HTML5 (Source: freecodecamp.org)

The site takes you from the basic fundamentals through to the more complex aspects of the topics covered on its comprehensive coding syllabus. Staged exercises and final projects get you to apply the knowledge you’ve gained straight away, keeping you challenged, but not plunging you out of your depth. You can take the projects as far as you want after passing the basic criteria, allowing for creative freedom to take things further with your own learning from other sources.

Of course, many other learning paths are available too, including premium courses, subscriptions, and bootcamps, but it made sense for me to begin with free resources. It’s a great starting point with no financial barrier or commitment, just your time and effort. But it’s also important to say here that you can (and should) make a voluntary donation if you’ve valued the resource. I certainly intend to show my appreciation to freecodecamp after landing that first certification, and, through doing so, support this amazing resource that helps keep coding accessible to all. It is part of our collective responsibility to contribute and support the future of our community and industry. It’s the same reason you see so many experienced developers offering free mentoring to newbie coders in their spare time. (If you’re interested in finding a mentor, platforms like coding coach are well worth a visit!)

2. The coding community is vibrant, diverse, and hugely supportive

We’re all going through this too, we get it, and we’re here to help. You’ve got this.

From the moment I began to engage with the online developer community I was overwhelmed by the warm welcome and acceptance I received. The coding network is as supportive, inclusive, and generous as it is vast! After just ten days on Twitter I’d already hit 500 followers and connected with aspiring and established developers from all over the world. And what’s remarkable is that I did nothing special to achieve this— I have zero marketing experience or social media savvy— I just engaged naturally with the people I found, followed others doing the same thing as me at various stages, and paid forward some of the support I was getting from everyone else.

After a few weeks I began to understand why there is this incredibly active community online. Doing this consistently is really hard. There will be days where you will just want to give up, tear your hair out and jettison your computer from your top-floor window because you can’t work out the problem, or you just feel isolated, slumped at your workspace in the wee hours trying to do this on your own, and it’s lonely. This is why there is a constant stream of positivity, honesty, and authenticity pumping through the community feeds. We’re all going through this too, we get it, and we’re here to help.
You’ve got this.

I highly recommend using a social media platform like Twitter to support and document your learning; not only does it offer great motivation and personal accountability from sharing your progress regularly, it also builds an important network of contacts in the industry when you’re ready to start applying for jobs. Personal motivational challenges like #100DaysofCode are very popular and help you find others with similar goals to you.

Some hashtags I like to follow and use on Twitter are:
#CodeNewbies
#100DaysofCode
#301DaysofCode
#WomanWhoCode
#WomenInTech
#WizardsInTech

3. It pays to take notes

Start early and establish good note-taking habits from the outset — you won’t regret it.

I can’t stress this point enough: Taking notes about what you’re learning in a way that works for you is, in my view, essential. I made the mistake of listening to some bad advice on this one. “Don’t bother taking notes in the beginning,” a long-established web developer told me, “You use that basic stuff so often that noting it down is a waste of time…” After three weeks of learning and tutorials, when I was ready to start my first projects and faced with an empty black coding window with nothing but my memory to go on, I really wished I had. I spent the next few days reviewing my learning and making the notes I wish I’d taken along the way!

A small sample of my personal coding notes.

Start early and establish good note-taking habits from the outset — you won’t regret it. I can really recommend Evernote for this, as your notes are fully searchable and live in the cloud. The other benefit is having them in electronic format, meaning snippets of code I need are at my fingertips, ready to cut and paste into my projects.

4. Planning your learning goals with a roadmap really helps

… creating a roadmap was an essential early task for me, and it’s an ongoing process of refinement and review.

How does anyone get from A to B? We’re used to using maps for our physical journeys, so why should your learning journey be any different? When it comes to planning where I want to go with my coding, creating a roadmap was an essential early task for me, and it’s an ongoing process of refinement and review. There’s a huge distance between Day 1 and the day I sit down to my first paid development job, so I want to know how that looks and be able to track my learning, see how far I’ve come, and where I’m going next, and adapt this along the way. Doing this has really helped me to maintain focus and direction in my learning time.

There are some great roadmap examples here on Medium — I found the following two articles very helpful when planning mine:

5. Podcasts are a great source of inspiration, interviews, and industry insights

Whenever I need a bit of motivation or a fresh perspective I go to my podcast library and immerse myself in some fascinating conversation.

Podcasts are fantastic during your screen breaks and downtime from focused work. Whenever I need a bit of motivation or a fresh perspective I go to my podcast library and immerse myself in some fascinating conversation. Here are a few of my top favourites.

Developer Tea is more like a daily meditation than a podcast. Jonathan Cutrell has a wonderfully calming voice that not only imparts incredibly relevant wisdom and insights for developers, it also soothes the soul. Episodes are short, usually 15 minutes, which is perfect with a brew. This is an essential daily staple for me now!

Egghead.io was one of the very first software development podcasts I discovered that sleepless night, when all I wanted to do was learn more about this work and how I could get into it! Packed with countless interviews with developers in the field, this is a great one for industry insights and stories.

The freeCodeCamp Podcast is an all-rounder for aspiring developers, with a focus on furthering learning, promoting open source and freedom of access to knowledge, and offers practical advice such as interview prep, which is invaluable.

6. It’s OK to ask for help, and it doesn’t make you a failure

Don’t be afraid to ask — you’ll be amazed at the amount of friendly and helpful responses you’ll receive...

This is so important to realise early on: Everyone is asking each other for help! There’s a reason Stack Overflow exists and is filled with thousands of posts from people of all skill levels seeking help and advice. Sometimes, it doesn’t matter how much you know, you just won’t have the experience to do something, and that’s OK. You’ve tried everything you can think of, you’ve scoured every forum post that seems remotely related to your frustratingly specific problem, and now it’s time to ask an expert in that area of knowledge. That’s a big part of how we learn and develop, and not just in tech. Don’t be afraid to ask — you’ll be amazed at the amount of friendly and helpful advice you’ll receive to get you back on track.

7. There’s A LOT of programming jargon to navigate

New terms are being coined on virtually a daily basis as people scramble to describe emerging technologies…

As the infamous Jargon File demonstrates, there is a lot of (often ridiculous) terminology to grapple with in the ever-changing tech industry. New terms are being coined on virtually a daily basis as people scramble to describe emerging technologies and how we interact with and work on them. Fortunately, the answers are just a search engine away, but here’s a useful starting resource for newbies.

8. The learning never stops, for anyone…

Even well-established senior developers are constantly adding to their knowledge and skillset.

Sometimes it can feel like you’re the only one who doesn’t know all this stuff and everyone else is an expert programmer. What I quickly realised from my conversations with my coding buddies online and the interviews I listened to is this: the learning never stops, for anyone. Even well-established senior developers are constantly adding to their knowledge and skillset. What you don’t know now doesn’t matter. What does is finding what ignites your passion and pursuing that. Drawing inspiration from others is fine, but keep on doing what interests you and follow your own road — one day you’ll look back and be amazed at how far you’ve come.

9. Deep thinking and grit are needed to do this well

It’s incredibly satisfying when you finally crack a nut you’ve been trying to break for hours!

Coding is a discipline that requires long periods of deep work and focus. It can also be incredibly frustrating, and demands a strong will and determination to push through and keep trying. You may face hours stuck on a single problem and you will need to keep varying your approach and trying new angles until you finally make it work. Therein lies the payoff, and the reason to keep on plugging away. It’s incredibly satisfying when you finally crack a nut you’ve been trying to break for hours!

Consequently, I’ve often found myself so deeply immersed in the work that I’ve lost track of time, and I haven’t moved, or eaten, or drank anything in hours. Observing this made me realise two things: coding is deep work, and part of learning the discipline is going to be about learning to resurface from those depths of concentration to look after myself. This is why I’ve saved the next tip until last, as it’s probably the most important thing I’ve learned so far…

10. Self-care is vitally important

Not only is self-care essential for your health and well-being, but that time spent away from your screen will also give you some distance and perspective to help you solve the problem.

Photo by Jacob Postuma on Unsplash

Burnout is the scourge of any industry, but is particularly rife in tech. Hours spent hunched at a desk, thinking hard and peering at a glowing screen is not healthy. My parting advice is this: Take regular screen breaks, stay hydrated, and move around as much as you can between periods of coding work.

Not only is self-care essential for your health and well-being, but that time spent away from your screen will also give you some distance and perspective to help you solve the problem. I often find that going for a run, practising yoga or doing some strength training completely refocuses my mind and gives me renewed energy to crack on with my projects with a fresh perspective.

Looking after yourself properly is one of the best things you can do to ensure the quality of your work, whether you’re building a wall, teaching a class, or changing the world with one line of code at a time! You are guaranteed to see a marked improvement in your productivity and effectiveness if you do.

I hope you found my experiences helpful. If you liked this article you can follow me on Medium (Tom Cole) and you can find me on Twitter here:

Thanks so much for reading, and happy coding!

📝 Read this story later in Journal.

🗞 Wake up every Sunday morning to the week’s most noteworthy Tech stories, opinions, and news waiting in your inbox: Get the noteworthy newsletter >

--

--

Tom Cole

Hi, I’m Tom Cole, a digital project manager and technophile with a passion for software, games, and writing!