58
leanrob
6y

I was thinking today about a certain aspect of running a software startup and then it came to me...

Hank Scorpio, from the Simpsons, was right in his approach.

So many time I have seen people get hired only for the company to get a less-than-optimal performance from them.

But why is this? Of course, it is many factors but one of the major ones is...

Employers seem to lump employees in together and assume that since most developers operate in one way that the new devs should be the same way.

The problem with this seems to be that we are all pandering to the lowest common denominator.

Let's face it, most devs (like most people) are not good, and almost everyone is not living up to their potential because of a lack of understanding of themselves and how they can achieve more.

On top of that, most devs are just employees who will do what you tell them to.

Since those above developers are the norm (Reference Seinfeld "95% of people are undatable") we have to assume that there is a 5% who are exceptional.

The difference between the 5% and the 95% is NOT some built-in superiority but that the 5% has a good idea themselves and an understanding of how to get the most out of them. They set goals and then find the right path to achieve them. They don't coast.

By assuming these developers are the same as the others is REALLY hampering their potential and by doing this the company only hurts itself.

So, that's a lot of talking but what actionable things can be taken away from this?

Hank asks Homer "What is your dream?"

Well, employeers should take the time to identify which of these developers are in the 5%. A problem arises though when the 5% decide it is in their best interest to blend in.

Like when home says his dream is to "Work for you?" Hank shuts him down and wants to get to the truth. He makes Homer comfortable with not only vocalizing but achieving his dreams.

When an employer is looking for their types they should be looking for the following...

1. A real genuine desire to achieve
2. A real plan to get their goals done
3. Critical thinking and self-evaluation

But more importantly, when they identify these types they should be asking questions like...
- How can we help you be more productive?
- Is there anything about our current operating norm that is hindering you?
- How does your productivity workflow look?

3 difficulties arise though…

1. Most hiring managers are incompetent, and quite frankly, everyone thinks they are in the 5% and for those managers who delude themselves into this without putting in the work, they will have an impossible time actually identifying those who are actually good and productive employees.
2. Showing special treatment to these folks may upset the people below.
3. You will hear things you don’t like…

Examples include…

- That new fancy open-office that you got because it was the trendy thing to do, you might hear that this is a huge hinderance.
- These days people seem to treat devs like nomads, “just give him a laptop and a table and he is fine”!. You may hear that this is complete BS. Real achievers may want a dedicated desk with multiple monitors, a desk with drawers etc.
- This WILL cost you money. I know of developers who cannot work without a dedicated whiteboard. Buy them whatever they need.
- They may want BOTH a standing desk and a chair to sit on.
- Etc.

The point is that it seems to me to be a foolish strategy to tailor your entire company to force everyone into the same work habits. Really good employees have the self-awareness to develop their own productive practices and any keeping of them inside a box will NOT help.

Comments
  • 12
    This is fucking amazing. Thank you.
  • 7
    @GMR516 Thanks for the compliment. I took some time to meditate on this topic today and I thought it had some real value as a thought experiment.

    I'm looking forward to seeing if folks can poke some intelligent and thought-out holes in it though. :)
  • 6
    The problems you refer to belong to the industrial-era a.k.a the second wave corporates. (Refer to Alvin Toffler's masterpiece Third Wave for more info).

    The solution you point towards is the third wave industrial model where education, workflow, lifestyle, or everything is "customized" to person's liking.

    However, you must note that even the most "flat organized" workplaces have limits towards this customization in order to keep stability. The marginal 5% is very well below the critical if you can somehow isolate those people but the problem in achieving such versatility in socially involved workplaces is no easy task. Let me elaborate:

    When I was in high school I was staying at school dorms and any kind of electronic devices were banned. I was the worst student at school marks-wise but gone to top 5 by smuggling my walkman to dorms which was apprehended and given back after my huge drop in exams.

    The reason of ban was "everyone wants walkman and will stop studying if we let them"
  • 5
    @zeknoss I get the feeling that you understand exactly the issue I see, and the problem with solving it.

    I get the “we hold everyone’s hand, you if we let you walk alone then those who actually need hand holding may stray away.” In high school because of a severe lack of maturity in most.

    In a professional world though I think that is a bit of a cop-out on the part of the employer.

    I have seen this in many other startups as well as other “reasons” for things.

    For example, when you hear someone say “that’s the way we’ve always done it. So that’s why we do it that way”. Has always felt like an excuse not to put in the work to improve the situation.

    But you are right that there must be a balance between customization and stability. I would urge to keep in mind that this “stability” may actually be one of the major issues holding back your high performers and encouraging your “coasters” to coast in their stable situation.

    Good point!
  • 4
    Everything about this, from the post to the comments, resonates with me.
  • 5
    Start a fucking blog pleasr
  • 4
    @hashedram thanks for the encouragement! I’ve actually been considering that for a while.
  • 1
  • 1
    @leanrob :) Indeed I do understand the issue. I'm not saying I am on of the marginal 5% people but I totally need some extra measures to get to the peak of my productivity in my workspace.

    The "that's the way we've done it" issue is a very ancient trait IMHO. When I was in UK the house I lived in had those old English style faucets. There is only one outlet on it but it somehow seperates the hot and cold water inside of it and when you put your hand under the faucet your hand both gets burned and froze under the water.

    When I asked the plumber why they don't mix the hot and cold water he said to me "It's always been like this around here, so I never asked why" :)

    Same thing goes with every job in everywhere...

    Cheers!
  • 2
    @leanrob

    For the most part, this is what scrum is all about.

    You fire managers.

    A product owner serves as the bridge between stakeholders and development teams.

    You let teams steer themselves.

    You let them set their goals, ask them to refine features, and demand that they give realistic estimates on small tasks.

    How they achieve their goal is for the team to decide — no manager shall keep a developer from writing code in their underpants.

    Teams have meetings, usually a super short daily standup (like 10 minutes), and a bigger meetup once per 14 days, including a "retrospective" in which the team asks each member what went well, and what held them back — not technical stuff, just workflow-wise.

    This is not limited to development. We have helpdesk teams where people take calls from their bed at home, or a calm beach in Spain.

    The company asks of them: Make sure customers don't have to wait long, and feel helped and satisfied when they hang up the phone. Nothing else matters. You don't have to work 9-5, you don't have to sit in a cubicle with a headset.

    Your team has a mission, make it happen — if that means you're sitting naked in a hammock chair eating peanut butter all day, perfectly fine.

    I think it's important to assign budgets. Every team here gets a team budget, and every developer gets personal budgets — not paid out salary, just an amount of stuff we will provide them with. One sum every three years for new hardware, and an annual allowance for furniture, etc.

    So I'm using a newly built Ryzen workstation with Linux and a mechanical keyboard, a standing/sitting electrical desk and a beanbag, and I have a separate messy soldering table just for fun projects.

    Another dev in my own team is using a MacBook pro, with this audiophile amplifier and headset, and a mini fridge.

    Another dev mostly works from home, and used his budget to soundproof his home office.

    Happy employees are productive employees!
  • 2
    @bittersweet damn I want to work where you work!
  • 2
    From my point of view, the problem is:

    1. Economical situation is at its worst

    2. Too much demand for vacancies too little supply

    3. Focusing on profit

    4. Thinking only for today and ignoring lessons learned

    5. Arrogance, yes I've seen a lot of employers that go with: You want 1400$? I expect a super star developer for that salary

    And I've also seen devs that be like: I've worked x years I'm a senior, when all they know is either one language or their code is a mess

    I don't blame them, I think if they got the clear image from the start the percentage would be less

    6. Competition: I've seen a lot of devs in their mid 30's that resign and open their software services company and when you ask what's their added value to the market, why would I chose them over others? No answer is given other than: We are up to date with the tech we use ...etc, when the main question is: You use latest tech, but how can you be sure? HTML5, React Native are not the latest tech! They are just tools
  • 2
    @gitpush If you consider economical situation to be bad, maybe move out of your city, or even country. Globally, the development market is doing very well.
  • 1
    @bittersweet that is my plan, just need to graduate first, I'm still left with this summer and then I'm done, do you recommend a place to start looking at?
  • 1
    @gitpush all is fine-ish but knowing only one programming language being a bad thing? Why would you say that?

    There are people who still work on Cobol and get huge salaries from Airline companies because many flight Info systems are based on Cobol. Being a sr dev is not about quantity, but more about quality.
  • 1
    @zeknoss Cobol example is a bit to the extreme. Yes I find it a bad thing unless we are working on these:

    1. Embedded systems

    2. Hardware Frameworks

    3. Operating Systems

    4. Am I missing anything?

    From my research the notes above require mostly C/++ for several reasons, so knowing only that is the best thing to do, but for mobile developer, it started with Java -> Swift -> Kotlin ..etc.

    Its not about where I'm working now, look for the future, if something in the dev's domain is gaining interest, better learn its basics, we can't reach optimal experience in any language, we are only experts in the parts we are using

    But what will chances be wider when knowing more than one language? or will it be the same as knowing one?

    Not talking about: I'm a mobile developer, so I learn Haskell, but I'm a mobile developer I learn Javascript to cover React Native, hope I was able to make my point clear :)
  • 1
    @zeknoss Also add on knowing more than one language, you will look at things in a completely different way.
  • 2
    @gitpush I'm not saying knowing more is bad, on the contrary it adds to the person. But we cannot define seniority with quantity, that is wrong IMHO.

    And about the new-language-frenzy of the industry is nothing good. Everything is like Steam games, all in early access, all incomplete, all doomed to be abandoned for another half-baked newer language. This is where I stand.
  • 1
    @zeknoss "But we cannot define seniority with quantity, that is wrong" You have a point, I was carried away with that.

    as for the rest of your comment, 100% true, half backed and suddenly dies.
  • 2
    @gitpush thank you pal, good to have someone to see eye to eye
  • 2
  • 2
    @gitpush I've always faired well in the area between Brussels, Amsterdam, London and Berlin, including Frankfurt, Antwerp, Eindhoven, etc.

    Amsterdam and Berlin have good hipster startups, Frankfurt and London have big financial tech companies, Eindhoven/Delft has Engineering/Industrial, Leiden a lot of bioscience development.

    I know a lot of local devs, but don't know any unemployed ones and don't know any devs who work at a place they absolutely hate just to pay the bills.

    Even just one "junior developer" entry on LinkedIn results in an army of recruiters stalking you until you have to change phone numbers.
  • 2
    @bittersweet "LinkedIn results in an army of recruiters stalking you until you have to change phone numbers" Oh the amount of adds I receive saying: Accept our invitation and give us your number to further discuss open vacancies ...blah blah blah

    As for work locations, any known companies that offer sponsorship? this is usually my barrier :\
  • 2
    @zeknoss I think that the statement of quantity of languages not equalling seniority is correct. But I also think the focus on number of languages is missing the target a little. Let me explain my view...

    First there are the “jack of all trades master of none” which as bad. Let’s ignore those people for now.

    The thing that makes a dev valuable to me is the ability to pick up a new language/framework/tech and quickly be able to release production-ready products with it. So it is not really about what you know but what you a willing and able to learn.

    The Cobal example is a great one. Yes, devs are still working in it and yes the salaries high. But why? Well it’s because those devs are as rare as the jobs. Sure, they could have a cushy job doing the same thing for 20 years.

    Or more likely, the company could change focus and they will be the first one cut. Then find themselves with outdated skills and a lack of compatible jobs.

    That not a situation I want any of us to be in.
  • 1
    @leanrob Thank you pal. Let's clear some things up.

    Knowing X number of programming languages or learning a new one or doing something faster / cleaner is about being a good or bad developer.

    On the other hand, being a senior developer is more about foreseeing potential problems; manifacturing fast and on-point solutions when they occur; have experience and solutions on industrial problems (like specific alghoritms on specific situations).

    No matter what language you develop your software on, the problems and solutions are not so different after all.

    And as today's development standards get more and more generic every day (like versioning and staging mechanisms or project collaboration approaches) you don't have to be a senior dev to know about and use them.

    I hope this clears up my view on the subject. Cheers!
  • 0
    @rosijanni Thanks man!

    A word of warning though. The sad truth is, sending something like this to a boss would be a great way to get fired in most companies.

    The truth hurts and I’ve found most people would rather remove the source of the short term pain than face it head on.
  • 0
    $ cp . /home/$USER/favorites
Add Comment