Today, computers are pervasive in our society. Far from the huge mainframes of forty years ago, microprocessors and control systems are now embedded in everything from personal communication devices through to household appliances, commerce, healthcare, banking, industry and more. There is a huge variety of applications and the scope and diversity are likely to grow further. But this growth doesn’t happen by accident. It is the product of the creativity of software and hardware developers. Across the globe, more people than ever before are choosing a developer career – around 27 million by current estimates – but the most successful software experts embrace the diversity and creativity that the omnipresence of electronic devices requires.
In this article, we’ll consider the value of creativity for software development and developer careers across the full range of domains. As examples, we’ll look at some of the diverse environmental and process monitoring solutions developed by Tecnosoft, a company that values the creativity of developers.
Introduction: A dev should be ready for anything
Software development has seen a massive expansion in the last few decades. Barely fifty years ago, it was only a task undertaken by different types of engineers, but since then, it has become an independently-defined and important engineering field. As it has grown, software development has learned from other disciplines – take, for example, the concept of design patterns, which originated in architecture. But software has also disseminated its own innovations, such as agile development. The term ‘agile’, which began as a software engineering paradigm, is now widely used (and often misused!) to inform business management practices as well as other fields.
Creativity is a central aspect of this growth. It promotes the forging of links between different domains of knowledge that spark new ideas, solutions and even ways of living. Indeed, it’s probably fair to say that software has penetrated virtually all aspects of our modern lives. Technical-collaborative solutions like DevOps have changed the way we think about teamwork and product development. But the conceptual changes go even deeper. No longer merely a control system for isolated applications, software is now a core part of our society. The way that we engage with and indeed understand our world is now deeply enmeshed with software systems and concepts.
Recently we have seen artificial intelligence and machine learning come to the fore. Some have predicted that these technologies will take over software engineering as well as other human productive activities, leading to a decline in developer career opportunities. However, leaving aside the hype, this looks unlikely, at least for the time being. Though AI systems may undoubtedly be productive in some areas, whether they are truly creative remains a vexed question. Creativity means producing something new, not just reproductions or recombinations of already existing entities or systems. At base then, machine learning still requires material to learn from – without this, it may effectively disintegrate, falling victim to what some theorists have called ‘model dementia’. In short, innovation needs creativity and creativity – still – means human imagination.
But as developers, we cannot be complacent about our creative capacities. More than ever, developers need to borrow ideas from problem domains in order to foster new ideas. Patterns derived from one field can motivate different approaches and genuinely novel thinking. That’s why it pays to try something new and be ready for anything. Such creative and open thinking ultimately drives technological change. And it can also be of great assistance in driving developer careers!
Some interesting projects by Tecnosoft
Tecnosoft’s development of data acquisition systems for many different fields and activities means it must embrace great diversity in its approach to technology. Creativity, collaboration and communication are key factors that drive their customer-focused innovations, meaning much is learned along the way. Here are three examples.
Smoking Meat
A centuries-old method of food preservation, smoking was traditionally carried out in smokehouses or chambers with built-in fireplaces. However, modern facilities tend to use stainless-steel chambers and digital control systems for larger-scale commercial production. For optimum quality and consistency, close monitoring is required. Accordingly, Tecnosoft has been requested by a Canadian food systems company to develop a monitoring application for smoked sausages.
The requirements were stringent – smoking temperatures needed to be observed and controlled throughout the smoking process with relevant alarms where necessary. The software system needed close integration with robust hardware featuring wireless monitoring capabilities. It also needed to be plug-and-play to avoid complex and inefficient setup stages. With no existing technologies up to the job, Tecnosoft decided to integrate and extend their DeepWave real-time monitoring system. Combining low-level hardware control with higher-level control logic, the solution proved invaluable for ensuring quality in smoked products but also led to broader application with their resulting M-100 ThermalWave monitoring system.
Optical Sensor for Railway Monitoring
Instruments known as dansometers have been used in the past and are still currently used in order to monitor the conditions of rails, as track ballast used to support sleepers deteriorates over time.
The drawback of these instruments is that they only record the maximum deformation of rails over a given period of time and they must be read manually, so they are only normally used during the maintenance process in order to measure the quantity of ballast that needs to be added.
FLX-Rail is a railway cant and swing monitoring system that measures and records the vertical deformation of rails as each train passes, producing data that is essential for maintenance and safety. The instrument itself is fixed to the rail with powerful magnets and acquisitions are triggered as each train approaches by vibrations detected in the rail itself. It communicates with a remote control and logging systems wirelessly. Low-level hardware control software is crucial here.
Telependulum
Plumb lines have been used by architects and engineers since antiquity to ensure true verticals in buildings and structures. The T-1000 Telependulum utilises the same basic physical concept but ties it to complex monitoring and calibration systems suitable for continuously monitoring artifacts like:
- Dams
- Skyscrapers
- Bell Towers
- Cooling Towers
- Elevator Shafts
The device uses optical technology to monitor the line position automatically and can communicate to other systems using Bluetooth, RS485 or 4-20mA outputs. The instrument also includes a self-calibration tool to check proper functioning after delivery. All these features require sophisticated software control to ensure reliability, consistency and top-notch analytics.
A 360° working process
What these projects show is that software monitoring systems can integrate with a diverse range of applications, operating at different levels of abstraction from underlying hardware and operational logic. This diversity is only achievable because of Tecnosoft’s commitment to collaborative and creative development. Their developers are encouraged to share ideas and offer suggestions, with the understanding that the best solutions often proceed through collective imaginative enterprise. Continued customer contact is also vital as the project proceeds, in order to gain more information about the final application, whose requirement may only become apparent through iterative development. Customers are encouraged to provide feedback to help guide development choices and roadmaps. This 360° view promotes more rigorous and well-tailored end products.
Serendipity and problem-solving
Such openness to new ideas is of obvious benefit when developing effective solutions to new problems. Often in such cases, while some existing technology can be leveraged in support, no single technology or tool meets the customer’s precise requirements. In such cases, creative ideas can really break new ground, not just for the specific project but for related technologies and future applications.
It is thus productive to encourage developers – as Tecnosoft does – to be creative and to share their ideas in an open and supportive environment. This approach is promoted not just at the design and development phase but also during testing, where real-world engagement with solutions can reveal factors that isolated development misses. Keeping developers involved at all stages helps to promote responsibility and engagement with the entire project lifecycle. Above all, the trust in developer creativity is of mutual benefit to all parties involved. Problems are met with innovative thinking, while developer career profiles are boosted by a wider range of expertise that lends itself to wider applications and creativity.