Start-ups Hate Experience
Said no one at a start-up, ever. That being said, it is true that from outside of California developers bemoan the lack of opportunity experience brings. It is the mythology of being too old or of being overqualified. The protagonist of the story is the poor developer with too much experience in the corporate world that just can’t land a job.
Neglected it is the story about the interview, unless you are in the inner circle. A small aside since I will be mentioning it a lot: Developers have trust issues. If you want to truly understand a developer’s mindset then you will need to develop the trust over time and not just one passionate lunch. It might help if you possess the runestune of trust or a piece of the Tri-Force but for the rest of us trust is built over time. Perhaps, in another series, I will dive into the trust issue but for now just know it exists.
Anyway, where was I, ah the interview. Experienced and older developers do land interviews at start-ups and high-tech companies. It is just not in the mythology of not getting a job there. I guess the reason is really self serving. People like external failures and not internal failures. Would you like to know some of the issues discussed?
- “They only asked Computer Science questions. If I needed it I could look it up. No developer has ever needed to write a bubble sort so why should I have to know it,” she bemoans.
- “All they could talk about is continuous integration. I understand that continuous integration can be useful but in my experience I have found that there is no substitute for a full QA team supporting the developers,” he chided.
- “We talked a lot about compensation in the first interview. I know that Silicon Valley salaries are high but what I really needed was the 8 weeks of vacation”, he described
- “They asked about my daily work. I told them about the tickets we process here and how I finished two tickets this week,” he bragged.
I think you, dear reader, can see the pattern here. It isn’t that the start-ups or high tech companies hate experience. They hate a certain type of experience.
Let’s Not Blame Developers
It is easy to blame developers. But let’s look at the other side of the equation. How old do you think the hiring manager is in a tech start-up in San Francisco? My guess, 28 to 25. This has some ramifications. One, the hiring managers themselves do not have a lot of experience. Because of this, they need to focus on what they understand. Biases common to the younger software development manager:
- School Bias: Whatever University they attended has the greatest program in the world. If you want in then you have to have gone to this school. This bias exists for the obvious reason of familiarity. The young software development manager understands the program you took. She may not realize that you can get a college catalog from any University for less than $15 and formally check what an individual studied.
- Latest Technology Bias: Ever heard of No-SQL Db? This is the greatest invention in the world and it will solve all problems. Unfortunately, this isn’t true. When you add in the features and comparable configurations SQL based Databases fall inline very quickly for most scenarios. The problem is actually a failure in University course work and a lack of experience. The biggest technology gain in NO-SQL vs SQL is usually Indexing and Tuning. Two items glazed over in University database courses. After all the three weeks on Relational Algebra was a much better use of class time.
- Time Bias: “I was up until 4AM last night and I feel asleep at the keyboard,” indicates the young software development manager. Well, this is true. So did I when I was 24. You know what, so do Doctor’s during their Internship. This part of our young adulthood is spent mastering a craft. What it often neglects is that the older developer may not need to work 18 hour days because she already knows the solution. We often compare what we want to see and if the manager is working 18 hours then the “adult” working 8 must be Lazy.
Back to the Lazy Developer
Now that some biases from both sides have been identified I want to delve into something real; the lazy developer.
In the enterprise world, the place where most developers exist, there is a problem. Management hates developers. As evidenced by actual early career transgressions:
- Asking for more work because you finished early
- Calling a meeting for clarification
- Researching information on the Internet
- Speaking loudly and passionately about a technical solution
- Achieved Zone 2 or higher
- Telling a ribald joke or playing an office prank
- Missing a deadline
Each one of these items can be a firable offense in the world of Fortune companies. As such developers who last develop a shield and armor and a cocoon of cynicism. Because of this, developers from the enterprise world start morphing into Wally.
They learn to play the game. Instead of maximizing productivity, which is a negative, they maximize visibility. Instead of missing a deadline to do something right, they fake it. Hitting a milestone is more important than not authoring a corporate data breach. Developers are smart capable people that quickly master their environments.
The counter to this mastery comes when they look elsewhere for employment. The young software development manager takes one look and classifies the developer as lazy. And you know what, to an extent, it is true. The young software development manager then makes the easy decision … you know it is easier to just hire someone with no experience and train them for 6 months.
Is this all true?
You know what? I think about it a lot. I think it is all true but the solution isn’t just “fixing” a piece that is broken but recognizing your environment.
For the young software development manager: Realize that you are young. If you were to take the risk on an enterprise hire then you will need to work at a skill you don’t have yet, management. I know it is tough, what you really want to do is program but your title is manager. If you want, heed this advice: all developers can be retrained. If you want true value for the buck finding the right developer to retrain will outdo a young hire any day of the week. The problem is that it is tough work and it is people work, not development work. If you have the title of manager, however, this is what you need to do to lead your team. You may think your commitment is personal contribution to technical excellence but you are mistaken. Do you really believe you can out program a team of 15 developers in Zone 1? If you are the manager then you need to master that skill.
For the lazy developer: Realize that to the outside world you are lazy. The mastery of your environment in the corporate world is your downfall. Do you want to change then it is time to step up your game. The question is, do you really want to? Would you like a good way to find out? Spend a few weekends implementing some classic algorithms in a language you don’t know. Bubble sort is easy so it will give you the easy win. Then you can progress to something more complicated like a Huffman code. Want to really flex the muscles? Try using functional pointers in Ada. Bottom-line, step up your game a bit. Secondly, create a value proposition. The young software development manager sees you as lazy and without valid skills. What value can you offer that overcomes this weakness? Part of this maybe sucking it up and forgoing the earned benefit of middle adulthood (long vacations and high pay) but don’t worry. You can likely negotiate a 6 month trial run.
The Environment Matters
To draw this to a close we must understand one thing about developers from all walks and all organizations: they are incredibly bright and adaptable. Understanding this allows you to successfully understand and leverage them. Part of this is understanding that smart individuals learn really fast. If you have ever had a parrot then you know that they will rapidly adapt to their environment and if you are not careful you will create an individual that is very challenging to work with. The same is true for Dobermans and children. They are all smart, rapid adapters that will learn their environment to their advantage.
I hate to say treat developers like dogs and children but here is what works best, if you didn’t know:
- True positive reinforcement
- Developing intrinsic motivation
- Positive, safe environment
- Care of hierarchy of needs
There is no such thing as a lazy developer, merely a developer that has rapidly adapted to the environments they have been presented.