Hacker News new | ask | show | jobs
by edrxty 1597 days ago
Am a self starting generalist. Every company I've worked for has desperately tried to beat it out of me. They think they want this but what they actually want is someone who will turn pre-chewed tickets into code on whatever platform they have without attempting to fix underlying issues as they identify them.
3 comments

I used to think like this, but what I ultimately realized was that it's pretty arrogant for an individual contributor to think they know best what the user wants.

Once I realized that, it made a lot more sense why I wasn't (and shouldn't!) be the one calling the shots on priority, UX, tempo. Even for things like tech debt, it really needs to be baked into the ability to deliver new value to a customer or it's very often not worth addressing.

Ultimately, I tried to get closer and closer to the users, so I could be in a position to know what they want, but as I did that, I found myself coding less and less.

It's a tradeoff. If you really love to code, you must accept you need help figuring out what to code. If you would rather build things people like, you must accept that means spending a lot of your time talking to and working with users.

You can't be a one man band.

To clarify, I work embedded systems for aerospace so it's a very different world than most devs exist in. The customer is asking for something defined in a legal contract with the details spelled out for the most part. The issue is the industry is inhabited by dinosaurs so the older I get, the more I realize that *nobody* knows what they're doing. Everyone is just trying to maintain their silo so they can keep getting a paycheck. As such everyone is still using c/gcc/svn/eclipse/windows/vxworks and if you even think about changing any one of those things in the slightest you'll be inviting a firestorm of pushback as it threatens to break long established and scripted personal workflows that only the individual understands: https://xkcd.com/1172/

Corporate almost always wants faster/better/more agile/higher reuse and you see that in postings/interviews but the PMs/Principle types always dig a moat to prevent anything from moving down to Seniors and lower.

You can't be a one man band, but if the organisation supports it, you can achieve both. In my experience, it doesn't need to be a trade off. We can get close to the users and program to your hearts content. We need the right company and environment to want to invest in that for us. There's a great loop we can get into by doing things like offering demos of new features to clients weekly or bi-weekly. What I've seen happen is that we don't need to code as much because we know the specific problems that need to be solved, rather than loads of guesswork and trying to write blanket solutions for misunderstood problems.
If that's the route you want to go, prepare to spend more than half of your time not coding.

I personally think this is the future, and the myth of the introverted software developer who comes up for air to say 5 words in a standup is well past its expiration date, but a lot of people cling to that pretty strongly, so I expect people will prefer to code in dysfunctional teams that aren't well connected to their users for years to come.

What a luxury to work at a place where tickets are defined and work is scoped out for you :)

If you're chafing there due to the lack of autonomy, I promise there are places hiring people whose strong suit is tackling ambiguity in addition to software development.

Well, we're hiring :-) https://talkjs.com/jobs

No deadlines, nearly no meetings, and definitely no pre-chewed tickets. Write your own spec and then ship it (all with help from team mates ofc).

I'm pretty confident that we're not the only company that works like this.

What I think I mean is, if you're appalled by employers that treat people like replaceable cogs, then it might be worth your while to find an employer that doesn't :-)

Very much appreciate that, though I'm a full stack embedded dev (EDA/c/++/rust/py etc).
Ah cool!

I used to work in embedded software too. At the risk of sounding arrogant, it is my experience that embedded devs learn the web stack a lot faster & more thoroughly than vice versa. So should you at any point be interested in switching to web/mobile tech then be sure to get in touch.

And, totally unrelated, when I did embedded software, by far the coolest job I had was at a hardware startup. We were 9 people in a room making a lithography machine (a machine that makes chips) that could compete with the market leader's 20 year old junk. Said old junk was getting, well, old and broken, so we were trying to fill that demand gap.

I think at least half the team was working well outside their usual skillset at any point in time. It was super frustrating for people who considered themselves specialists and awesome for the rest. I learned a lot there about what a workplace where generalists thrive looks like.