Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

What are good skills to learn? 8

Status
Not open for further replies.

Eleventy

Mechanical
May 31, 2010
8
0
0
US
So I am a recent grad who is attempting to improve his skills at his job. I have kind of an itemized list (beyond the obvious "know what you are doing").

1. Become very good using Excel - easy way to organize information that is used across all industries
2. Learn Spanish - I am working in SW Kansas and many of our workers who I will be supervising speak poor English
3. Become much more proficient at computer programming

#3 is where I would like some advice, what are the best computer programming languages to learn? Fortran seems to very widely used and it can be put into Matlab/scilab programs. Should I start with Java and move onto C# then to Fortran/Matlab?

I guess here are the problems I want to solve (which might help people to give advice). I basically want to model these new systems to give our customers a better idea of how to use them, then to compare the customer's use of the system through acquired data (I am not sure exactly how the output of this acquired data will be) to the model.
 
Replies continue below

Recommended for you

My advice is always to put Access in front of Excel. When I used to teach database theory, I divided all data into "sources" of data and "uses" of data. Excel is a really good use of data and a HORRIBLE source of data. Being really proficient in Access (which is an excellent place to store source data) will make a large percentage of jobs that would otherwise be difficult and tedious into something that involves more "using data for engineering" than "collecting an collating data".

For example, a few years ago a company asked for bids to prepare their Spill Prevention and Countermeasure Control (SPCC) plan. They went to three medium sized engineering companies (the plans have to be stamped by a P.E.) and got bids ranging from $1.5 million to $3.2 million. They thought these were a bit high so they asked me to evaluate the problem. I told them I could do it for $225k. They nearly broke bones rushing me to sign a hard dollar bid. At the end of the project (on time) we should have billed them $221k instead of the $225k agreed upon. 100% of the difference between a 1/4 million dollar project and an estimate that was 14 times larger was data management. All three firms were going to manage a ton of data on 1,400 sites (including 1400 drawings) using Excel and AutoCad. I did the job in Access and Freehand.

Of all the projects I've done in a fairly long and very busy career, probably 70% had a database component and since the late '80's that database has been Access.

If you master Access as a data management tool that you go to before you even consider other tools, you will be considerably more effective than if you you get REALLY good at Excel. I see a lot of engineers at eng-tips.com who think that Excel is a reasonable engineering tool and that Access is for IT. When I look at the amazingly complex worksheets that they develop I wonder why they are willing to work that hard.

Learning a computer programing language is sometimes useful. I probably have mastered 6 of them over the years and every now and again I'm really glad I did. If I was going to recommend a program to learn I wouldn't hesitate to point someone toward Visual Basic. Most of the FORTRAN that I see was written by people my age when that was the best tool in the box (30 years ago). I recently needed to find a FORTRAN compiler to fix some code I wrote 20 years ago and it wasn't easy to find. I did eventually get a compiler that worked (the first three didn't) and finished the task. When I got some time I rewrote the program in VB and it works a lot better. If you are working in a variant of UNIX, the C++ is pretty useful, in Windows it is no better than VB and a lot more cryptic. One nice thing about VB is that all of the Microsoft applications that have a Macro interface use the same syntax as VB. You can trick them into using a FORTRAN or C++ module, but it is a bit involved.

David Simpson, PE
MuleShoe Engineering
Please see FAQ731-376 for tips on how to make the best use of Eng-Tips Fora.

"It is always a poor idea to ask your Bridge Club for medical advice or a collection of geek engineers for legal advice"
 
David gives good advice. I would also recommend VB but if you are starting from scratch, then VB.NET is much more efficient and stable. Most software will come with VBA and visual studio applications.
 
As part of my continuing education, I took a couple of Visual Basic courses a couple of years ago. And I learned Fortran long ago in college. However, what I found learning VB was that if you don't normally use it from day to day, you also forget it pretty fast. It's something where you sort of need to use it a lot or not at all.

I do use Excel a lot, don't have much need for Access. I'd probably save some time if I knew MathCAD, but haven't gotten into it.

I took a course on AutoCAD and actually do use it a lot. But one thing I have learned using it, is that while you can learn the basics pretty quickly, to actually get proficient with it takes a LOT of use. So, for example, you might think, "I'll just learn this FEA program on my own and then go get a better job from it." But in fact, it's hard to learn that program to the extent you need to without actually using it in your work. I think this is true of a lot of modern software, where the programs just have such an enormous range of features that you can use them for months and have features and commands you don't even know about.
 
I think that you need to consider this subject to be more about a toolbox, rather than a single "tool." A good toolbox contains a variety of tools, as befits the various tasks that might arise. Otherwise, you'd be equipped with perhaps a hammer, and will want everything to look like a nail. But, having screwdrivers, wrenches, etc., just makes for a much easier time for all concerned.

> Excel, good for general purpose calculations, displaying graphical data

> Access, as discussed by Dave, above, although I haven't personally needed to use it

> Mathcad, for calculations requiring units, is nonpareil, since it can swallow almost any SI or USCU without requiring conversions. Mathcad 14 will even accept furlong/fortnight as a legitimate calculation (166.31 um/s if you're curious)

> Studyworks, if Mathcad is too expensive. Studyworks is a stripped-down version of Mathcad. It won't do furlongs/fortnight out of the box, but you can define those units in your template. Can be gotten for way less than Mathcad:
> Visio, as a general purpose drawing tool with dimensioning, but there are others, like perhaps, Freehand

> Microsoft Project, if you have customers that like semi-professional looking schedules and Gantt charts

> VBA, if you plan on doing any customization of Excel, Word, Visio, Project, or Access. Most of the time, the affected programs come with macro recorders, so you can record the VBA code sequences that correspond to a sequence of operations that you perform with the keyboard, and you can then modify the resultant VBA code as needed or desired.

> Microsoft Visual C++ or VB Express are free programming packages


TTFN

FAQ731-376
 
I used to give "older engineer in the 'real world' " presentations to new engineering students. The slide that shook them up the most is summarized here:

Skills required to keep your job on a daily basis: all the technical "hard skill" stuff discussed above.

The "soft" skills required to advance your career beyond being a technical grunt slogging in the trenches:
Effective written & verbal communications, including public speaking.
Diplomacy and good social manners.
Strategic thinking and project planning.
Accounting, Finance, and payback calculations.
Marketing-think and salesmanship.
Leadership training.
Interpersonal relationships & conflict resolution.

All the technical 'hard' stuff is essential and you should certainly practice your trade. Don't neglect the skills required to 'go over to the dark side'.

TygerDawg
Blue Technik LLC
Virtuoso Robotics Engineering
 
Geez, David...you took me back to my dBase III programming days! I agree that flat file data management for anything other than a few data points is a waste of time. I'm going through a project right now that if I had taken the time to set up a relational data base for handling the various data, I'd be saving time right now..unfortunately I didn't and I should know better!
 
Ron, I keep getting short interval data (sub 1/60 sec) that people try to analyze in Excel. The data sets are too big to do much with, and comparing one set with another is often impossible in Excel. I load the data into Access (usually from the raw text file since they often corrupt the data while cramming it into Excel) and find that I can do anything I want with it. The originators of the data think I'm a magician, and I don't tell them differently. I've had several people restart projects in the middle using Access instead of Excel and end up with a net savings in time.

IRStuff, I didn't think of MathCAD, but I really wish it had been around when I was staring out. I didn't find it until about 1994 and still have several of the pre-MathCAD folders of useful formulae that I'm not sure what units are required.

David
 
One thing I especially like about Mathcad is that, unless you leave out units altogether, it makes sure all of your units are compatible with each other. It won't allow you to do things like adding lbs to psi, and if the units of your solution aren't the ones you were expecting, you know you have made an error some place.
 
tygerdawg,

I gave you a purple star because you have listed exactly what I would have said. I did not know this when I was young and fresh out of school. I had to learn the hard way, by making many, many mistakes. I still refer to a number of good references that are useful outside of the office as well.

Eleventy, I'll come up with a list if you are interested. In the meantime, look up 'non-violent communication' and 'enneagram'. I'll have to get the name of the book and authors of a reference for dealing with difficult people in the office.



"If you are going to walk on thin ice, you might as well dance!"
 
Python is a good programing language to learn.

1) Its free

2) It has numpy and scipy modules that allow it to be used in scientific computing.

3) It is considered to be easier to learn than C or Java.

 
Hello everybody:

Eleventy; do not forget to learn spanish, if you have that desire (necessity), because it can help you tremendously to perform professionally your tasks as Supervisor.

Te deseo éxitos en tus actividades. Hasta pronto.
 
Where I work in Puerto Rico, all the employees are required to speak english. Also there are so many people who do speak english, that I have found that speaking spanish is not needed to get along. I would recomend learning spanish as I am sure that if I did understand it, I would find some thing easier and more enjoyable from a personal and not professional point of view.

Peter Stockhausen
Senior Design Analyst (Checker)
Infotech Aerospace Services
 
I'd say learn Chinese at this point if I were to learn a language. Its where everything is going. I know Spanish and work in a company with about 20 facilities in South America. Still have had need for it because anyone technical in those countries knows English.

 
That's an interesting suggestion. BUT, bear in mind that 25 yrs ago, the suggested language to learn was Japanese, because the empire of the rising sun was go to take over the world. Now, we barely hear a peep about Japan itself, and many of its products are actually being produced in the US.

TTFN

FAQ731-376
 
People skills without question is the number 1 skill that any young professional should continually try to develop. Excel skills are important because you can tailor programs to suit your needs to become more efficient in your daily tasks.
 
Learn to write and speak clear and concise English. It amazes me sometimes just how bad engineers' writing can be. It amazes me even more that they don't realise how damaging it is to their success, and that some even see bad English as some kind of badge of honour.

Some engineers cannot even interpret passages of text correctly. This is very important what with all the codes, standards and legal definitions that are relevant to engineering. Once a definition is written, it's interpretation can be detrimentally important. Interpret it wrongly at your peril (lots of rework when you're eventually pulled up on it). Interpret it 'creatively', and justify your interpretation, and you just might have found an advantage that you're competitors haven't picked up on.

In writing communications, you should really be trying to influence the other party if you are pursuing 'success'. If you cannot write coherently, you have little chance of being successful in this way.

When writing you need to read your text back to yourself and predict how the the intended reader will react to the words you used. If this isn't how you wanted, then you need to use different words.

This is sometimes called framing, and it's a very powerful technique. If you're clever you can frame what might otherwise be considered bad news into something positive. You can justify seemingly high quoted prices to customers and still secure orders. You can persuade them to drop requirements you don't agree with so much, and you can persuade them to do it your way.

All that technical knowledge in your brain is worth s**t if people aren't willing to listen to you when you communicate it. Worse, you may end up unwittingly telling someone something you don't actually mean, solely through bad choice of words. This is surprisingly common, and is a common cause of conflict and resentment in the workplace.

There is also the idea that clear and concise language is often taken as an indicator of wisdom. Listening very carefully, and thinking before speaking. Then only saying what is necessary, using only the words necessary - no more.

Engineers who like the sound of their own voices, and spend 30 minutes 'explaining' what could have been said in one or two sentences, really annoy me. It's inefficient, costly and demotivating to others.

Being eloquent in your words really is one of the best ways of being more effective as an engineer.

And I used to hate English classes when I was at school! :)
 
Learn to write Matlab MEX files.

Not many people can actually do this, but there is always a need for a MEX-er in a Matlab-using engineering community.

- Steve
 
In addition to the comments of tygerdawg and tph213, learn how to communicate most effectively to your audience. Communication forms/methods must be different when your audience is your peer group in a technical discussion, upper management, Owner representative, craft supervision, craft labor or the village idiot.

 
Status
Not open for further replies.
Back
Top