Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Software Development within Engineering Firms or Departments 3

Status
Not open for further replies.

scjames

Mechanical
Jun 5, 2012
10

Do software development positions exist within engineering firms or departments?

I'm pretty new to this forum, but I have seen a goodly number of people with some impressive experience within the world of engineering. Hopefully there is some guidance or knowledge about this sub-field.

I recently graduated with a degree in Mechanical Engineering. Before engineering school, I was a software developer, a job which I enjoyed for about 10 yrs. In the interest of moving my career forward, I went to school for the technical degree. I found that there are lot of very interesting problems, systems, and questions in engineering. I would like to stay within the engineering realm, but the money, job responsibility, and technical challenge just doesn't match what I can find within the software realm.

So here's what I'm thinking: get a job within a reasonably sized engineering firm as the resident software developer. Preferably, I would write software for various one off calculations, models, or control algorithms. But for my bread and butter, I could fix all the messed up spreadsheets that the guy from 8 years ago left behind or I could write software to improve work flow.

Do engineering firms hire such people, or is this sort of work outsourced? What would such a position be called?
 
Replies continue below

Recommended for you

From my experience, there is not often a dedicated position for such, but I've seen that evolve within firms. You might need to get into a position as an engineer and look for opportunities to show your skills along the lines you mentioned. While it is often hard to sell engineering firms on overhead positions, if you are productive in billable time and can demonstrate a benefit to the firm while still providing some level of revenue production, it can work.
 
The big engineering firms are REALLY big. I just did a small job for one of them and spent a couple of days with their IT department trying to get their sharepoint site to allow me to download the files I needed. Their IT department seemed to be a cast of dozens. I have to think that they do something other than "my computer is broke" kind of junk. Check with KBR, Jacobs, Fleur, etc.

David Simpson, PE
MuleShoe Engineering

"Belief" is the acceptance of an hypotheses in the absence of data.
"Prejudice" is having an opinion not supported by the preponderance of the data.
"Knowledge" is only found through the accumulation and analysis of data.
 
I was a software developer for 6 years before getting my Mech-E degree and entering the engineering world (I never suggest doing this, software companies are magical Disney Land like places with no rules, little stress, free M&M's and ergonomic chairs... Engineering firms are soul grinding where houses full of alcoholics and soulless salesmen)... I find that i spend most of my Frankenstein-ing out solutions out of existing software packages.

Its almost impossible to convince management in engineering firms to spend money on software upgrades, or allot time for R&D (outside of a sell-able product). I put out my first major "software" monster out completely done on my time, I showed them that it took me 20 hours of work to save a department of 8 people about an hour a day per person (Not engineers, so their billable hour range was a lot lower, but still... 8 hours a day adds up!).

After that I've gotten some leeway, but they also took that as "This kid shows initiative! BURY HIM IN PROJECTS AND DEMAND THE IMPOSSIBLE!"
 
Do not confuse IT departments with Software Development. They might be able to help out with trivial problems connected with M$ products, but you won't often find any programmers in there. Sometimes you find IT people who can write scripts to help with admin tasks, but that's normally the limt.

I don't think my current employer has a single roving (i.e. resident) programmer (i.e. no fixed responsibilities or deliverables, just a general good egg).

My experience of software development in engineering companies is that it's very often carried out by individuals to help with a repetative or computationally complex task. It's rarely planned and costed for and some might see it as a clandestine activity. For example, writing complex user functions to bolt into and extend commercial software. But if the software tool or process created starts looking valuable, the business/management people will want to sell it, either as a product or as a value-added service. That's when things can get a bit messy.

Some companies have research departments that produce and support (typically) simulations for in-house use by their own engineers. Having said that, if I had a pound for every time I've heard a senior manager at an OEM/Tier1 state that "this company is not in the software business, we are in the business of making and selling widgets" I'd have retired by now.

And finally, some engineering companies have a ring-fenced team that write engineering software intentionally for sale. This team has the benefit of contact with the rest of the organisation, but rarely sees oil/grease.


- Steve
 
I did this for years in conjunction with structural engineering. Actually wrote some of the earliest software in our business. This is mid-70's. Not sure what is available now - but I thoroughly enjoyed and I believe I did a great job because I knew both sides of the problem - engineering and software. Today - it takes at least an engineer and IT guy working together to do what I did. Engineer tells IT guy what to program, engineer checks and debugs and around and around they go.
 
The very broad area defined as "control engineering" may have some opportunities.

Machine builders, system integrators, and the like have tasks requiring "custom software development" to make machines work, analyze & move data, etc. I know many folks in the robotics field that fancy themselves "software engineers". The downside is that the industry perception of "controls engineers" tends to gravitate (unfairly, IMHO) to electrical engineers for some reason. So you'll have to work harder at selling yourself if you pursue ME.

TygerDawg
Blue Technik LLC
Virtuoso Robotics Engineering
 
I think that it gravitates more to the electrical engineering realm because most of the electives in the EE program today are based around controls, embedded systems, industrial controls. I just graduated last December and since the University I attended had lost their power professor most of the available electives were based on those 3 I named. They were open to ME, Civils and other engineering types but they were conducted in the EE labs and on the EE floor of the building by EE and Computer Engineering people. And a lot of the undergraduate required courses for the EE path involved 2 or 3 programming courses in C, C++, verilog HDL and touched on assembly and machine code where as the computer engineering path had a lot more of the programming. There were hardly any other engineering disciplines in those courses but they also weren't required for their degrees.

Just my experience from my university I am sure it slightly varies from place to place but even looking at the FE testing sections (based on the new criteria changing in 2014) only computer engineers and electrical engineers have a lot of the focus on computer networking, computer programming etc.
 
You might want to send a speculative email to GLE (Gas Liquids Engineering), whom you can Google. They do custom spreadsheets, some software (I think) and even IPAD / IPHONE Apps, although their core business is otherwise EPC in Oil and Gas.

So, my experience is that there appears to be a market for it. I myself do custom spreadsheets from time to time, but they usually end up being owned lock stock and barrel by the company I develop them for, and I know pretty much nothing about VBA, so I have not gone into business for myself doing it.
 
I'm sure a company that provides mechanical engineering software for other companies would be happy to have the services of someone that understands both. In the structural realm, I know companies such as Bentley and CSC hire structural engineers to develop software for structural engineers. I'm confident mechanical engineering has an equivalent. If that's the type of work you're looking for, that's where you should start. As mentioned by several posters, not many firms have the resources to hire a software developer full-time.
 
Wow. Thanks for all the great advice guys. I have a lot of directions to look... time to get looking.

I guess steellion sums things up well, it's not for lack of interest -- but lack of resources that keeps the engineering firms from hiring software guys. But, I hear from others that there are larger firms and specialized firms which may be able to invest in software. So, some good news, but a tough search.

jmcoope3 - yeah, I already drank that engineering Kool-aid, too. I too miss the shangri-la that is the software world. I guess some good sized part of me thinks that 25 years from now, engineering will be able to provide a much better job than software. But, from my current vantage, it's difficult to see how the switch was worth the money and time invested. Also, the outlook for job prospects looks pretty bleak for the next 3-5 years (further impacting the investment).

Thanks again for the feedback everyone.


 
Sharepoint is, by all appearances, looking like being the shared replacement to everyone using excel spreadsheets, with a similar level of success...

That said, I know of one guy who managed to create his own business managing a DB he set up to manage RTU configurations for a SCADA system as he developed it and no one else had the skill set to take over. Obviously he started off as an employee.
 
Caterpillar has people with engr backgrounds who develop in-house simulation tools. I know a couple of guys who work there, on that... they might even be hiring (not sure)

Ricardo Inc is a company that does both engineering consulting and s/w dev, maybe have a look at their website.
 
Go ahead and start working with a mid sized ME firm and pick up design and analysis skills. After about 2 years ( and on your own time & resources) start developing your own ME software. Go all the way, find what software the ME market needs, write it, market it and sell it in your own SCJ software website.

If you want to practice earlier than two years, go to websites like freelancer.com & elance.com and bid on engineering software projects. Don't forget to pick up marketing skills along the way- this will make or break your software company.
 
We have 3 embedded software engineers where I work, in the LED industry. Intelligence is being added to everything now, and companies need folks incorporated in their teams that prevent outsourcing (which manifests into slower time to market). Look to work with companies that have electronics integral to their products. Even toasters are smart today.

"Art without engineering is dreaming; Engineering without art is calculating."

Have you read faq731-376 to make the best use of these Forums?
 
My first employer (Lucas CAV, now part of the Delphi empire) had a "Maths Department" in its R&D building. I think their job was just to be clever with (80's) computers and support others using them for technical work. Total nerd heaven.

More recently (1990), my current employer had a department called "Technical Computing". Similar deal I think. Custodians of the big computers.


- Steve
 
Around here the phrase "engineering firm" means a contract engineering firm working on architectural or civil engineering projects not a company with engineers producing a physical product. Where I have worked there were mechanical engineers who would tinker with software but the major programing came out of the software department. If you really want to work on both you will need to find a software company that is producing a little bit of hardware or a hardware company where the software controls create the functionality of the product. Some larger groups have engineers programing the PLM system.

Controls sounds more like what you want. look at the Ford Ecoboost or the Chevy Volt. Projects like those have lots of mechanical engineers writing control software full time. This is often called systems engineering.

Catia and Unigraphics started out as in house programs before you could purchase such things.
 
Our products are controlled by software and we have a bunch of folks that write that software. Not sure how many spreadsheets they update etc. though.

Posting guidelines faq731-376 (probably not aimed specifically at you)
What is Engineering anyway: faq1088-1484
 
Bakerrisk and Applied Research Associates both do a lot of software development.

The Instrumentation and Controls branch of EE also write a lot of software. The I&C folks in my company do about 50% software development.
 
At my last company I developed software in VBA that automated the design of sediment ponds for Georgia erosion control plans. Whipped it out in two days when I was idle, and saved the company hundreds of man hours of work in the long term. I wasn't hired specifically to do that, though, I was hired as an engineer. I simply used software as an occasional tool, which is how it is for most engineering firms.

Do not confuse IT departments with Software Development.
I disagree.

Engineering (non-electrical) firms tend to confuse IT and Software Development, so if he wants to do what he says, he'll probably need to look at corporate IT as a potential destination.

In Civil, I've seen some designers who knew LISP very well move on to corporate IT from their design positions, and then develop/support automated design processes and procedures. Only big companies. Also in Civil, the ability to program in GIS (ArcINFO / etc) is a pretty hot commodity, since few know how to do it.

Your two best routes are either do what MuleShoe recommends above and fish around the huge engineering outfits for potential jobs, or get a job as a designer and do your own programming to speed your own design processes up, passing your programs on to your peers.

If I were you, I'd take an engineering job, look for things to automate, and write software on the side to do so. Try to find a niche that doesn't have a major software player in it, then quit and start your own software firm once you think you have a suite you could sell.



Hydrology, Drainage Analysis, Flood Studies, and Complex Stormwater Litigation for Atlanta and the South East -
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor