Settings

Theme

Street fighting engineers vs. martial arts engineers

ravitejakanta.substack.com

104 points by lazy_afternoons 3 years ago · 71 comments

Reader

dgunay 3 years ago

I feel like these aren't always personality traits, but rather often indicate the kinds of work environments one has been exposed to.

I would characterize myself as more of a "Martial Artist" at heart. I find creating quality code gratifying for its own sake. I have an academic CS education. The majority of my early career was spent at a mature organization with lots of process in place and a reputation for engineering excellence. I love tools engineering and other internal work that makes others more productive, rather than the trench warfare of supporting consumer apps with thousands and thousands of users.

Yet, over the past two years at startups I feel I have taken on a lot more "Street Fighter" characteristics in order to cope. I let objectively bad code slide in reviews if it puts out a fire or we won't scale to meet its limitations soon. I fix serious issues and operational headaches under the table, because they would fester for months unprioritized otherwise. I start talking directly to management at the year mark instead of waiting for raises, because most startups just don't bother setting any expectations at all on that front.

It's important to realize that not all Martial Artists will be that way forever. And your organization might be what makes them hang up their black belt and pick up some brass knuckles. Or vice versa - a Street Fighter might tire of building and rebuilding half-baked spaghetti wire solutions and decide to go somewhere they can just focus on one thing and collect a paycheck.

  • RajT88 3 years ago

    Nailed it.

    There are actually more pitfalls than just the nature vs. nurture argument (for example, combat based metaphors in cultures where women do not typically serve in the military are likely to affect the perception of who measures up...).

    In that vein, I am more jazz guitarist than classical pianist.

virtualritz 3 years ago

A friend of mine who's both a kick ass engineer and great product manager once told me this analogy, which is employing similar to the one in the article:

"For any software project to succeed, you need three types of developers:

The kamikaze. They kick off the project, they don't care about the mountain on the horizon or the abyss less than ten clicks ahead. They get everyone on board and they will also give the column directions and keep them on track.

The soldier. They just march on and on. They may take longer to solve a problem, but they don't tire. They keep at it.

The sniper. Any really difficult issue they will just take out. But they need calm and solitude to do their deed."

neilv 3 years ago

I kinda like this analogy, though the idea of street fighting is pretty unsavory in real life. Whereas Martial Artist in the article's analogy is like suburban children's Karate classes leading to later study for organized sports competitions and exhibitions. (BTW, IIUC, there are other kinds of study of martial arts, including people who focus on internal development separate from external accomplishments.)

Even though it's unsavory, I did use a "scrappy street kid fighter" analogy on HN a couple months ago, criticizing some academic attempt to make declarations about software engineering. Then spun that into one of my favorite topics, which is startups and other smaller companies playing house self-destructively, by cargo-culting behaviors of insulated massive megacorps. https://news.ycombinator.com/item?id=34753570

Instead, we need to lean more towards scrappy street-smarts than we have been during much of "tech". (We also need to always learn from our predecessors and conteporaries, but to be smart about it, not cargo-cult, so I'm focusing on the smart part first.)

  • ajb 3 years ago

    I don't know, I feel like a lot of these laudatory adjectives like "scrappy" and "street smart" are often just ways to excuse product owners, designers and execs making crappy decisions and throwing them over the wall to engineers to sort out. YMMV, of course.

    • neilv 3 years ago

      I suspect that a scrappy organization wouldn't have a wall to toss anything over.

      If a wall did accidentally appear in a scrappy org, maybe the wall gets knocked over, and the trash collegially tossed back, with an offer to work together on something that will work?

      Stereotypical lumbering bureaucracies can appropriate terms all day, and people mimicking them can also mimic their appropriations, and management books can be marketed, all while ignoring the actual useful meaning of the terms.

      • ajb 3 years ago

        I think I'm taking about a different failure mode. To have a "wall" you don't need a large organisation, just leadership that has certain blindspots or beliefs that they don't allow to be challenged. (I know I'm being a bit vague, I can't go into the specifics unfortunately).

        • neilv 3 years ago

          I might've heard of that kind of situation: https://news.ycombinator.com/item?id=35344635

          • ajb 3 years ago

            Well, there's that, yes. But I think there can also be an excessive belief in the power of scrappiness and agility, that it can overcome any issue, so no actual consultation or forethought before committing the company is useful. Any pushback being dismissed as "big company thinking"

            • neilv 3 years ago

              Definitely agreed. Variations on the word "agile" are too loaded and religious now, but I was hoping I could define "scrappy" how I want to, which at times includes shrewd planning. :)

  • Swizec 3 years ago

    My favorite part of boxing is that it’s a very honest martial art. If you punch the other person more than they punch you, you win. Even the most technical coach will tell you that all the technique and philosophy we train is just there to improve your chances.

    When you’re in the ring, forget the theory, do what works (within the rules). If your instinct says to throw a weird punch at a weird time, do it. You probably saw an opening.

    I also like that boxing is full contact. No amount of katas or whatever will teach you as much about yourself as getting actually punched in the face will.

    Similar to how no amount of analysis can beat actually shipping software and seeing what customers say.

    • neilv 3 years ago

      Hence the sayings "Everybody has a plan until they get hit in the face" and "The enemy gets a vote". There's a lot of truth to this.

      I suppose we have to be careful not to rationalize mindless flailing, when we should be keeping our heads and mixing levels of intuition and thinking appropriate to the occasion. (Rather than throw random things at a customer each sprint, and purely react, we can be smarter about what we throw. Also, a one-week sprint isn't about acting in the moment of a hundredth of a second.)

      • Swizec 3 years ago

        > not to rationalize mindless flailing, when we should be keeping our heads and mixing levels of intuition and thinking appropriate to the occasion

        This is true. When two experienced boxers (even ones who never compete) face off, it’s like a chess match. Both thinking five steps ahead and it’s as beautiful to watch as it is fun to experience.

        But never underestimate the beginner. They will hurt you in the first 30 seconds because they’re scared and don’t realize their own strength. Then after 30 seconds they’re out of steam and you can do your thing … if your head’s still on.

darod 3 years ago

first "code ninjas" now "street fighting" engineers and "martial art" engineers? really? I feel like these monikers are getting a little silly especially since you'd never see the reverse.

  • neilv 3 years ago

    > you'd never see the reverse.

    Excellent point!

    Competitive TKD practitioner: "Approaching this match, aware my opponent was a highly-ranked veteran competitor, I asked myself: what would a techbro do?"

  • mattmanser 3 years ago

    There's been a glut of these "two types of programmer" articles the last few days, it's just a stupid trend.

  • inawarminister 3 years ago

    Well I'm a HEMA swordsman moonlighting as a backend/LLM programmer and in many cases I think while wrestling with my spaghetti code: "How would Meyer deal with it?"

    Human cross-domain capabilities are amazing.

    • AstralStorm 3 years ago

      Fiore would just twist and throw the problem until it's obvious, solved, requirements are met or it's left for someone else to deal with. ;) Very direct. Force and control inputs, thus outputs will be ensured correct. Manhandling code has a long tradition.

      Meyer would evaluate a series of varying weights of golden hammers. Try to defensive code all possible cases. Find a decisive insight into a problem.

      And Polish sabre school would cut off the angles until the solution is all that remains possible. Feint all sorts of evil cases for testing.

      Now the fun part is that basic principles are the same.

      You write code that works and does what is required or you are not a programmer.

      You win swordfights or you're dead.

      Both of the swordmasters worked from first principles...

  • smugma 3 years ago

    The reverse/inverse is taking about a physical sport in cerebral terms, like the other commenter comparing boxing to chess.

    Another analogy would be someone talking about their music like (a) code.

    • darod 3 years ago

      Sure, but no one is comparing a quarterback with a physicist or in this case a programmer. I just think that our field is developing descriptions of ourselves to over embellish what we actually do and it's not necessary. We sit behind computers, think, and write code. We're not swashbuckling, throwing stars, or grappling with opponents in the streets.

  • intelVISA 3 years ago

    LFM 10x rockstar/street-fighter (no LLMs!) SWEs PST

  • dgunay 3 years ago

    reminds me a bit of this Elon Musk tweet: https://twitter.com/elonmusk/status/1527774704018280448?s=20

    • neilv 3 years ago

      He has an interesting mix of good ideas and bad ideas.

      Which is good and bad, in a society in which he can do almost anything he wants, and almost no one will tell him no.

angarg12 3 years ago

Fun analogy, but let's look at the Martial Artist environment

> There are basic ground rules (clear requirements) which the opponents (problems) are NOT allowed to break. eg: below the belt punches, (changing priorities every week) etc.

Who does get to work in such an environment? I can only think of:

* Academia

* Artificial environments (e.g. leetcode, coding competitions)

* MAYBE very mature products in established companies

For the vast majority of us changing requirements, unknown unknowns and technology shifts are our daily bread. Big, unchanging upfront design doesn't work, and we've known this for several decades now.

  • ZephyrBlu 3 years ago

    This is a very common environment in large companies.

    If you're working on an existing service and not building new features/functionality (E.g. you're improving scaling or optimizing performance like he mentions) the problem space is usually pretty well defined and you can mostly just put your head down and work.

hising 3 years ago

First, 10x devs are so pathetic to read about, but:

What I like with this article is the difference in how you approach a problem depending on how you are functioning as a human being. Of course it is nowhere near of the real world, but I think all of us can identify people we worked with who are really efficient on both of these "sides".

ZephyrBlu 3 years ago

I really like this dichotomy.

Over time I'm becoming more and more aware of non-skill factors that affect my impact.

I'm definitely more a street fighter, and I feel limited when I'm given martial artist work and there is very little opportunity for street fighter work.

I think it can be very difficult to be a 10x engineer because you have to be in an org that has the right type of work, be on a team that's involved in that work, and be in a role in which you're given that work.

Working at a big company as a SWE (As opposed to e.g. SRE) I've found that the street fighter work is very limited and generally only specific teams and people get to work on it.

mostertoaster 3 years ago

When I first read the headline I read it as the engineers behind the game street fighter.

ukuuru 3 years ago

Martial arts for the projects, street figthters for the products. Good engineers are always valuable but everyone shines differently in different situations.

GenericDev 3 years ago

I would like to propose another candidate: Street-Fighter with Martial Arts training.

cudgy 3 years ago

“The street fighters mostly have scars and reputation in closed groups. To find them you have to talk to folks in that closed group.”

What closed group would that be, since by definition they are not part of a particular group? A martial artist sounds like the guy that got a product of the ground and would likely be part of the founder group; not likely looking to do it again.

karmakaze 3 years ago

A rather contrived or ridiculous post.

> I have worked with 2 types of 10x engineers so far: Martial Artists, Street fighters

It then goes on to say which you should have. Duh if they're each 10x, both.

The article set up a false dichotomy in its premise.

hallqv 3 years ago

Nice distinction, I'm definitely a street fighter engineer myself, and I often struggle to understand martial arts engineers. This article helps with that in a weird kind of visceral way.

Osiris 3 years ago

From the headline I thought this was going to be about software engineers who do Martial Arts as an hobby. I do Brazilian Jiu Jitsu and there are a lot of software engineers in that sport.

Animats 3 years ago

Sales reps come from the street fighter mindset. If you hire people like that, they have to be given external targets to fight. Otherwise much energy is drained off in internal fights.

"The Gamesman" (Maccoby, 1978) divided workers into "craftsmen", "organization men", "jungle fighters", and "gamesmen". Same concept, earlier decade.

bitwize 3 years ago

I'm kind of reminded of my counter to Didier Verna's "Lisp, Jazz, Aikido" meme: Visual Basic, Punk Rock, MMA.

mock-possum 3 years ago

I feel like over time I’ve learned that I don’t really have the discipline for marital arts, but that I’m scrappy enough to get by as a street fighter. I appreciate martial artists, but I just can’t devote myself to the art the way it deserves.

  • layer8 3 years ago

    > I don’t really have the discipline for marital arts

    Freudian slip? :D

jackblemming 3 years ago

Does anyone else enjoy these cheesy blogs even if they read like astrology or phrenology?

  • _piyush 3 years ago

    Yes, because they set a specific perspective. Read a lot of them to get a lot of point of views.

  • sibeliuss 3 years ago

    Yep. I was instantly was able to identify some strengths at my org from reading it.

29athrowaway 3 years ago

And there are also the ones that kiss up the referee and win through politics. But without the referee get knocked out with one punch.

They have no use in a real fight, but companies are full of them.

airocker 3 years ago

It seems similar to the analogy of a circus lion vs a wild lion.

xupybd 3 years ago

I struggle to understand what insight is gained from this article. Can anyone explain how this could be useful?

  • lazy_afternoonsOP 3 years ago

    Honestly, it was just an observation.

    IMO, the street fighting skill is a bit less known. I worked for a unicorn which had ZERO managers and ZERO Product managers. The engineers had to speak to the users, write the roadmaps, build stuff and report to the founder. I realised this skill was rare among engineers and less talked about. Initially, I titled this "Street fighting engineers", it eventually evolved into this.

    • ZephyrBlu 3 years ago

      My guess as to why the archetype isn't as well known is because you can absorb most of the chaos with a very small number of people.

      Unless these people make their role known, most other people don't see all the firefighting that they do.

  • dgunay 3 years ago

    To make talent sourcing and hiring decisions.

  • mattdeboard 3 years ago

    it’s useful for people who want to understand the minds of others.

altdataseller 3 years ago

Its street fighting engineers vs marvel superhero engineers.

andromeduck 3 years ago

Sounds a bit like ADHD vs ASD

whaleofatw2022 3 years ago

Thank you for sharing this! It is helpful in explaining things easier

zanethomas 3 years ago

Most martial arts are worthless in a real street fight.

  • bayindirh 3 years ago

    I have seen the opposite. I’m a martial arts style programmer, who is put into environments where street fighting is considered more ethical than what I had to put up with.

    Being able to craft quick and dirty solutions which are diluted versions of my normal code solved tons of problems. Since I see programming as a craft, I had an intuition about where I can cut corners without affecting the quality most of the time, and I can add the corner back if the opportunity arises.

    A martial arts practitioner with a flexible mind is a formidable force.

    • zanethomas 3 years ago

      Martial artists train to 'fight' within a constraining set of rules. In a real fight there are no rules.

  • AdieuToLogic 3 years ago

    In "a real street fight", the person who can extend combat such that they minimize immediate threats as well as deliver maximum damage to their opponents when possible typically will come out the other side better.

    These are techniques martial arts teach. A "street fighter" might have some tricks up their sleeve, but a martial artist is better equipped to handle arbitrary conflicts they may find themselves in.

    Neither guarantees success in a fight.

  • layer8 3 years ago

    Neither have any chance against the gunslinger engineer.

davedx 3 years ago

I do well in almost any technical environment but am able to drill down and specialise down the deeper rabbit holes when needed. Sometimes my theoretical knowledge is spotty and lets me down though so I guess I’m more Ryu than Bruce Lee. I’m definitely more around the 7.5x - 8x than 10x though.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection