Sometimes it can be hard to choose the right technology for the job, there’s a lot of factors at play there. You might need to take into consideration what technology is already available; where your new hardware or software needs to fit with the existing; whether this is a hardware change, a software change or both; how much money you have to spend; whether you really need a change or not. The list goes on.
The temptation can be to always pick the new shiny, regardless of cost; others might stick to the tried and tested, even when there are known weaknesses. Whilst many people stick to one route or the other, there is, of course, a wide expanse of grey area between them. It’s in the navigation of that grey area where I believe I can help the most.
First, we must start with where we are now: What works well? What is lacking? Then we want to look at where we want to be in the next year/5 years/10 years. From that point, it is possible to begin to determine what steps will need to be taken to get there. It might be that there are 5 different goals spread across the next 5 years, some may be achievable with minor changes, some may require huge upheaval.
As a simplistic example, let’s look at this website. I’m a software developer with at least 15 years experience of developing websites, starting from very simple sites to more recently building complex line-of-business (LoB) applications. This site had evolved with me, gradually getting more complex from humble beginnings as a very basic collection of pages. When the time came to update and modernise it I had to balance several concerns:
- I wanted an easy to update Content Management System (CMS)
- I wanted to include regular updates in the form of blog posts or news bulletins
- I wanted it to run on my existing web host
- I wanted it to have a nice design
- I needed it to be quick to develop and easy to maintain as this was a hobby project and I didn’t have much time to spare
I could’ve created something of my own, from scratch, code that I would understand back-to-front and would work exactly as I wanted it to; of course it might have bugs early on and it’s own idiosyncrasies, but they would be my bugs and my idiosyncrasies. The other factor I had to take into consideration was, of course, my own pride. Building the site from scratch would’ve been great, but it would’ve taken time and might not have immediately had the sort of polish I wanted.
In the end, it seemed that the best way to reach my goals efficiently was to use an existing CMS and for me, at that time WordPress was the right choice. Perhaps one day I might go back and create something all my own, but for now, it’s hard to see much of a reason to do that. There is no need for me to reinvent the wheel when what I want to do is make my life as easy as possible, and wasn’t that the promise of technology? It’s far more likely that I will find myself developing a plugin or extension to WordPress to fulfil some specific need rather than replacing the entire site.
Programmers enjoy programming, there’s a reason that we leave work only to get home and start coding our own projects; we’re problem solvers and tinkerers by nature. It’s not really that surprising that my first instinct was to create something new from scratch. There’s a common problem in the software world of the “not invented here” mentality, where people will actively avoid existing solutions in favour of developing their own (there are still times when I feel this may be the best choice). It’s possible that if you’ve ever dealt with another software developer you’ve come across this problem, and the great expense attached to it.
If you’ve come across a problem, but the solution has seemed too complex, there’s a chance that it might have been. Perhaps it was a hardware problem, but the people you spoke to wanted to sell you software; perhaps your software is lacking, but people wanted to sell you new hardware, or you just wanted one piece of software to talk to another and someone suggested replacing both at great expense. There might just be another way.
In my personal life, I’m all for automating repetitive and mundane tasks, but I also like spending time with my family and the Cornish landscape too. When it comes to personal projects I’m of the mindset that I should aim to achieve the biggest impact with the lowest effort and cost. I’d very much like to work with you and your business to see what kind of impact we can make with that same mindset.
If this has piqued your interest, you might find some of the upcoming posts of interest, where I’ll be talking about:
Contact me if you want some more information.
Photo credit: Working by Paweł Kadysz