Howdy! I’m John, and I craft software.
Latest from the blog
I care about code
When I was about 12 years old every student in my class got to spend some time with a local business. I got to be with the local newspaper, whereupon I managed to break their camera. I spent the rest of my week, in small cupboard underneath the stairs, with the newspaper’s web developer (rocking an iMac G3).
I remember being so impressed that a few lines of text could display images, animations, link stuff together and all this cool stuff! It was all very exciting. Somehow my mum managed to print out (on paper!) a whole bunch of HTML tags. HTML lead me to CSS and JS. Not before long this lead to more traditional programming languages like PHP, Python and Java. The ball was rolling and, hasn’t stopped yet. I took my computer science bachelor at Aberystwyth University and since then worked as a professional software developer in Norway.
So far in my career I have been a part of a failed startup, made automated test tools, crafted solutions for the Norwegian healthcare industry, created core banking systems and more. Throughout my years I have fostered great appreciation and respect for my craft.
Code Quality.
I aim to craft code which is maintainable, adaptable and pleasant to read. That the code works is the bare minimum which can be required, it must also display quality. I believe this can only be achieved by following what the industry considers best practices while constantly evaluating what aids quality and what doesn’t.
Architecture.
Software architecture is difficult. Solutions which do not consider architecture quickly become difficult to change and adapt. Such solutions has a tendency to move into the realm of legacy. Bad architecture slows down innovation and can, in time, lead to a huge amounts of technical debt. I spend a lot of my time thinking about how we craft solutions and how we it can be done in a sustainable way.
Automated Testing.
I value automated testing, almost to a fault. My goal is to create working and correct software and the only way to truly do that is to embrace test automation. I have been on projects without any sort of testing and I have developed internal testing tools I truly see the benefits test automation can bring to software.
FAQs
What kind of developer are you?
I like to think of myself as a somewhat versatile developer. I have experience in being a regular developer working with a wide range of technologies, but I also have experience being a team lead, project architect, tech lead and a handful of other roles. To me, technologies are just tools and I pride myself in being comfortable switching into something I don’t know.
My specialities currently lie within Java and C#, but I’d love to explore the world of Elixir.
Are you Agile?
Definitely! Or I like to think I am. Am I the kind of Agile you think of? Probably not.
I guess I’m what you’d call an “Agil maximalist”, which to me means that I’m always trying to push the way we work towards the ideal described in the Agile manifesto. This results in a workflow that values customer impact, best practices, short feedback loops and communication. My ideal developer process requires trust in developers, and in return, developers must display discipline.
Teams should be self-organizing and largely independent while serving the overall goal of the organization.
I also believe that “Agile” frameworks such as Scrum does more harm than good.
Can you do DevOps?
I guess so. I’ve been involved with multiple projects that are all about giving teams more control of everything from deployment to hosting. I’ve worked heavily with automated testing and CI/CD pipelines, both on-prem and cloud solutions.
Though, I am no “ops” person. I won’t be setting up any infrastructure anytime soon.
Are you a full-stack developer?
No. I know quite a bit about the technologies and capabilities of frontend technologies, but I am dreadful at actually doing it. For some reason, it has never resonated.