Recently, I've found myself wanting to get my hands dirty with code. Really dirty. My roles the last few years have resulted in me taking a bit of a step back from coding for the most part, which has had an impact on a few things;

  1. My confidence in my technical abilities dropped even further.
  2. My actual technical abilities have dropped off (this is more an objective view, than #1 which is a feelings-centered view)

It's a bit of a meme at this point, but people that delve into leadership-style positions (whether thats delivery managers, team leads, or [insert another leadership role here]), tend to step away from the code and focus on other things. Stakeholder management, putting out fires, making decisions™, helping others and the other million bits and pieces that make us get to the end of the week and be like 'wait... what have I actually done this week?'. Timesheets are the worst.

So if you combine the shtick of 'wait what have I produced' this week, with the insecurities that come with stepping away from the code a bit, all of a sudden several years have passed and you realise 'holy shit I am so out of touch'. I think Charity Majors articulated it the best, when she outlined "The Engineer/Manager Pendulum". I'd strongly recommend going and reading that, but the tl;dr I take from it is you'll likely swing back and forth between engineering and management, and that is completely ok. And should be encouraged! Do X until you've had enough and switch to Y, and back the other way. And that is completely ok.

So right now, I'm swinging pretty hard back to the engineering side of the pendulum. I still like the leadership-type stuff, but I have really missed doing things™.

Enter #100DaysOfCode.

I stumbled on this delightful little initiative on Twitter recently, as some of the peeps I follow on Twitter were participating. The rules are really simple;

  • Code for 1 hour a day, every day. Yes, even weekends.
  • Share your progress somewhere (ideally Twitter).

An hour can feel like a long time, and I um-ed and ah-ed back and forth for a good week before deciding to commit. My rationale was 'if I can spent an hour binging an anime and YouTube nearly every night, I can find some time for code'.

My mission was fairly simple;

  • My CSS and front-end skills in general suck, and I want to improve them.
  • Find out about this "Ayyyy Double-U Ess" thing everyone keeps talking about.
  • Grok TypeScript (and by extension Javascript) in a way where I don't need to constantly pester my mates every time TypeScript throws a tantrum.

So I committed. That tweet is forming the entire timeline for my journey through this, so if you want to see where I'm at, you can use that tweet as a starting point, with the entire timeline as a giant thread!

My task, at this point at least, is building out a dummy blog engine, based heavily on the style and theming of my actual blog! You can view my code over here, as I'm pushing to GitHub as well as CodeCommit for transparency.

And I don't think I've ever had much this fun programming in my life. I feel so, so productive during that hour. I can already notice my front-end skills feeling considerably sharper (at least in terms of layouts and basic styling, a designer I ain't lol). I've poked around CodeCommit (I have mixed feelings on this, but thats for another post). And my grasp on Javascript and Typescript is getting steadily stronger. Hell, today I got hot-module replacement working on my API, in one shot. ONE SHOT.

I'm also starting to understand the benefit of tools like SCSS and SASS, because my styles are messy as heck and my inner programmer is internally screaming with how the styles currently sit, as it's basically CSS spaghetti all over the place. That's for Future Adam™ though.

I definitely struggle with motivation some days, and really need to push myself to get through those tougher days. I find what helps is to just start coding, without thinking about it. Like a robot, grab my laptop and literally just start typing something. Anything. It doesn't even have to be code. That's usually enough to get me going. I'm also making a point to do my hour of coding before work. I'm normally pretty bloody tired by the end of a normal workday, and I know my motivation will suck by that point, so I'm trying to work around my own limitations and gaps and figuring out what works for me.

I'd 10/10 recommend this initiative if you're someone who is in a similar situation to me, or even just starting out in software development. That regular, structured form of practice that 100 Days of Code provides will show clear benefits within a couple of weeks.

Good luck, and happy coding <3