I’ve worked in high-tech my whole life: as a semiconductor engineer, a network engineer, an applications engineer, a small-business technology consultant, a marketing manager….but never as a software engineer, a “coder”. Well, that changes starting today: my first day of boot camp as a student at Flatiron School.
You might ask “What would make a person — a middle aged person — with so much experience and education (with undergraduate and masters degrees), decide to put himself through the pain and ardor of coding boot camp, with fellow students half my age (at the OLDEST!). Well, part of it is that all high-tech careers are not created equal.
My most recent work experience was the Managed and Professional Services space. That is, I worked for companies that were hired by other companies to provide the IT function of their businesses. Its a good business model if you’re a customer whose operation is not large enough to warrant developing their own in-house IT department. We had no shortage of work.
MS/PS as it’s known in the biz, basically has two main areas of focus: Systems and Networking. “Systems” focuses on the server-side and “Networking” basically does everything else: routing, switching, security, telephony, High Availability (HA), load balancing, etc. but its mainly the first four. I was heavily silo-ed on the Networking side, but it wasn’t really working for me.
Don’t get me wrong, I have the utmost respect for what senior CCIE-level (google it, its basically the PhD level of network training) engineers are able to accomplish and it goes without saying that engineers of that caliber are extremely well regarded (and compensated). The reason I have so much respect for them is that getting there is an incredible grind. Its a lot of rote-memorization of what I consider to be mostly arbitrary protocols and acronyms. Each manufacturer has their own architecture and therefore the operating systems are only about 80% similar, and that 20% difference usually is enough to insure that you make a mistake and cause an outage on a production network that ends up costing the company a fortune.
The industry is almost completely certification focused, so if you want to grow in your career you have to embrace that grind. In MS/PS there is only architecting, deployment, maintenance and administration. (And decommissioning, but that doesn’t really count…) There’s no creativity, no “building” of things from pure idea. And after a too-long time of trying to force my round-peg self into that square-hole career, I came to realize I’m just not the kind of person that can force himself to do that kind of training.
I *like* being creative. I like the fact that the knowledge base that allows a programmer to be successful is like math — it builds. One lesson leads naturally to the next. New concepts build naturally from solid foundations. And I like being able to see projects grow like living things, and not just “throw the switch, it works, you never have to touch it again”, which is the Holy Grail expectation of every deployment in MS/PS.
We’ll see how it goes, but I’m excited to do this, and if nothing else add another “arrow to the quiver”. Look for some fun observations from this blog, in addition to tracking my progress as a developer. Thanks for reading! Onward and upward!