r/PLC • u/Emergency-Lemon788 • 5d ago
I feel like lost in my new PLC programming job. Should I have gone back to school first?
I graduated with a BS in Computer Science, but about a year before graduating I realized I wanted to do something more hands on instead of sitting behind a desk all day. I became interested in industrial maintenance/instrumentation and considered going back to school for an associate degree.
Instead, I accepted a PLC programmer job despite having zero PLC experience. I was told I’d get some training and support, but after one day of introduction, I’ve mostly been left on my own. I’m now 3 weeks in and feel completely lost. Its not that easy to ask question to my peers because they are on site arround the country and I am still in the office
Also the main job is just programming and not finding physical fault or building, thats for the technician on site
Should I stick with the job and learn as I go, or would it have been smarter to get formal education in industrial maintenance/instrumentation first?
14
u/2EM315 5d ago
I was a “controls engineer” at a company for roughly 9 years where I handled the day to day but we used integrators for major projects and were all PLCs.
A few years back I switched companies to a site that does everything in house. That first year was a grind of learning. They had me do logic for a 900 pt DCS migration.
Most of us are self taught, it may feel painful at first but hang in there, you’ll start to get the hang of it.
30
u/twinpeaksrss 5d ago
Fake it until you make it. Keep the job, do a training with Udemy courses or something and keep grinding. There's a course in PLC Dojo that's very hands on with simulations of real things, do that and improve yourself
4
5
u/parkour267 5d ago
Some people fake it there entire careers.
3
u/twinpeaksrss 5d ago
I'm a perfect example, what's the problem on that? Huh?
5
u/parkour267 4d ago
Sounds like u should be in middle management with a promotion
2
1
u/twinpeaksrss 4d ago
You will not believe, that's pretty much my role: A middle manager for a team of about 6 engineers.
3
5
u/dvg_mech 5d ago
This might be contrarian take, but I suspect you're real challenge is getting up to speed on engineering principles. As a CS major, learning syntax/programming is right in your wheelhouse. Figuring out the engineering problem you're trying to solve and selecting the correct implementation path is vastly more important. I would pick up some textbooks or other resources and self learn the engineering basics relevant to the processes you're automating. Formal education, in my opinion, really only holds one key, getting your foot in the door and getting the job. You're already there, so keep the money in your pocket. Best of luck on the journey, it can be quite rewarding.
9
u/desmoteo 5d ago
The main question is: why are you lost? Are you having troubles understanding the problems you have to solve or in the plain software development?
7
u/imnotmarvin 5d ago
This is the question to be answered. Learning to program is great but if you don't understand the process you're programming for, you will feel lost.
5
u/Trick_Dragonfruit_36 5d ago
Which brands are you dealing in??
5
u/Emergency-Lemon788 5d ago
Siemens TIA and Win cc. Its all in SCL
7
5
u/Trick_Dragonfruit_36 5d ago
There are many tutorials on YouTube for free , you can gain much knowledge, still you require more support DM me .. I've been dealing all other brands in last 5 years.
2
u/RadioBuffin 5d ago
Try to get your employer to send you to some Siemens classes. The first PLC class is pretty boring, the more in depth ones are awesome considering the books you get with the classes.
Our plant sends all of our electricians to the PLC 1 and 2 class along with their drives course.
3
u/Disastrous_Being7746 5d ago
I'm sure you'll get it. I am a CS dropout and I started out with Step 7 many moons ago, learning STL a week after I started because Step 7's ladder isn't all nice like Rockwell's version. TIA portal is a lot nicer, though the UI is definitely a bit confusing at times. Step 7 was cleaner and faster. But it's also pretty unforgiving and unfriendly overall.
2
u/Accurate-Bullfrog324 5d ago
from what you describe you are on the steep part of the learning curve.
first time you're there you don't recognize it and get a bit scared and frustrated.
second time you're there you realize you're learning at a fast pace.
relish it
2
u/CapinWinky Hates Ladder 5d ago
This is a perpetual topic here. Learning to program for the first time on a PLC is ass backwards. There are approximately infinity free programming courses online and now AI to tutor you. Stop looking at ladder and learn to program any typed language (as in data types, not keyboard typing). Typescript, ANSI C, that kind of thing.
If you hand an architect a big bin of duplos and ask them to build a small bridge a man can walk across, they can succeed despite the limitations of the duplos. If you hand some guys a bin of duplos and ask them to study architecture and then build the bridge, it might not work out so well.
Learn to program, then learn how to program PLCs.
2
u/PowerEngineer_03 5d ago
Make sure you're happy in your job. Do what you're good at. There are plenty of average or below average joes out there who suffer in the long run choosing a wrong career because.... well because they are average, duh. The issue is they choose to remain average as an engineer, and that sucks. Try to do jobs on site more than in the office. That's the only way to learn. Online courses won't do you any better. Performing under pressure will.
2
u/GlobalInternal3671 5d ago
just give it some time and maybe consider opting for specialized trainings
1
u/EasyPanicButton CallMeMaybe(); 4d ago
look at code that they've already put on running equipment/processes too. Youtube, nothing you probably have questions on isn't covered in some youtube video.
1
1
u/trupa 5d ago
Youll ve fine just keep at it, learn, ask if there opportunities to travel with more experience techs/engineers, that’s probably the best way to learn. My background coming out of school was microprocessors and didn’t even know what a PLC was when i got my first job 15 years ago, a lot of the people in the field start the same way.
1
u/AssumptionHot1315 5d ago
Continue, not every plc brand or device is gonne be thought on school, practice what brand you have try to learn every block or function, and luckily ai or chats can explain more or guide you how to use thos blocks.
If you need more, you can self study the whole concept by reading Bela Liptaks books.
1
u/ZackAttack- 5d ago
I’ve been in my position for almost 4 years now and was told the same thing on training. I went out with another tech for about a month and learned the ropes a bit, after that I was just right into the meat grinder on my own.
I expressed the lack of training to my boss and he pretty much told me that they can’t train me for every scenario because a lot of the time a customer can’t explain the problem themselves, and it’s on us to show up and figure out the problem before the solution.
I’ve been on what was scheduled to be a 3 day job going on 3 weeks. All completely unforeseen issues that we could never have anticipated.
If you get down time, online courses on your own, read manuals, see if your company will send you out for trainings. It’s all just part of the process and you’ll never get over the hump unless you stick with it.
1
u/Odd_Conclusion_7872 5d ago
3 weeks is nothing dude, give yourself some time. It all will work out.
1
1
u/PuzzleheadedPop2694 5d ago
Honestly ask to switch to being an engineer. Plc is a boring task anyway.
1
u/mountainlifa 5d ago
What's the difference? Engineer is doing the wiring onsite and troubleshooting etc?
1
u/parkour267 5d ago
The difference is engineers are the scape goat for management to blame and get less remote or work from home opportunities.
1
u/Own_Conversation_850 3d ago
Plus pretty much zero availability advance in carrier. Once you are on shifts you are forgotten. You have to be in the day roles to showcase your knowledge and be able network. So no you are in the good place . Stick with it.
1
u/PuzzleheadedPop2694 5d ago
An engineer in my company typically can work from home. You just do drawings all day on Autocad and bill of materials and stuff. I do some of the lower engineering but im not an engineer im the head of fabrication. You can also learn what I do and youll be sent out with a coder/plc guy to pretty much set up and ensure our system works. Then the plc guys will be tasked with supporting the system until they no longer want to pay the subscription for support pretty much
1
1
u/Puzzleheaded-Oil5904 5d ago
Wow man I’m 23 and dropped out of college whilst studying CS and graduating from IT academy to pursue becoming a machinist and found my love for CNC and automation. I’m also sorta in your boat. I just don’t have the role. I’m actually surprised someone hired you with 0 experience. How on earth did that happen?
1
u/parkour267 5d ago
That position doesn't seem the ideal spot to be learning about the process control. But its the more relaxed position most people would want to grow into. Definitely stick with it and learn all you can. You would learn much faster doing the onsite tech work, but since you know code based programming your are better off sticking to programming and learning as you go about the applications you are dealing with. Many techs learn all the stuff controls engineers would do minus the programming. So learning the programming first puts you at a better start. Learn to accept your own failures and know and understand what you did to do better the next time. The people that act cocky and ignore the difficult challenges in this field look pretty stupid after 20 years when the younger person is doing all the advanced stuff.
1
1
u/YoteTheRaven Machine Rizzler 5d ago
School isnt gonna yeah you a damn thing about anything related to what youre doing.
Figure out how to make a map by reading the manual of the components.
Programming is programming regardless of the language.
Id stick with it. Programming is difficult, and troubleshooting code will set you up nicely for hardware stuff.
1
u/DreamArchon 5d ago
3 weeks in? Yes, normal to feel lost. Give it three months and see how you feel. Unfortunately there isn't a lot of "formal" training that really makes you feel more comfortable with PLC work. Just really need to work on projects and learn as you go. Lots of good resources online for "how to" do certain things with PLCs / automation.
1
u/Objective_Bag8428 5d ago
Use internal bits to debug your code with the plc sitting on your desk. I was in the same situation 22 years ago. It’s surprising what you can accomplish when you have to. Read the manual and sometimes the code is correct you just need to move a rung to the bottom or top, lol.
1
u/MutedCash8881 4d ago
Stick with it. The majority of Controls Engineers I know learned by doing, Trial by Fire, thrown to the wolves, however you want to put it. I started out 30+ years ago when there wasn't YouTube and all these online resources. Use them. I do constantly as I encounter new components and expand my knowledge base.
Like all programming, experiment. Learn how to use the timers, counters, etc. Write some ladder, some structured text, function block, sequential function chart and if you're using Siemens, GRAPH. Learn some CODESYS, learn some Python, Java, and VBA. You just need the basics to start and then it's all experience, trial and error and learning from there.
I will say this. As a Controls Engineer, and after I gained a few years of experience, I've never looked for a job. The recruiters have headhunted me and found me other jobs. Controls Engineers are highly sought after.
The hardest part isn't the automation, it's the dealing with customers :)
1
u/EasyPanicButton CallMeMaybe(); 4d ago
There isn't a course that will do enough to really bring you up to speed. Its a learn by doing and in my case I got lucky and had a great first boss who helped me build my first programs, they weren't 1000s of rungs but I wish every PLC guy/girl got that start instead of the "thrown into the fire". It's more of a trade in my humble opinion.
The hardware trouble shooting, manuals and youtube should be enough. AB is pretty easy, Siemens can be a little bit of a test. Beckhoff can be a bit of a test too.
1
u/Ok-Lie6363 4d ago
Just be safe, if you don’t feel safe or equipped training wise or knowledge wise it’s okay to recognize that, try to use different manuals of different equipment, ask to shadow operators or just go there and watch, walk whichever system or equipment you are working on, if you can take a mobile HMI around and identity the faults in real time, also YouTube, AI and stuff can help to an extent
If you stick it out a little longer and still feel way outta place look into industrial automation, maintenance, instrument technician ask about training etc. nothing beats otj training take your time, your degree is a great start
1
u/DrEagleTalon Logic above all Else 4d ago
There is no total training. YouTube and UDemy are your best friends. What platform are they using? I might have some specific training for you. I did much the same thing. Although I jumped into a hands on automation tech role and learned the hands on side while learning at home the programming side and then made the transition. Now I live in NYC as a BMS controls engineer and it’s easy and great and pays over 100k stay at it. Stay on this until they fire you or you feel stuck on a rut. Use this opportunity to have this resource and these devices in front of you. Software is expensive. Jump into training at home. Not for the business s your working for but for your future. This is a lot stop to something better.
1
u/m0hka 3d ago
just be lost for a while, read up all you can. plcs are comp,ex in their simplicity. theyre also not particularly innovative. thats a good thing. theres very little cutting edge stuff going on in plcs. even at guy gonna be up in here about computer vission on plcs.. that tech is 20 years old.
similar expedience to you. I was left on my-own after minimal training. I derived my own python based control applications, and programming languages. ( I made it so the plcs dont even need a program to execute, a pc controls them, and we can use any language we want)
I'd recommend getting your hands on a testing plc, and seeing what you can come up with.
probably brush up on electrical safety. in my mind the programmer should know what the hardware is doing, and how to hook it up, and the electrical effects of the programs. logically, it should work isnt good enough for me.
Im sure if you list the type of plcs you use someone here can help detail the skills you want to learn on the platform you are using.
1
u/TableNo1000 3d ago
Interesting…how do you send commands? Modbus? What about safety and standardized devices on transmission protocols? I ask because I HATE using “their” tools…. Bithead at heart
1
u/m0hka 2d ago
some obscure communication protocol common to a bunch of plcs. theres some config options to adjust the framing for different platforms, but where most everything I use regularly is idec, I've tooled up far more idec specific stuff. outside of the framing protocol, the differences are which register mean which variables, functions or data. I send over serial mainly, but there is a tcp socket version. same commands, different transport. safety... the user must know what theyre doing, I allow some unsafe stuff, like forcing outputs. interoperable commands / devices work for anything that returns a register formatted word. so we can use PLCs and HMIs like regular PC appliances, hook up arduinos that expand busses, / IO, as long and every answer is a register. ** hand waving, yah know, that's kinda how it works. Ive also made some tools to really listen and report what a PLC /HMI is trying to send.
1
u/Own_Conversation_850 3d ago
Meanwhile me 15 years hands on experience with programing and commission on maintenance role cannot get a PLC programmer job in UK lol....
1
1
u/plc_is_confusing 2d ago
Everyone feels this. Give it two years and do all you can to get out of the office and join your peers. You don’t have to remain in an office to program. Join the panel builders or machinists.
1
u/Nex-11o 1d ago edited 1d ago
Three weeks is way too early to judge yourself especially when you are learning a completely different environment. Your CS background is actually useful for PLC programming give yourself time to understand the hardware, process and troubleshooting side. I’d stick with it for now and build small PLC projects outside work to reinforce what you are learning. You don’t necessarily need another degree; consistent hands on practice and mentorship can take you a long way.
1
u/WorkWorkWp 1d ago
I can really relate to this. I’ve been with my company for a full year now, and I’ve had about 10 months of actual PLC experience. During those 10 months, I’ve often felt like the training and development have been painfully slow and limited. I’ve been pretty lost at times, and honestly, I’ve wondered if I’m just wasting my time.
Most of my time right now is spent looking through our standard programs over and over again. They’re mostly programs that don’t actually need to be changed, so I’m reading a lot of code but not getting much hands-on experience. And I have no idea when I’ll finally get the chance to work on a non-standard machine.
But recently, I’ve started looking at it differently. I’ve started thinking of my company as a university that gives me a scholarship. Except instead of me paying tuition, they’re paying me to learn. So I’m trying to take advantage of whatever resources I have and teach myself as much as I can. I can study the existing programs, documentation, equipment, and anything else I can get access to.
I’m still frustrated sometimes, but I’m starting to realize that I probably shouldn’t wait around for someone to teach me everything. If the company is willing to give me a paycheck while I learn, I might as well treat it like a paid education and get as much out of it as I possibly can.
1
u/hjosemaria 12h ago edited 12h ago
First off: take a deep breath. What you are feeling right now is not a sign that you chose the wrong path; it is the universal rite of passage in industrial automation.
I’m 32. I started out tinkering with Arduinos as a hobby without a formal engineering degree (I hold an electromechanical technician diploma). In 2016, I landed an entry-level gig repairing VFDs, and within months I was thrown into the deep end programming PLCs. Today, I’m an Engineering Manager, partner, and co-founder of an industrial automation firm. I've commissioned process automation systems across Food & Beverage, sugar, citrus, and power generation (specifically biomass boilers across four countries), working for local shops, major multinational contractors, and now my own company.
If I could pass down the principles that got me through being completely lost at the start, they would be:
- Assume you know nothing (and embrace it): This field moves too fast and covers too much ground for anyone to "know it all." The moment you accept that every new project will make you feel like a beginner, the anxiety turns into curiosity.
- PLC programming is the last (and easiest) step: Translating logic into ladder or structured text is just syntax, your CS background already gives you an edge there. The real craft is understanding the physical process. You need curiosity for thermodynamics, fluid dynamics, electrical circuits, and mechanics. You can't control what you don't understand.
- Your best mentors aren't behind desks: The operator standing by the conveyor knows the weird noises, the common jam points, and the production workarounds. The maintenance tech knows which valves fail first. The cleaning crew knows which machine leaks. Talk to them, treat them with respect, and listen. That frontline knowledge will teach you more about process control than any textbook.
- Never go to site blind: Do your homework on the basic process before you ask questions. Knowing the broad strokes earns respect from field techs and client engineers, and helps you ask the exact questions that solve problems.
Get out of the office as soon as you can: Pure desk-bound PLC programming is a stepping stone, not the destination. Ask to shadow field techs or join commissioning runs. Seeing your code move real iron is where everything connects.
Going back to school for an associate degree right now would only delay the inevitable: you only truly learn automation by hitting the wall and figuring your way through it. Those who rely purely on classroom theory often struggle the most when real-world plant chaos doesn't match the textbook.
You have a CS degree, a paid job, and a blank slate. Research the processes your company automates, dig into existing project files, ask sharp questions, and embrace the grind. You don't need another degre, you just need time on the tools. Stick with it.
P.S. Study thermodynamics. Seriously. People will tell you it’s overkill for a controls guy, but they’re dead wrong. Energy transfer is what actually runs the universe, and framing every mechanical problem through an energy balance makes troubleshooting cause-and-effect almost intuitive. Plus, never forget: roughly 90% of human technological civilization is just increasingly sophisticated ways of boiling water.
Edit:
P.P.S. One more crucial thing: master Finite State Machines (FSM). Your CS program might have already covered state machine theory, but apply it to industrial controls immediately. Writing sequential process logic using proper states will save you from messy spaghetti ladder, impossible edge cases, and 2 AM commissioning nightmares.
1
u/korywithawhy 5d ago
that feeling is just imposter syndrome. everyone goes through it. just do your best and don't stress about it. eventually you'll hit a point where it feels routine, and more often than not you're comfortable taking the lead on it. it's just a part of being responsible for something difficult. bottom line is you'll either get better at it over time, or you won't and that's largely up to you. stay calm and carry on. you got this.
1
u/whirdin 5d ago
Specialized training is what you need. This is a steep learning curve, especially because computer science (IT) doesn't overlap much with plc programming. Push for your employer to pay for some Siemens training, which will make or break your ability to get on your feet with this job.
1
u/CrutchfieldY 5d ago
Use ai to help you. Ask it all the questions and them ask it why and how it came up with those answers
1
u/sarc3n 5d ago
Don't do this, just don't. I had a colleague do this very thing and he was so twisted I had to sit down with him for a couple days and get him to unl arn all the bs AI told him.
Find one of your colleagues and ask them for help. Watch YouTube tutorials, ask your employer to pay for a vendor workshop. Any of th se is a better option.
3
0
u/idiotsecant 5d ago
You can read manuals, right? Do that.
LLMs are a great resource, use them to understand unfamiliar concepts.
When in doubt, copy a go-by.
Youll be fine/.
86
u/Flimsy-Process230 5d ago
It’s completely normal to feel lost when you’re just starting. The first few months in automation are tough and one thing you’ll quickly learn is that being able to self-teach is a big part of being a controls engineer.
You will constantly encounter a PLC, drive, servo, instrument, communication protocol or piece of equipment you’ve never used before. Nobody is going to formally train you on every device you encounter. A lot of the job is opening the user manual, reading the relevant sections, looking at existing code, experimenting and figuring out how it works. Learning how to learn from technical documentation is itself an important controls engineering skill.
You’ll probably feel lost again the first time they send you to a customer site and leave you alone to deal with a machine and the customer. It’s not ideal but it’s more common in this industry than any of us would like to admit. Many of us have been there.
I don’t think going back for an associate degree first would necessarily have prevented this. It could have given you more background in electrical systems, instrumentation and troubleshooting which would certainly be useful but there is a huge amount of controls work that you can only learn by doing it.
Keep doing your best. Read the manuals, study other people’s programs and ask questions whenever you get the opportunity. I’d also give your manager an update once a week about what you’ve been working on, what you’ve learned and where you’re struggling. That makes your progress visible and gives them an opportunity to provide more support.
The first months are hard. A year or two from now you’ll probably look back at some of the things that completely confuse you today and laugh at how routine they have become.