What is your life worth?

Let’s assume you sleep 8 hours a day, leaving 16 hours for you to enjoy life, hang out with your spouse, walk your dog and take your kids to the park.

I want to purchase half of that time.

clock1I’m willing to give you some holidays and weekends, but at least 5 days a week and 8 hours per day, your time is spent on stuff I want you to do.  Subtract out 3 weeks of vacation and I want to buy about 52% of your time.

How much will you charge me?

I’m not the first person to ask this question. I bring it up because a tech recruiter recently asked me to explain my salary requirements.  What she was really asking was: “You are still in development and you are still in eCommerce, why are you asking for so much more than you did 17 years ago?”

Let me explain.

KeyboardDevil - circa 2005

In 1999, while still in college, I accepted my first full-time developer position with JP Morgan Chase.  We were a team of six, working on the website CreditCardsAtChase.com.  It was a pretty simple JSP site who’s purpose was to educate banking customers on the differences between credit cards and market them.  The technology was entry level (DHTML, baby!), the pace of work and rate of change were very reasonable (as you’d expect at a bank), and there was no need for on-call or late hours. As first jobs go, this one was pretty much perfect.  I got to work with a small team and hone my code skills without overtime or unexpected timeline stresses.

Over the years, I moved up through the levels of developer inevitably graduating to the architect/manager split and choosing the latter.  Each time I changed jobs a little more focus was required, and each position demanded a little more responsibility and accountability.  But most importantly, the required time increased. More responsibilities means more deliverables, I had to fit more into a work week.  This meant longer hours, and sometimes, the occasional Saturday.

When I started at WDPRO in 2005 we had no on-call expectations.  At that time the importance of 24/7 eCommerce hadn’t gripped the Walt Disney company like it had with others.  But that changed in 2009, I was on-call one week out of every 8. As our online application count increased, so did our on-call expectations.  When I started at Chico’s as tech manager in 2012, I was on-call 24/7 and pulled into live-site issues 3+ times a week (for the first year or so).  Due to late night batch jobs, the website most frequently broke at 3 o’clock in the morning.

My iPhone receives my work email and text messages from co-workers.  It comes with me on vacation, it’s with me at the movie theater, when I’m having dinner with my family, it’s in the bathroom, and in the dentist’s office. Realistically, the only time I really unplug is when I’m out of cell phone service coverage, or in the shower.

At this point in my career, I’m rarely every “not at work”.

So, what would you charge for 99.9% of your time?

Why I didn’t hire you

Rejected!This blog post is the result of a combination of the original post here (February 2016), a very similar post on Linked-In, and the comments and conversation resulting from them.

For those of you who don’t know me personally, I’m a development manager.  The most important part of my job is to interview and hire software developers.  With mediocre software developers, you get mediocre software.  No one wants mediocre software.

I like to believe I’ve become pretty good at identifying talent and weeding out less-than-desirable candidates.  During my career I’ve interviewed many candidates, possibly in the hundreds, and built successful development teams from scratch more than a few times.

Last week I received an email from our HR recruiting manager about a young, fresh out-of-college candidate that we really didn’t have a position available for, but had an internal referral and really wanted the opportunity to talk to us.

Our resulting conversation, or rather, the fact that I’ve had this conversation at least 3 times in the past year, is why I decided to write this post.

Here was my feedback to the recruiting manager:

This was a nice conversation, he’s a pretty smart kid. As I expected, his answers were wordy and rehearsed, pretty standard for someone fresh out of school with only scholastic experience.

That being said, after a few softball tech questions I drilled into his knowledge a little bit and really uncovered how junior he is. When I asked him about Agile, he recited a Wikipedia definition that most likely would get him a “B” on a test, but he couldn’t give me any specific examples of how he and his team used it or why it was “better than waterfall for modern projects” (his words).

We spoke only briefly about his PHP experience (it was on his resume), but after he couldn’t tell me how to concatenate a string or name any of the methods for dealing with databases I assumed he’d fall short on design patterns and implementation standards outside of what was written in a book.

Education is important, but more important than what you know is how you’ve taken what you learned and used it in your career/life.

When I talk to programmers, especially young ones, I’m looking for eager curiosity and self-taught experience. You can’t get this in a college classroom, it’s a personality. You either have it or you don’t.

As I interview more and more of our millennial generation I am finding that interviews like this are becoming more common.  And that concerns me greatly.  Somewhere along the line, our formal educational system evolved into a series of rewards for memorization and regurgitation of facts and definitions. Practical application and self-paced (self-motivated) curiosity have been replaced with the promise of “good grades = good career”.

To add complexity to the issue, the interview process itself is flawed. I could write a book (probably not a very good one) on interview questions and techniques and still not scratch the surface of every candidate’s true potential or knowledge. The sad fact is, I have 60 minutes (at best) to try and extract the complex answer to a simple question: “Should I hire this person?” On top of that, I’m judging talent and aptitude, while trying to avoid knowledge. To do so, I find that more important than the base question is the follow up: When I ask “Are you familiar with design patterns”, which in this line of work should always result in a “yes”, I follow up with “what was the last pattern that you used? What did that application do? Why did you choose that pattern over the others?”

Everyone knows what a stone is. We can describe a stone and draw one, but only the great minds saw it as a building material and constructed great castles and cities. This is the skill I’m looking for, and it often hides itself well.

What I really wanted to say during the interview was “An interview and an exam do not share the same purpose, therefore they do not have the same answer. I’m not asking you about agile SDLC because I want to know if you know the definition.  Frankly, I don’t care if you know the definition.”  But I did not.  Maybe I should have.

Many of the best programmers I’ve worked with have no formal college education, and many of them have no certifications of any kind, but they are still brilliant developers. Getting a degree in Computer Science does not make you a programmer any more than wearing feathers makes you a chicken.

Walk into your kitchen, unplug the toaster, take it apart and find out what makes it work.  If this activity doesn’t interest you, maybe you should pick a field outside of engineering.

Beyond the Mouse

It wasn’t an easy decision, I’ll give you that.  But now enough time has passed to where I feel like I can speak (or blog) candidly about… That place I worked that one time.

OK, so almost candidly.  But you’ll get what you get, and you’ll like it.

Way back in 2005, I started an exciting career at (REDACTED), when the entire department had less than 8 developers.  When I finally hung up my giant white gloves and moved on, there were over 150 of us on-site, and somewhere in the neighborhood of 225+ when you included off-shore contractors.

fishAt every job before this one, I was the prodigy.  At first, it was amazing.  I was the youngest developer ever hired by my first company.  And it was awesome.  But after a while, it felt like an intense weight on my shoulders.  When I moved on to other companies, the weight continued to amass until it was unbearable.  I was a big fish flopping around, and my pond felt like a spilled glass of milk.

Then, by some weird stroke of luck, I was downsized right out of a job.  I spent a month hanging around the house, and then another month doing contract development work and living the easy life, but I was bored.  Finally, an unexpected call led me to an interview with one of the most famous companies on the planet.

Truth be told:  I didn’t feel like I belonged at this place.  The other developers were really smart, and I was a small fish in a HUGE pond just trying to get noticed.  I remember a conversation with my mom when I told her that this job wouldn’t last.  We were contractors, all of us, and we were told we’d be competing for full time positions.  I told her I was in way over my head, and the other developers were eventually going to outshine me, right out of a permanent spot.

Everyday I walked into that office it felt like a gift.  Never, in my career, had I worked with so many amazingly talented people.  I know people use the word all of the time, but it was, truly, awesome.  The department had no idea what they had their hands on.  Everyday, project managers would fight over which developers they got for their projects, and we were kings.  There was a magic about that “kingdom” that I thought was irreplaceable.  Thinking back…  Maybe it was.

The last day of my 6 month contract, I was extended to 9 months, and then a year.  Then finally, late one evening, while chatting with another developer outside the kitchen, I was approached by my manager and pulled into a conference room where he told me they wanted to offer me the full-time job.  It was an 11% pay cut, and honestly, I would have accepted if it had been 20.  To date, it was the greatest accomplishment of my life.

unknown technologyOver the next 6 years, using a language no one had ever heard of on a server no one knew existed (and, no one would ever miss) we created websites that upped revenue (in just one case) from 500 million to over 1.8 billion dollars, and another that redefined the way restaurants were booked for a massive family of locations.  Before agile and JQuery, we created process where there was none, we wrote a syndicated code base used across thousands of travel websites, and fostered the environment for a development family like none other I’ve ever witnessed.

After a few years, I knew every site like the back of my hand.  I had built big chunks of it, after all!  But, at the height of my career, the tide started to shift.  We were bringing in more and more contractors, and taking on more and more work.  It was an exciting time to be a part of the senior staff but, at the same time, the writing began to appear on the wall.  One by one the original development team began to disappear.  We lost one talented developer to Oakley, one to YouTube, a few to start-ups across the country, and another to a credit union just starting their web business.

childLabor

I moved from project team to project team, and finally settled in on the operations team as a senior level mentor and trainer.  By this time the technologies had begun to change.  We were moving in the direction of a new language, a new web server, a new JavaScript library, and a new direction for the sites all together.  Had it been just languages that changed, I could have survived.  But the greatness of the team had disbanded and the personality of the department had shriveled up and became that of a giant, code pumping machine.  The Nerf guns were banned, the holiday parties were long gone, and the annual indoor golf game was lost to memory.  Long forgotten were the days of “Dev Chat” meetings, and off-site gatherings you could fit at a few small tables in a local restaurant.

We had become a world-class development shop who had completely forgotten that we weren’t a development shop.

I wasn’t even looking for a job when I got the first call.  In fact, I dodged the hiring manager, the HR rep, and the vice president of eCommerce for two weeks while they pursued me in the evenings and weekends.  But, finally I agreed to drive down to south Florida to meet the team, and get a feel for the company.

Reluctantly, as there was no longer room for me to grow, I decided to pull the plug on my relationship with the mouse and begin anew.

What is a browser?

First, watch this video:

The reason this video is shocking (to those of you who know what a browser is) is because we assume that the proliferation of internet use has, in some way, educated people about the fundamental workings of the web and software. This is, clearly, completely untrue.

Don’t forget developers/site designers/UI folks, just because your mom can use Facebook to send you messages, doesn’t mean she has any idea of how the tubes really work…