2

I currently work in a large consulting firm, doing software development for big clients. I'm recently offered a job as an automation engineer (software) in a large hardware manufacturing firm in another city. They have a factory and my role would be to integrate new and existing machines/robots to their existing management software.

Has anyone have experience working in both environments? What are the major differences?

5

The experience I have might be similar so I am going to share it.

After my job training in a software only company I started working for company that is mainly a logistics company. They build the order management software for many huge fashion brands in Europe like C&A or Esprit. The biggest different is, the software is just a tool to get the main job (logistics) done, that changes basically everything. It starts with thinking in other time ranges for refactorings. A bag sorter (something like a sorting robot, but bag based) lives in a facility for like 10 to 15 years. But the software that you write will be outdated after 5 years latest and will need a refactoring. This will not happen, because for this to happen they would need to replace the bag sorter as well and they are pretty expensive.

This view for refactoring and how long software lives was completely new to me, back then in 2014 I was 20 years old. The software I worked on was 24 years old, my age now. So I worked on software that was older than me and with a compiler that was released when I entered school. So that was pretty weird and I really didn't like it. But it was a job and a job has to be done. That I didn't settle with the company might be obvious.

My next job was for a huge consulting company, they have around 15.000 employees and are one of the leading companies when it comes to network hardware consulting, but they are also pretty big in software. The work there felt like a cultural shock. I was pretty surprised that rather new software (6 years), yes that was new software for me at the time, got replaced by the team I worked in. But I did my job and it was pretty good to feel that you are a valuable developer and new ideas are not bad, they are what keeps the business going.

Another aspect that is important, usually you get paid how people in the industry you work in. Means logistic pays pretty bad, chemical and petrol industry pays extremely well. In general I made pretty good experience with the payment of consulting firms. But it really depends on the industry you work for.

Well that was the story of my first 2.5 years working, I hope it helps you.

2

As a controls(automation) engineer aiming for SWD, I would highly recommend that you don't move toward industrial programming of any sort.

PROs

  • The pay tends to be very high for the work. This is one of the reasons I still work in the industry I'm in.
  • Travel. You will be required to travel, which may not always be a bad thing (especially if you're young and/or unattached romantically). Most industrial plants are in not-so-great places, but some may be in a location you would find enjoyable (the hills near Pennsylvania/New York border; California; Certain areas in Mexico).
  • The level of creativity and ingenuity you can (or may even be expected) to display in your programming. Much of the computer hardware in the industrial world is archaic to say the least. Stable platforms are kept as long as possible due to their reliability (I've worked with languages based off Pascal, Assembly, and ARLA, as well as one very recently developed off of Java 6). As many of these systems can barely be considered object oriented, it leads to creative and ingenuous solutions being much more commonly needed and accepted.

CONs

  • Long hours which may or may not(in the USA, due to legalities around so-called 'exempt' status) be paid (salary are frequently expected to work casual overtime regularly).
  • much work with programmable logic controllers and robots involves substantial hands-on tinkering instead of dynamic software solutions; in my experience there rarely exists the budget to 'do it right' and develop or keep a standard to ease your work, which results in a whatever is quickest approach (such as manually adjusting/adding switches and sensors, rather than developing a robust software solution)
  • Travel. Having worked (automotive) for an OEM, a Tier 1 integrator, and a Tier 2 integrator/supplier, I can assure you that no matter what side of the table you are on, you will spend (perhaps substantial) time travelling to not-so-picturesque locations to assess machine health, part quality and standards, production quotas, etc. This is unavoidable in most industrial software careers (my current position requires only 25% travel, where as my previous position listed 80%).
  • 1
    "Long hours which may or may not be paid (salary are frequently expected to work casual overtime regularly)." This part doesn't really count for many european countries but not all, I know from a few people in Germany, that this is not a problem here. – Knerd Jun 19 '18 at 17:02
  • @Knerd noted, I'll add US-specific language to that bullet. – GOATNine Jun 19 '18 at 17:03
  • @downvoters, care to give a reason for voting my answer down? – GOATNine Jun 19 '18 at 18:06
  • 2
    You don't always have to travel with these types of jobs if you work for a large enough company where there is a separation between development and field engineers. You are dead on about archaic software but it is worse than that - the software practices are archaic. (Version control? whats that?) But as for locations, I can recommend working for container ports as they are always near large population centers, nice fresh sea breezes and lots of outdoor activity climbing up and down cranes. And the views can be spectacular (EG Vancouver BC) – Peter M Jun 19 '18 at 19:30
  • @PeterM I would owe you the entirety of my sanity if you could point me to a company that separates dev and field engineers. I believe you that they exist, but they've always seemed like a unicorn from where I've sat. Also, I'm so used to operating without VC, I didn't even think to mention it, 100% spot on. – GOATNine Jun 19 '18 at 19:32

Not the answer you're looking for? Browse other questions tagged or ask your own question.