Software

Real Engineers Program

Real Engineers Program 451 376 Eric Roulo

Real engineers program

The best engineers I have ever worked with are software hackers. The code is usually not elegant, can hardly be used by others, and is so single-minded in purpose as to be *almost* useless. But it allows the author to get an almost impossible job done, and usually about 10x faster.

And therein lies the truth. If the $30k enterprise software can’t accomplish the job, the best engineers program around the deficiency. And this is what separates the best from the rest.

The best don’t complain about the fact the gui doesn’t have a radio button for that function, they provide the analysis needed for upper management to make informed, timely decisions.

Recommended Programming Languages

Recommended Programming Languages 600 374 Eric Roulo

RCI recommends that every engineer be a competent programmer. Programming forces a logical rigor into the solution of the engineering challenge and allows for the engineer to develop a framework in which to solve the problem. This ability to force the engineer to diagram their critical thinking is perhaps the best benefit from programming a solution to a general problem.

The recommendations for which language and tools to develop in follow:

  1.  Absolutely don’t be married to a single package for all applications 
  2. Open source, cross-platform solutions are freely scalable and tend to survive software and hardware upgrades well
  3. Are mainstream enough to have a good user base and support
  4. At a minimum know VBA for excel. If you don’t and you’re an engineer, you’re a disgrace

Packages that conform to this guidance that are reasonable common include

Python, Perl, C

You will likely see some heritage fortran code, but I don’t recommend learning it.

Some other good special function codes include Matlab.

For processing stress analysis I typically have a rule that says

for 1 calculation use MathCAD to show the longhand version of the solution and verify units are correct

for 100’s-1000’s of calculations, use excel and VBA that have been recoded to the solutions demonstrated in the MathCAD code. This provides a verification that the code is correct and allows you to select the worst-case calculation from the excel tables and provide a long hand example of it in MathCAD for your final report.

for > 10000 calculations, go to a pure software language like Perl or Python. They tend to scale better than VBA and can be put on a unix cluster to solve while you do other things on your PC. It is not uncommon to process 10’s of millions of individual margins. You just run out of cells in excel, memory, and time on a PC.