I left it before I really got started, and looking back at it now, I don't regret it. In my mid-twenties I decided I'd rather be an electrician. I don't sit on my ass all day. I get to meet new people, and see new places all the time. Some places that few ever get to see. Power plants, clock towers, police stations, homeless shelters, church attics. All sorts of stuff. Not all of it equally exciting, but a lot of it interesting. I get to build physical things that people will use for many many years into the future.
I get to play with lots of tech still, except it's more of the layer 1 stuff. Doing fiberoptical backhaul work, or installing DSL in peoples homes.
I'm still interested in both hardware and software. I run Gentoo Linux on my machines at home, and I have a DO VPS for "cloud things", but I'm glad it's not my job, because software issues can piss me off like no other thing is capable of.
Find your way into Industrial Electrical work if you can. You get a strong mix of tech and electrical, moreso than Residential, can't really say the comparison to Commercial work though...
My company (Automation & controls) is partnered with electricians for all the jobs we bid on. Having electricians that know wiring for specialized bus networks, how to do basic troubleshooting on control circuits and all that is amazing to have.
Alternatively, for those reading this in the tech side, the job is super engaging. I get to work on programming machines the size of my bedroom. I get to travel and see equally interesting locations (Dam spillways, Agricultural facilities inland and at port, underground mines, etc.). The fact that I get to get out of my office a few days a month is a big reason I've stuck with my job for as long as I have (7+ years now)
EDIT TO INCLUDE SOME PICTURES (Both the Cool and the Ugly):
I'm very interested in pivoting toward electrical engineering from computer engineering (for all the reasons mentioned above). Do you have any advice on how to do this? I don't even know where to begin, but I imagine there's a lot of certification and/or educational requirements.
I recently became kinda intrigued by PLCs and even consider buying one just to play with it (idk maybe it's the novelty of it) and the various programming languages for them and how they can be so different. What kind of education do you need to work on this kind of stuff?
I commented to another user, my background is a Software Systems Engineering degree but the majority of my coworkers are Electrical Engineers or some style of Electrical Technician.
As long as you understand digital logic well enough you'll be able to grasp the concepts. Having more formal education helps but is one of those fields that isn't strictly necessary unless you're working in a specialized sector. My personal take is that Software is still playing catch-up in this domain to the rest of the world but its coming. Up until the last 5 or 10 years the software was mostly just running the facilities but now integration to the business environments is becoming a bigger and bigger requirements of my clients.
I've mostly become hands off on the PLC/SCADA systems at my company now because the requirement for software utilities to function within the control system for data collection, trending, reporting, etc. has become so so much bigger. I have clients that want to use OCR to track shipping containers throughout their yard, clients who want me to integrate their invoicing systems to the operations so staff can see the scheduled daily loads coming, designing unmanned kiosks for customers to key through when coming to site and a whole lot more things.
I don't have a ton of PLC experience, but you really don't need much of an education to create basic PLC programs. I wouldn't personally recommend PLCs to anyone who enjoys programming, but I understand the appeal of trying one out.
The programming languages are all defined in IEC 61131-3, and you can more or less use them interchangeably. You can use structured text for (clunky) text-based programming, ladder logic if you want to feel like an electrician in the 70s, or functional block diagrams if you like flowcharts. They each have pros and cons, and being able to use the different languages (with different paradigms) in a single application is one of the more interesting things about PLC programming. There are probably good textbooks for this, but I don't know of any.
PLC programs execute in a constant loop (scan inputs, execute program, set outputs), so basic programming problems (e.g. delaying execution of some function) often require some re-thinking on PLCs. Having a basic understanding of how a PLC actually executes your code is pretty critical. Again, there are probably textbooks for this, but if you buy a physical PLC, its datasheet might also explain this.
You'll need to connect the PLC to some hardware for it to do anything meaningful, so having a basic knowledge of electronics would be useful. If it's just a hobby, you probably wouldn't need to know any more than you would if you were working with an Arduino.
There aren't that many major PLC vendors, so to get started, you could by an entry-level PLC from one of the big players (e.g. Allen-Bradley Micro800 series). Admittedly, I haven't looked at PLC options in 5+ years so there might be better options these days. Unfortunately, PLCs are pretty pricey, and even a small one will probably set you back a few hundred bucks. There are probably simulators available if you're just curious about PLC programming languages, but I don't have any experience there.
Could you get started with Arduino? (Disclaimer: I don't know a lot about what PLCs actually do -- maybe that's too basic for you.)
Right now I'm trying to hack my treadmill with an Arduino unit so I can control it with software, and I'm learning a ton. Plus it's not a huge investment.
I had come across Building Arduino PLCs: The essential techniques you need to develop Arduino-based PLCs when i was looking for something similar a while ago. You might find it a good starting point.
Heh, speaking of mouse traps, while working at an inland grain terminal I met a guy who was using arduinos hooked up to what's essentially a highly pressurized central vac system as a pest control system. Against the walls were small little "tunnels" the mice would run through, trigger an optical sensor then get sucked into the vac system at something like 500psi and their goop put into a holding tank for them to clean-out on routine checkups.
Incidentally, I am a Software Engineer that owns an Electrical Contracting business too and I would love to learn more about your company and your requirements for electrcians, what is the best way to contact someone to learn more?
Hmm, I apologize for not wanting to give away my explicit employer. We have like... 13 engineers/techs, rest of our staff are admin or panel builders so I'd pretty much be doxing myself to give it away.
I'll just say that my business was started by the owner in his farm's shop rebuilding/selling motors. When he expanded to doing controls they were like 3 employees and his friend was the electrician who they hired on. Since then the Electrician partnered with his Son-in-law and they train the majority of their guys right from their apprenticeship.
As much as I keep using "My company" throughout these posts I'm still just a guy in a programming/integrator role.
> Find your way into Industrial Electrical work if you can. You get a strong mix of tech and electrical, moreso than Residential, can't really say the comparison to Commercial work though...
Avoid residential electrical work if you are technology oriented! Yes, yes, home automation and all that, but that pales in comparison with industrial work. Commercial in theory has the same potential, but (at least here in Italy) the jobs are ..hm.. dodgy (very poor project management, tasks scattered across sub-sub-sub-contractors so nobody has really a clue of the global picture ..stuff like that)
Likely just find a system integrator in your area and apply.
The guy who got me my job was a MS CS, my employer sought him out because they needed a guy for internal software projects. I did a hackathon with him and he hired me as his replacement when he moved to the gaming industry.
My degree is Software Systems Engineering, most of my coworkers are Electrical Engineers or some form of Electrical Diploma.
As long as you have a decent foundation in Networking and Digital Logic you'll be perfectly suited to program PLC/SCADA...
Can you explain what to expect from a "system integrator" company or job? I did a quick google for those in my areas and they seem all over the place, not one mentions "PLC/SCADA"?
So, "systems integration" job involves making systems interoperate as seamlessly as possible, by doing so adding new features, or reducing weaknesses, like for example vendor lock-in (sadly this is not always possible in industrial automation, see below). So the concept applies also to other sectors - and there are indeed non-industrial automation SIs - you might want to add terms like "PLC", "SCADA", "ICS" (industrial control systems), "industrial automation", "controls" to your search.
As for my own experiences in the (industrial automation) system integration industry, in Italy:
As I said before, and said elsewhere by TheCapn, vendor lock-in (in the form of employing equipment by one company, and their tooling, and their services, etc.) is a thing. But at the same time, your job is to make heterogenous systems interoperate! So most certainly you'll have to work not with your usual tools. Personally I have found that the most successful companies rely on some vendor (and their support, and their expertise), but are very open with working with, and know, the others. Obviously the more you can develop autonomously the better; it is a trade-off between freedom of action and access to more credible (branded, battle-tested, supported by big company etc.) solutions.
Knowing when to add one part to the system, or where you can just expand one of the already existing parts in order to accomplish the task is fundamental. Too often I have seen superflous parts added where it would have been enough to extend one of the existing parts a little (This is often due to vendor lock-in, you cannot work on some equipment, so you put another device by your vendor of choice).
Another thing I love about my job is the "Jack-of-all-trades" mindset required. Also human skills are important, especially here where the industry is mostly composed of little shops: sometimes you just have to understand enough to call the right specialist and contract that part of the job to them. I started as more of a computer person than a engineering one, but I managed to gain some expertise over time thanks to this knowledge transfer.
Now that more IT is entering the shop floor, many places are adopting some solutions (for diagnostics, data collection etc.) with more "computer" content than the past; for example all the predictive maintenance platforms big vendors are developing. Or you can concentrate on the "upper" levels, like SCADA, MES; of course working with these tools is not super CS rocket science, most of the time. You can start from positions more akin to programming, then work your way into process sensors technology, electrotechnics, etc. That's what I did.
Edit: System integrators as sibling says, I second that!
Controls aren't much different than other industries who rely on vendor product solutions either imo. You can talk to your SCADA vendor to see what their Historian / MES solution is and look at integrating that or develop a custom solution. Each obviously have pros/cons. What you might gain in rapid development using the Vendor provided solution your client will probably lose in steep licensing fees. Vendor solutions are typically set up in a way that anyone could configure them using only the manual and a few tutorials but giving any joe the ability to set up a system always has the drawback of the system being very "one size fits all" and customizing it to work in certain scenarios is difficult.
True! Hence my, "most of the time". I recently had to heavily customize a SCADA event engine with my plugins due to the particular requirements of the system; come to think of it, I might have as well rewritten the whole thing, but I had some "non-technological" limitations. :)
"because software issues can piss me off like no other thing is capable of."
This in reverse is part of why I am a programmer; it can take two or three days before I'm really pissed at a software problem, but physical stuff really annoys me in mere minutes.
Why? Don't really know. I know a bit of it is that I know how to get myself into trouble in software and then usually get back out much better than I do in the real world, but even so, I had the patience in software to develop that and I really don't for real things.
Yes, it's much easier to hit Undo than it is to remove that bolt that you just snapped the head off, but you can't see because it's elbow deep in the engine bay.
On the other hand, a screw-up can have bigger consequences when your buggy code is used by thousands of users a day.
Also, with code, you generally don't lose the pieces when you disassemble something, and if you take a break, you can pick up right where you left off...
In a parellell universe, this would've been me. Electrician seem to be the perfect "manual" labor - not a lot of heavy lifts, work with your head a lot, good mix of in- and outdoors.
This is anecdotal, but when I was younger and still figuring out what I wanted to do, I joined a 1 year course that was supposed to prepare people with HS diplomas and other people with practical jobs like electricians and such to study engineering in college. Surprisingly, the vast majority of the men in my class were electricians that had regretted their choice because it was such a dull job with a lot of menial labor, like crawling through very tight areas and otherwise being on your knees a lot and in awkward positions.
I always laugh whenever TechCrunch or someone runs a story about some hot shot university winning a programming competition because they implemented an algorithm the fastest or created yet another new app.
When in the real world, most programming jobs are making changes to a really large code base trying your hardest not to break other things. Not nearly as glamorous.
"That's great, kid. Now figure out why this build works on everyone else's machine but not yours. And then once the build works why the test suite throws a series of errors, one at a time, each new one appearing as you fix the last, when everyone else tells you it's green (though at some point you'll figure out they're all passing flags to disable parts of it, but forgot they're doing that). Oh we have some other things for you to do that are actual programming but you can't do those until you fix that. Oh and when you're halfway done Fred over there's gonna tell you you need to pull master because he just updated all the dependencies. Oh hey what do you know about code signing and app store distribution?"
You might be surprised by how strenuous electric work can be: pulling a cable bundle through a long conduit run, nailing staples at arm's length overhead, and finishing outlets at knee height.
I got into software mostly for the money so I can fund some extended travel, and when I get back from that extended travel I don't plan to go back into software.
My BF's dad owns an electrical company, and I know BF will most likely end up working there - I've considered in the past joining him. This post is encouraging because it seems like I could get all the movement and outdoor time that I'm missing with coding, and also be building stuff that's useful to people.
Do you see many female electricians? I suspect there are few - any ideas as to why? Is there a lot of heavy/difficult physical labor that I would be unable to do?
I get to play with lots of tech still, except it's more of the layer 1 stuff. Doing fiberoptical backhaul work, or installing DSL in peoples homes.
I'm still interested in both hardware and software. I run Gentoo Linux on my machines at home, and I have a DO VPS for "cloud things", but I'm glad it's not my job, because software issues can piss me off like no other thing is capable of.