Coding again…

Doing far more Team Lead and Line Manager (TLLM) duties than I ever have before over the last year and a half has meant I haven’t been writing as much code as I would like to have been.

I enjoy coding.

I’ve coded for 15 years and I’ve seen it as a bit of a “calling” since the beginning.

When asked how I felt about my move into more TLLM duties, I described it thus:

Code is my weapon. I use it to beat back problems of a technical nature. Being asked to code less and manage more, is like being disarmed. How can I fight without a weapon?!

Weapons? Fighting? What?!

Anyway, all that has changed now. Circumstances being what they are, I’m back to coding 100% and like the good old days, it feels great!

So what’s in my near future?

React

It feels right. More right than Angular or even Backbone/Marionette. Not as right as ColdFusion though, but then nothing ever will.

I’m excited to learn it. To quote myself… “I want to smash it!”

It took a real effort on my part to ignore the ecosystem that surrounds React whilst learning. I had to stop myself from dipping into webpack, Flux, Redux, Babel, ES2015 etc.

I succeeded with all but ES2015. I love it too much to not use it. Which meant Babel too. But in-browser Babel, not Babel with webpack. An older version of Babel for sure, but good enough for learning React with an ES6 flavour without further expanding the knowledge surface area.

I also had to learn to be a beginner again. The frustration of learning a tool for a problem I already know how to solve 16 different ways was immense.

I took my own advice. I told myself I needed to iterate over things.

I believe that iterating over projects solves whole problems. Start to finish. With each new iteration, you do some things better and you make new mistakes to learn from.

So I:

  • Built something in React.
  • Built something else in React.
  • Built something in React with Redux.
  • Built something in React with webpack and Babel.
  • Built something in React with Redux with a flattened data store.
  • Built something in React with Redux with a nested data store.
  • Built a game using ES6 classes.

And by “something” I mostly mean todo applications!

Still to come:

Worries/Questions

How much should I know/learn about webpack?

Enough to know how to get ES2015 rocking. Enough to ease development with webpack-dev-server.

Am I using Redux correctly?

Flat vs. nested data. My advise, do both. See the problems for yourself.

React.createComponent() vs. extend React.Component?

Try one. Try the other. There are differences.

CSS

I’ve written CSS for most of my 15 years in development. I’ve always hated it.

Why? Because the notion of getting something to work how it’s supposed to work, by implementing a “hack”, sits wrong with me.

CSS developers would wear their knowledge of hacks as a badge of honour. I saw them as a major nuisance. The need for hacks, not the CSS devs!

Table layouts would get sites looking the same across all browsers, and yes, I’m going waaaaay back here. The effort in CSS was huge.

“But tables aren’t semantic!”

I know. But that wasn’t a concern back then. Cross-browser consistency was.

So now CSS has finally started to get its act together with Flexbox and Grid, I’m a lot more excited to use it.

Worries/Questions

Should I learn Sass or LESS?

I’ve not used Sass or LESS in any meaningful way. I’ve edited others’ work but have never set things up in a project for myself.

I’m going to hold off on any push to learn these. Mainly because I’m liking the sound of, and have heard good things about, CSS Modules.

What about “modern” naming styles like BEM?

I’m not a fan of BEM. I can’t get over the horrendous double hyphens. I understand their meaning, it just leaves a bad taste in my mouth.

And with all of the above in mind, I’m off to write some code. I think my CSS properties need some prefix love…

Show your support

Clapping shows how much you appreciated Adrian Lynch’s story.