This is the comical looking back of my adventurous history as a web developer, my goofs, my successes, my failures, my hopes.
The high level synopsis is:
- The Spark: It all started with some HTML, CSS, Java, SQL classes I took in high school.
- The Kindling: College programming for fun + I wrote a Paypal module for my gaming clan’s site in PHP.
- The Flame: My first web development job in 2006.
- The Fire: My first professional/enterprise job at a large company in 2010.
- The Inferno: I step into a senior/lead role in 2016 and start focusing on independence, people, and process efficiency.
1. The Spark
It all started with some HTML, CSS, Java, SQL classes I took in high school, with a very inspirational teacher and a nudge from my mother. I suppose this was preceded by a childhood interest in math and science though, and a desire to become an engineer one day.
The first site I make is a site about Beavis and Butthead. A passion is born. No, not for Beavis and Butthead.. that passion was already there. I’m mean for web development!
The year of conception.
- Day 0: Mom gets me to take some web design classes, “computers are the next big thing”, etc.
- Day 30: Wow this HTML thing is so logical, yet creative.
- Day 60: Makes first web sites, intrigued by the combination of technical sophistication and art.
- Day 180: Starts publishing sites on geocities, including “homemade” blogs for friends to rant their world-bending, introspective philosophies conjured forth from 14 year-old juvenile minds.
The first trimester.
- Day 120: DHTML, Dreamweaver, Flash.. rich stuff. Yep, the future is definitely these three.
2000 me, were you ever an idiot or what.
The second trimester.
- Day 1: Java and SQL high school classes.
- Day 60: What in the unholy hell is this stuff?!
- Day 90: Too difficult, SQL/Databases are too complicated, and so is Java. Too complicated.
- Day 120: JVM idea is interesting though..
2001 me, your idiocy could have never imagined this stuff ruling the world one day.
The third trimester.
- Citigroup summer internship.
- Introduced to classic ASP and corporate life.
- Creepy robot cart that delivered peoples’ mail to their cubicles, automatically.
2. The Kindling
The spark of my high school flirtations with coding ignited during my early college years, when I found out what programming was really all about.
- Yay, college. When do I get to take the computer classes?
- See 2003 me.
The year I came out of the womb.
- Day 1: Hell yeah, finally get to take Intro to Programming course. Wait, not Java again!
- Day 30 - This Java and C stuff is actually really cool. The whole object oriented thing clicked this time around with Java. C blows my mind with it’s intricacies.
- Day 180 - A “Programming Concepts” course absolutely kicks my ass.
- Day 270 - Most brutal instructor ever in that course, most I have ever learned in 6 months.
- Day 360 - Seriously, Dr. Albrect: I wouldn’t be who I am today without you.
- Day 365 - Concludes programming is what I want to do for a living.
3. The Flame
I got my first job as a web developer. Technically speaking, “professional”, yes, because I was getting paid. But this was a start up. And looking back, I really did not know what I was doing. And so the flame was born.
Fear of the unknown.
- Day < 0: Sweet, this customer came into my PC repair shop needing help on his php site.
- Day < 0: I’ve messed with PHP before building a Paypal module for my gaming clan’s site!
- Day 1: Therefore, qualified.
- Day 30: After reading that PHP/MySQL Bible, I’m on top of this Web Developer thing..
- Day 60: This guy thinks I know what I am talking about. Maybe I do?
The undisciplined years of youth.
- Day d: Hurray for no planning, release schedules, or deployment tools!
- Day d: Hurray for editing code directly in production on the spot!
- Day d: In short, hurray for the Wild, Wild West!
The first true creation is born.
- Day 180: What the heck is this version control system thing?!
- Day 270: I finally get to build a new PHP/MySQL site from the ground up, including designing it.
- Day 300: Discovery of github.com, don’t see the point of it (ha, good one 2008 me.)
The calm before the storm. Boy, I sure had no idea what I would be getting into the following year.
- Day 30: Officially out of my comfort zone again, I started taking up projects for various clients in situations I am not familiar with
- Day 60: This talking to clients thing, setting estimates and expectations thing is hard!
- Day 365: I am about to finally graduate college, I will have to adult soon..
4. The Fire
The flame turns into a steady burning fire during the years when I finally become a professional web developer for an enterprise-level corporation.
The year of great humbling.
- Day 1: Man, I am the man! Done graduated college and got an enterprise-level gig. <3
- Day 5: Holy crap am I in over my head.
- Day 50: These SQL queries and web applications are amazingly complex.
- Day 90: I still feel like a n00b developer.
- Day 180: I build my first stand alone application”.
- It’s a quoting tool for the internal rate analysts to test their rating with.
- Turns out, this greatly expanded how much they could test, and probably has saved them thousands of hours over the years.
- This is probably my oldest proud moment. This application is still used to this day. And they still love it.
The year of the first major project, and the first year I realized coding is art.
- Day 1: I just got this multi-month project where I finally get to spread my wings on.
- Day 30: Good lord, is it kicking my butt!
- Day 60: I work my longest shift to date: 32 STRAIGHT HOURS.
- Day 180: I witness a truly well designed, scalable application for the first time. Mind blown.
The year I started treating programming like craftsmanship.
- Day 1: Comfort zone all day every day
- Day 30: Project managers, business analysis, QA, stakeholders, psh.. I can handle these people all day. Come at me bruh!
- Day 180: I am surrounded by intellectually simulating, amazing developers, I love this job!
- Day 270: Discovery of codeschool.com, re-discovery of the awesomeness that is Ruby on Rails.
The year I built my first scalable, enterprise-level application. Through some trial and error..
- Day 1: Bye comfort zone, have a nice life, go design this complicated, scalable quoting application from the ground up, in 3 months!
- Day 30: This application is impossible, how will me and the other 2 devs pull this off :((((
- Day 60: We did it! Sales reps for health insurance client are happy.
- Day 180: “Hey, can you setup these other 4 clients too? Yes, they all have different rating engines and business rules”.
- Day 270: Learn my first hard lessons in scalability, abstractions, and adaptability.
- Day 365: We did it! *beats on chest*.
This was really a Renaissance year for me, finally out of the trials and tribulations of my earlier Medieval career. Good times. Throughout the year:
- Ramp up on building stuff in Ruby on Rails in free time.
- Discovery of design patterns and SOLID principles.
- Read “The Pragmatic Programmer”, a game changer.
- Finally start using that ol’ Github account of mine.
The beginning of the PCI era. A year of great growth, to be sure.
- Day 1: Mmmmm.. incubating in the warmth of my well-designed application I am so proud of.
- Day 30: Adding more clients to it, I feel like a senior now because I am master of this application.
- Day 270: “You will now work on payment gateways, applications, and PCI compliance”. Ass kicking, imminent.
- Day 365: Ass kicking delivered. Way in over my head.
This year’s end would be the start of my Baroque era:
- Learned the ins and out and complexities of PCI compliance.
- Web security, encryption, tokenization, SAML authentication.
- Working with technical teams from other companies.
The Romantic phase.
- Day 60: I am PCI man *beats on chest*
- Day 180: We are building new PCI applications! *beats on chest*
- Day 270: We are killing it! *beats on chest*
5. The Inferno
The fire of the previous six years fans into an inferno as I begin to step up more of a senior/lead role. Scary, I know.
The year of disappointment. I spend most of the year working harder than I ever have, and the application never makes it to production.
- Day 30: Uprooted from PCI team, teams all get redistributed. World is shaken.
- Day 60: I am suddenly surrounded by junior developers on projects with impossible deadlines.
- Day 90: These guys are actually looking up to me and asking for advice. weird…
- Day 120: * We take on the impossible, building 4 massive applications in 1 year. * With all new extremely bold architecture. * I inherit the complicated SAML/SSO piece and single handedly lead the quoting and agent portal part.
- Day 180: These juniors are really talented! Pulling off pretty amazing feats.
- Day 270: Most of the project was canceled, never made it to production. Including mine. Brilliant developers leave. DEVASTATED.
The year of exciting changes. Also, the year my hands become tentacles and spread into every. single. application. ever.
- Day 1: Depressed still over last year amounting to nothing.
- Day 30: It’s finally happening, we are getting off our much hated legacy VCS, and onto IBM RTC!
- Day 60: Me and another senior handle all the conversions of dozens of sites up to 15 years of age.
- Day 180: Most daunting impossible project of my career begins: PHP7 conversion of the very same dozens of sites/cronjobs dating up to 15 years back.
- Day 270: Somehow, someway, successfully converted all the highest traffic sites with little issue. Hurray!
- Day 365: The official “PHP7 Guy”. The PHP7 saga continues, forever and ever.
The year I officially lead.
- Day 1: Team lead moves teams, I inherit the responsibility.
- Day 30: This is difficult and draining!
- Day 60: Between so many managerial/lead/senior responsibilities, I realize I have not written any code in a very long time.
- Day 90: Am I even a web developer anymore?
So here I am, in the first quarter of 2018. I don’t code much anymore, and that’s a bummer.
But I do lead, motivate, and mentor a team of developers located in India. This is very challenging, especially with the whole timezone and communications barrier aspects.
And yet, I also am the champion of documentation, peer review, and scrumesque planning processes. My opinions also appear to be valued, from what I can tell.. and that is always nice. I have seen tremendous improvement in release quality and application stability over the past year. Automated regression testing is now becoming a thing.
I sometimes deliberate over switching into a DevOps role, since I appear to have an great appreciation of it. I also sort of have a passion for process. Not the ugly bloated, bureaucratic kind that slows everything down pretending to improve things, but the kind that actual streamlines getting code into production, solving problems, and making money. The sort of process that is difficult to achieve.
And yet, my heart is in the code, always and forever I think. Since the very beginning in 1999.