So it’s no surprise that more businesses and individuals want to execute their digital aspirations themselves. Why not? If it can be learnt simply by looking up information online, why would you need a whole team of developers to build a website?
This question avoids a key fact that even though it can seem relatively simple for a developer or otherwise to make a site, it doesn’t mean they will produce a solution that has everything you would expect of it from looking at it. Any of us that are initiated with the world of development will be aware of the multitude of technologies that have come up in the past five years alone. When implementing a solution for a client, despite having all these vectors at our disposal, we know that most of them should not be ignored. This isn’t because they are not good technologies or don’t have advantages but that they are not the right tool for the job.
Sure, they might work, they might look pretty and they may initially appear to do what they claim to do, but will they remain so in the face of a new client feature request being rolled out, or a change in direction because of a decision by the company?
These are the kind of questions we ask ourselves every day when designing and implementing solutions for our clients, they are the questions that separate a product that looks good on the initial role out, to one that continues to showcase its careful design choices and adapt to the ongoing needs of the client long after it’s completion.
We do this by keeping up to date on the technologies we use in development and making sure that if there are tools that would enable us to work more efficiently or deliver better solutions, that we set out the time to implement them into our processes and train our team in effectively using them.
Delivering a product that continues to deliver itself. That’s the goal, but it’s not a trivial task, even for those of us that develop software. Understanding what is needed for the job is not just a matter of looking at the finished product and knowing the ways in which you can create it. You must have experience understanding what technologies go well together and where issues will arise.
Furthermore, you need to accommodate for assumptions made by clients, because despite best efforts, they will be made. Often people will expect something to work a certain way when in reality this might not be appropriate for the given solution. This can leave clients wondering why they didn’t get the product they thought they commissioned. Without these considerations, you end up with a clunky solution that breaks at the first sign of a change in spec.
Moreover, when designing website or application we must understand that it’s not just about something that works for the customer. You should put thought into how a system will be maintained and updated, both through content and functionality, so that it is not an absolute nightmare when you come to rolling out the next iteration. This comes down to knowing which technologies and procedures to use and how to correctly construct a system.
One example of a technology that assists us in this goal is our use of CSS pre-compilers and the workflow that surrounds that. Notably we use a pre-compiler called LESS which is a technology that allows us to write our CSS in a more expressive and well-structured syntax that helps us to easily maintain the code that represents the design choices of the client.
CSS code, which is the technology that provides the styling in websites needs to be present on the webpage to benefit from the styling, thus LESS (which needs to be put together, or ‘compiled’) needs to be recompiled every time we make a change, this could prove to be quite inefficient but we don’t just compile this ourselves every time, no we have computers to automate this process!
The main procedure developers strive to implement is DRY (Don’t repeat yourself) and SOLID methodologies. These are regarded as architectural doctrine by many developers and for good reason. DRY’s concept is simple but nonetheless is a powerful methodology and one that takes countless hours of practice to make second nature.
Though I won’t go into the full elaborations of SOLID (because it will not be of interest to anyone other than developers) I will summarise its goals as that of writing modular, elegant and easy to read code. Essentially DRY AND SOLID are guidelines trying to achieve the same concise style but SOLID elaborates more and its substituents apply more to object-oriented code.
When properly implemented these methodologies produce code that is hassle free to maintain and doesn’t absorb significant resources to debug when the inevitable problems encountered through the development process arise.
You might be thinking, why does this matter to me? Why is it important that your jobs at Miramar are made easier through the choices and approaches you take?
Firstly, the more obvious one, is that if we spend less time maintaining code on your behalf, then that’s less money spent on developers and quicker turnaround time on requested changes.
Furthermore, as the client you may want to make changes yourself, whether it be an update to a banner image on one of the pages, a new blog post or a developer adding a new page into an existing site infrastructure. The last thing you want when making one of these changes is to be diving into a convoluted system that is ugly, unintuitive and frankly just difficult to use.
Development is one of the key aspects of our job at Miramar that powers what we do. We are not just aware of coming trends, we communicate them regularly to our clients, and we’re confident to make suggestions based on those projections.
An integral part of producing consistent solutions for clients is good development practice which strikes the balance between using tried and tested methodologies whilst also being aware of the coming trends and using those that can work well with our current workflow.
In the current landscape of digital marketing there are a lot of parts to get right and this calls for both breadth and depth of knowledge. As with anything in life worth learning, most of this crucial knowledge can only be attained through putting in the hard work required to be good at it. But hard work is not the full story, because without the correct direction, hard work can be invested into the wrong domains and in the landscape of web development, that will quickly leave you with irrelevant knowledge. Being a developer isn’t just about understanding what you need to know, but also what not to know.