We all need to come out of this pandemic stronger and better. So now is a great time for thinking about how you can be more efficient and more focused.
It may be that your automation can be improved by making it more functional and less cumbersome. Have a think about what you would like and then call us to discuss whether it is possible. (The chances are it is!)
One area worth considering is the configurability of your software. It should be possible to put all sorts of options into your software so that it can work in a variety of different ways. Here are some examples:
All sorts of settings can be made configurable – things like alarm limits, timeouts and COM port numbers for devices.
The sequence of operations that your software runs through can also be made configurable. (This is what our Sequence Builder toolkit is all about.)
Even the hardware in your system can be configurable. Recently, we have added the capability of monitoring 9 “peripheral” devices in systems manufactured by Electrolab Biotech. The software allows any combination and any number of these devices to be used. They can also be added on a “plug and play basis” where the software detects when another device has been connected.
At LiveWires, we can find you a team of good LabVIEW programmers if that’s what you want, However, there are some downsides with throwing numbers of developers at a project, and as a result, we normally supply a single very experienced and productive developer, Tim Fellows. Other companies bring together less experienced programmers (we could call such a company a “LabVIEW agency”!). Here is a little story to illustrate this.
An Allegory – Plastering
Let’s say you need a new room plastered in your home and you know a good plasterer who charges £20 per hour. But then a salesman knocks on your door and says he could send a team of plasterers and they will do it for £10 per hour per person. It seems like a no-brainer. But what he doesn’t tell you is that his people have limited experience, work slowly and produce shoddy work.
Now if you go with your original contact, the proper plasterer, he’ll take two days and do a great job with minimal disruption. “Job’s a goodun” as they say in the UK! But if you go with the other option, you will get 4 so-called plasterers and after 2 days you realise that they are only half finished, the walls they have completed are not flat and the carpets are a mess. So the job now starts taking up your time and emotional energy and you get them to rework sections and clean up the carpet. After a week, they have finished. You have paid 5 times what you would have paid the proper plasterer and the end result is not as good.
Could This Be True of a LabVIEW Agency?
We believe this is happening all the time with software development (including LabVIEW). Agencies claim to have good programmers but in reality they will pick up any newcomer who wants to sign with them. If you get 4 programmers from a LabVIEW agency, perhaps one or two will be moderately experienced and the others will be relative newcomers. The more experienced one(s) will spend a lot of time checking and correcting the work of the others.
I have seen this first hand. Companies sometimes feel reassured at the start because of the number of workers being thrown at the project, but later, they regret their decision at length. To make matters worse it is hard to backpedal later on. The programmers from the LabVIEW agency can produce so much inefficient code that anyone else taking it over would need a very long time to untangle it all. Often, the only realistic way to proceed is to start again from scratch, but this can be hard for management to accept.
The moral: the LabVIEW world is like many others, you are better off with one organ grinder than several monkeys!
Our chief LabVIEW developer, Tim Fellows, recently took his LabVIEW Developer Recertification exam (for the umpteenth time) and gained a score of 95% (when the pass mark was 70%). But how important are such qualifications?
If you took on an engineering graduate with a 1st class degree from an excellent university, would you make them a senior engineer straight away? On the other side of the coin, do all your senior engineers have 1st class degrees from an excellent universities? We all know that both exam success and experience are important.
There are a few LabVIEW certification exams. The most basic one is the Certified LabVIEW Associate Developer qualification, but more serious programmers tend to move on to become Certified LabVIEW Developers. There are other qualifications but we currently take the view that, to our customers, it is not important whether we have them or not. LabVIEW developers with such qualifications know some of the theory, but it does not necessarily show how proficient they are at handling a real-life project. So when looking for a LabVIEW developer, don’t assume that qualifications alone will mean that you get excellent service.
At LiveWires, we have Exams, Experience and Excellence!
Here is a scenario we are probably all familiar with. This story had a happy ending!
Here at LiveWires, we used to have a rented property and for two and a half years, we had problems with the fridge. It was an expensive fridge but ice was building up at the back and every six weeks or so, I would have to hack out a large bowl full of the stuff. This meant emptying food, getting on my knees and using a knife and hairdryer to get the ice out bit by bit. The rental agent sent an appliance specialist to try to fix the problem. He was mystified and tried various things over a long period of time, but to no avail. On about his 6th visit (a month or so ago), he replaced some sensors and this fixed the ice problem but the fridge was then too warm and was flashing an error code. Food started going off much too fast. Eventually the rental agent called in a expert who showed me what a poor job the appliance specialist had done with the sensors (they were wrapped in parcel tape and some were in the wrong positions). After a couple of hours, the expert had sorted out the sensors and the fridge finally worked properly.
This reminded me of the programming world. It’s tough because the cheap option is so appealing, but in the long term it usually turns out considerably slower and more expensive. It reminds me of a saying I saw recently:
“The bitterness of poor quality remains long after the sweetness of low price is forgotten.”
If you are wondering about the quality of the work we do here at LiveWires, there are a few things you can do:
Software development (or computer programming) is much like solving the Rubik’s Cube. I’ll explain what I mean.
There are two types of “Rubik’s Cubist”. The first type prefers to find out from others how to solve it (using a standard set of moves), but then practises these moves until they can solve it without fail every time.
The second type takes up the challenge of solving the puzzle from scratch without help. This is obviously complicated and takes time and patience.
Software development is actually a combination of these two processes. The vast majority of programs require quite a lot of standard functions such as file handling functions. The developer needs to know these, just like the first type of cubist needs to know the standard moves.
However, virtually every program has features that are unique to it and that need to be figured out carefully. An example of this would be the high-level structure, which is usually unique to each program. A good developer knows the standard tools and can use them appropriately, but can also solve tricky logic problems that are unique to the program he or she is developing.
Some cubists of the first type have taken things to extremes and solve the cube in just a few seconds, the current world record being 4.9 seconds.
Similarly, the best developers are always keen to do things in the quickest and most efficient way. Interestingly, when speed cubists solve the cube, they study it for perhaps 20 or 30 seconds before starting. In the same way, good developers know that plenty of preparation, in the form of design work, is required before diving into coding.
Finally, the cubist works independently of others, but the best software developers are good at collaborating with other people who are involved with the project as a whole, such as marketing experts, management and sometimes customers and other developers.
So in summary, my characteristics of good software developers are:
A good knowledge of their language, including the standard building blocks they will use
An ability to solve tricky logic issues
A desire to work quickly and efficiently
An ability to collaborate effectively with other professionals who are involved in the project
Whilst we can assist with Rubik’s Cube problems, it could be much more useful to you that we are highly skilled LabVIEW programmers, with extensive skills and experience in projects of all sizes. If you’re in need of a LabVIEW solution, contact us on +44 7979 187323 to find out more.