The Internet has become such a complex entity that, since its inception, each decade has added on a slew of job titles and descriptions. Work in the IT sector has become more and more specialized and defined. Whereas in the 80s we had engineers, and in the 90s we had hardware technicians and software engineers, turning the century, we also found a need to diversify even further, into network engineers, network technicians, network security, software developers, software engineers, web developers, systems administrators, database administrators, testers, and many, many others.
The job descriptions attached to each of these titles may seem nebulous to the lay person. However, when talking to software engineer Andy about such a crucial yet overlooked aspect of the job, data backup, it becomes clear that there is quite a clear distinction between software developers and software engineers.
The conversation began with the topic of data backup, and how even the pinnacle of the IT gods, the software engineers and developers, can forget to back up their work. Why? Andy says it’s a couple of factors working together.
Firstly, there is the “it can’t happen to me (again)” syndrome. Coders can become a little careless under time pressure, and Andy says he has fallen into the trap of thinking, “this iteration of the code can’t go wrong, so just get it done and loaded.” And of course, then the power cuts out, or the power supply in the machine fails, or a number of other things that never happen and should never happen do happen.
Andy says there is also the time and workload pressure adding to the issue. “The client employs you to produce results. They aren’t going to congratulate you for doing an hour of backups at the end of the day.” And although the company might bill for it, time is always precious, and an experienced and confident coder will rather save it for coding, rather than backups, even though it’s the responsible thing to do.
Engineer Vs. Developer
Andy explains the difference between a software engineer and a software developer. A developer is brought in by the management to develop a product using an expected framework and specified tools, where an engineer is brought in to create the framework and design the tools in response to the client’s problem, request or vision.
Similarly (for the layperson), in construction, the architect will design the building, and the builder works from those designs to build the structure.
Unlike constructions, though, there is a certain amount of overlap, and a successful engineer should also be able to develop code to a client’s specifications.
“The problem is that with all of the apps out there that anyone can buy and use to create solutions, it doesn’t look so difficult, so they buy the package and do it themselves, and then bring us in when it doesn’t work. But the client doesn’t want to let us do the thing from scratch because then he’s invested his money in buying that package, so we’re stuck with fixing the parts that don’t work. We usually have to deal with a fair amount of this, and it’s not easy fixing another person’s code. It’s just easier to do it from scratch.”
So the workload mounts up as the coder sifts through lines of (someone else’s) code to fix problems, clients are expecting results, but are unwilling to allow time for the basics because it is an invisible benefit. As long as nothing goes wrong, the backups won’t be necessary. When something does go wrong, those backups are crucial.
In the coder’s field of work, whether it is the software developer or software engineer, keeping track of each stage of product development is a time-saving habit that helps to clearly define each step. There are online open source platforms that allow a coder to create and load each change, with notes and a sharing option for the client to view the succession of changes.
This kind of cloud-based save is pragmatic, in that it is less likely to fail than the other options, which are the standard onboard hard drive back up, and the external or USB drive back up.
“An option, if the company has the financial resources, is to host its own cloud-based server, but that requires a skilled resource to set up and maintain, and the equipment on which to host it generally works out more expensive, and your hosting costs are higher,” explains Andy.
Andy also suggests commercial data backup solutions for companies that don’t have the expertise to manage open source backup solutions in-house.
“The most important thing is peace of mind”, he concludes. “Work with a backup solution you know you can rely on”.