Programming
Understanding programming language is very helpful; I set time aside for programing and tuning my data base at years’ end, prepare for next year.
I am not a programmer but end user, which means I am result orientated one’s job is not working on the computer but getting the project completed. It means the software and program needs to be reliable and one must be able to use it fast, still consider coding knowledge a must!
The effect of computers and software in manufacturing is to make it flexible. It used to be rigid one could only build one part or two with a machine due to the mechanical linkages required to control the process. Today one does not use the mechanical feed back to control the machine but electrical sensors. The reason a consumer does not necessarily, see this is because there is a process called engineered obsolescence, in another words the part has to be cheap enough to fall apart, so one has to buy a new one!
An example of the impact of electronic sensors and computers in an industrial setting!
Have a drill I want to set up so it drills holes in steel plate at different locations that I mark out. Parts needed, two linear actuators one to control vertical motion and one to control horizontal motion. One-line sensor to detect marker, small computer to control everything. Assemble and one has a drill machine; one just needs to mark hole location push button and machine drills holes. There you have what is called an industrial robot! It would be able to drill hole anywhere as marked at any angle that is specified. None of this can be controlled with out code! Gone is the drill press that one buys at the machine shop!
This is a simple general overview in coding application relating to machines and manufacturing!
An important aspect to keep in mind about coding!                                                                 Any code should have documentation with it, telling the reader what the code is doing in this section.  When code is written for an application the coding language should be consistent, lets say the application is written in Visual Basic all of it should be in visual basic not some part in Java or other!
The tendency for a coder is to write what is most comfortable for him! If there are problems with the program down the road, one hires a new coder he may not be able to decipher the code or it will take a long time to repair. Leading to huge cost over runs!
This is one of the reasons some companies do not upgrade their old databases!
This is the simplest I can explain this issue which can be rather complex!

For construction management what I use is a normalized Access table! It integrates with office applications. I find it far superior than any other construction management program. For it allows me to modify everything to make it suitable for what one wishes to track.
The modifications and set up takes time, but once done reports and queries are easy to generate.
Data entry can be delegated, making tracking of tasks easy.
When managing large projects, with large crew multiple subcontractors all are working same time.
Let me give you an example of how powerful this tool is let’s start simple first!
You have a worker in the morning you give the person instructions of what he is supposed to do. From you WBS file you know the tasks and time required for the job.
Now you have ten or more nothing really changes except no time to give each verbally their tasks.
One uses Access to give each their tasks in writing (work ticket). Task completed come back get another work ticket!
What this set up has is a feed back loop, I touched on it in job safety.
Using this system extremely complex and large tasks can be assigned to individuals, groups, contractors etc. In a continues manner, with the work ticket coming back and getting new task the next process can be marked off.
The tasks assignments can be done by trained personal, progress reports can be generated using queries in access this is all at that point automatic. One has a track record for each worker at any given time. The same can be done using sub-contractors and modified as the job management requires.
If one needs to find an instance just go back and query the data base no paper work to look up. 
Benefit one is also controlling labor at the individual scale, it does not matter if there are hundreds or thousands worker. One can track and see what the workers job was at any given time and the time it took.
From the worker’s point of view one needs to be able to read and write English.
I have been very detailed oriented in planning, one can also monitor teams, sub contractor etc.
The key point it is! It is completely scalable in detail and what one needs to monitor!
It may seem daunting if one is not familiar with computers, by paper this would be enormous task! Tracking hundreds of individual tasks becomes easy using this technique, and one never forgets!