My secret admission: I’m a rusty programmer.
In high school, I compiled my own kernels in Linux, bundled & contributed packages for Debian, wrote extensive documentation for Jabber, and hung out with some brilliant programmers. On the side I learned the basics of PHP and MySQL to build my own little sites and help maintain jabber.org.
Microcomputer In Action!
In college, I enjoyed and did well in Data Structures class. We delved into C++ structures, objects, and pointers. I found I was good at thinking like a programmer and solving programmer problems. But, for various reasons I decided to switch over to Electrical Engineering and Computer Engineering to pursue circuit design and embedded processors.
After college, I found an interesting niche that fit my skills well: manufacturing automation. But the tools are way different than the rest of the programming world. At the lowest level is PLC programming with ladder logic and PID loops (which I learned about in mechatronics class). Higher up, is HMI design with light scripting. Even higher in the food chain is various Microsoft-related platforms (Reporting Services, custom .NET controls) and business connectivity (think SAP).
At this point in my career, I’m pretty adept at technologies that are only known in manufacturing such as Rockwell RSLogix ControlLogix, Wonderware ArchestrA, Wonderware InBatch, and, of course, Wonderware InTouch. I can put together pretty much any application a factory might need to run their machinery, monitor equipment, and evaluate line performance.
A few rungs of PLC logic
Over the last decade while I’ve been building factories, I’ve been reading all the web development and iOS/Mac blogs. Ruby on Rails has sprung up, MVC-style platforms are abundant, and everyone has learned Objective-C.
I feel like I missed the bandwagon. Off over here in the strange sideshow of manufacturing. Sure, every factory in America runs Wonderware or Rockwell software…but there’s no StackExchange for manufacturing software, and there’s barely any mention of these technologies on Twitter or ADN. In short, there’s not really any public community.
I have urges to design and create things that the world can see…but I’m rusty. I don’t know how to make an iOS app, or even install Ruby on Rails. I don’t fully grok git (but my coworkers are finally adopting Subversion!).
I’m not complaining. I have a solid career that is very valuable and useful. But, I’ve let my “real” programming skills get rusty. And programming seems to have changed a lot in the past 10 years. There’s a lot of new concepts I am not familiar with and a lot of terminology I have to look up. Scripting in Wonderware products is basic and simplistic. My latest achievement was to write a function to parse a string that looks like an array (because InTouch–a 20+ year old product–doesn’t have array capabilities).
But… when I tear apart WordPress themes and plugins, my old PHP knowledge starts to resurface. (I’m still amazed at how quick and dirty you can make things with PHP.) I’ve been running WordPress sites for a long time, and have become very familiar with modern themes and how to manage these sites. And recently I’ve realized that this might be the very outlet that I can create things that I own…even if they are small at first.
Setting up this site was an important little step–it’s nice to be able to have my own space to play and write and create. I’ve been connecting with some WordPress developers in real life and on ADN, and it’s nice to start plotting an alternate course.
Here’s to the future.