I'm a full-stack Software Engineer with an atypical background. In high school, I fell in love with the idea of programming as part of my robotics team. At the time, however, I didn't code. I was the PR guy - fund-raising so we could afford to compete, giving presentations to our generous donors showcasing what we had put together and our plans for competitions, and even giving speeches to other schools about the benefits of joining a program like FIRST.
I took some programming classes in high school, mostly Visual Basic and C++. My senior year I got to work in our advanced computer science lab building basic circuits on breadboards and writing assembly on clicky old Cromemco C10s. I wrote very basic choose-your-own text adventures, and manually saved them to 5.25" floppy disks. And who didn't write formula sheets (or even fully functional formulas) into their TI-83?
In college, I started in the College of Engineering as a computer science and computer engineering double-major. Five years later, I graduated with a degree in History. Did you see that coming? I didn't.
At the time, I didn't understand why but programming had lost its luster. Projects were (mostly) explicitly non-collaborative. If you got stuck, you had to find your own way out. I once spent so many nights in the library pouring over books and notes, beating my head against a proverbial wall and then crashing on my nearby friend's couch, the next time I saw my roommate he said "Oh, you're back. I thought you died." That should have been a clue, but I continued on until my Junior year.
When I switched to History, it was a new world for me. Definitely a new way of thinking. I learned how to read between the lines in old records - noting the discrepancy between a ship's manifest at its home port and when it arrived at its destination, and understanding how many people were lost at sea in early colonial days really hit me hard. I started to wonder what else could be found in history books, what untold stories lied there, waiting to be discovered.
It was also an introduction to truly collaborative work. Many papers were group projects. We would divvy up the research in such a way that, even if it was the same passages, we were all looking for different things. At the end, we would all get back together and compare notes. We'd share sections that might pertain to others' research. We would have discussions and flesh out the end product together.
Once I got into the "real world" I didn't know what I wanted to do. I worked at a furniture store selling mattresses. After about 6 months, they put me in charge of my own store. I occasionally would work on a side project to keep some coding skills (I couldn't shake the idea I had that I wanted to code), but it wasn't until I stumbled across a company looking for someone with a non-traditional programming background that I decided to give it a shot.
That was when I got my first real taste of collaborative problem-solving. We would have long discussions about code architecture, design, layout, specs, which tools to use, what new things to try, business requirements, timelines, and just generally figuring out how to take a behemoth of a problem and solve it piece by piece.
I eventually moved on, and... if I thought what I was doing before was collaborative, well, let's just say I still had a lot to learn. In my new role I was introduced to a wide variety of different ways to approach problems. Instead of working on my own chunks of code and finding time to meet with people when I had a problem, I was pair-programming. I had a partner working through the same problem I was at the same time I was. Over time, I got to know who I could go to in order to learn skills that would compliment my weak spots. In our designated "personal development time" I powered through Lean Startup, XP Explained, Clean Code, Design Patterns, and more. I was introduced to Product Designers and Human-Centered Design. I spent time as a product manager for a group of interns, and turned that project into a fully-fledged product. I volunteer as a mentor with a local FIRST Robotics program (the Greenhills Lawnmowers - check them out). I made some of my closest friends, who I run tabletop RPG sessions for, and get to play in games with. I got to work with some truly creative people to turn morning meetings into a fun yet informative gathering instead of a monotonous requirement of working. We even turned some company news into a pseudo news broadcast.
"Where are you going with this?" you may be wondering. "Also, why is this all in past tense?" The answer, dear reader, is because everything above is the past. Or, at least my past. I don't know what the future brings. All I do know is the late nights in the robotics lab, the computer classes, the table-top RPG sessions with friends (which I didn't even get into until after college), a few (now-defunct) podcasts, and my jobs all taught me one thing. It's not enough to solve puzzles. I want to work with people to solve problems and make others' lives better. And if I can find ways to make it fun and entertain people along the way, all the better.
Thank you for reading.