Ask HN: What is the biggest challenge you face as a developer? - tmastro
======
farnsworthy
Not being permitted to do my job.

Yes, I'd love to help you, if only you'd let me. Won't you let me?

But you won't, because you can't seem to control yourself--it's like a
compulsion to self-sabotage. (Similar to what happens to creative works in the
entertainment industries. Too many cooks...)

And it isn't the CEO, who is typically a practical business guy, enjoyable to
speak and deal with. He's never the problem (and it's best to deal with him
directly when possible, no matter your role). Instead it's the VPs and CTOs
and others in lead or similar roles, who are inherently political creatures.
Witness there the worst sort of decisions in everything from hiring to
"culture" to technical and business strategies.

Personified, the typical company is a capricious and self-defeating entity.

What was the question again? Oh yes, here's me trying to write an app, up
against all that...

------
psyc
Dealing with other people's perceptions. When I start a new job, everyone
sizes me up and forms impressions about my skill or 'level' or whatever. What
impressions? How do they form them? Do they actually have anything to do with
me? Typically, at first everyone assumes I'm an idiot. Then, after I've
tackled something hard that impresses people, they upgrade to "not a total
idiot, but probably green/ignorant". Then slowly over time, as I solve a large
variety of problems with decent, well-performing, and not-so-buggy code, they
upgrade me to "pretty smart, actually!" Eventually I'm the senior guy. Now,
begin a new job and start at the beginning again. Even with 20 years
experience and a long list of successful shipped products, I still start every
new job with the presumption, "probably an idiot."

~~~
farnsworthy
Yes, there's an incredible lack of self-awareness and understanding out there,
with regard to others.

------
matfil
The “software is a team sport” mentality.

At the start of a project, people saying “this needs a team”, even if you can
already see a clear path to getting the thing working.

In the middle, “stakeholders” who want to set schedules and define how things
are done without adding value.

Once something’s working, others presenting it as incomplete or untrustworthy
purely because it’s the work of a lone developer and doesn’t tick some process
boxes (and completely regardless of demonstrated capability/stability/etc.)

(This isn’t to say collaboration isn’t the right answer some of the time. But
in my experience when it works out, it’s usually arises pretty organically and
often has clear boundaries rather than “working on a shared backlog”).

------
xstartup
1\. Not being able to cover all corner cases. Didn't implement auth on Mongo,
some evil bot deleted the database. Forgot to set the timeout on HTTP client,
ending up with resource leak (goroutine) and downtime. Integrating a lot of
services, often I miss so obvious thing which results in service going down.

2\. People with expertise in some key areas not willing to help with your
seemingly easy questions.

~~~
iggg
You had your database open to the internet and a bot deleted it? Did you get
any emails from someone trying to sell your deleted database back to you?

~~~
xstartup
Yes, I received bitcoin request. I asked them to confirm their bitcoin address
to which they never responded! So, i figured, it's not worth paying.

------
anschwa
Figuring out how to show and talk about what I’m working on with my friends
and family. Other mediums such as ceramics and painting are much more
accessible to a general audience. It would be nice to have a way of showcasing
software in a similar way.

------
steve_taylor
Every project I’ve been on goes through periods of crunchtime, at which point
process goes out the window and it all becomes word of mouth. The team chat
app becomes a firehose of information and if I look away for a minute, I miss
something important and end up working on something that someone else is
already working on. Developers become an extension of the team lead who
effectively becomes the sole thinker and commander of his little army of code
monkeys. It’s like being a unit in Command & Conquer. And all because of an
arbitrary deadline to build a demo for internal stakeholders, which sets up
the project for ultimate failure.

------
LarryMade2
Marketing. I think for most that's number one.

------
muzani
The variance in productivity.

1\. How do I estimate how long something takes?

2\. How do I deal with the fact that some developers are an order of magnitude
more productive than other devs? For some reason it's not acceptable to pay
some devs 10x more, unlike sports stars.

3\. When it's normal for an individual to do huge things, it becomes their
expected of them. And so people often work a little slower than they can.

4\. When you're not getting paid accordingly to your output, is it fair to
work as fast as you can?

------
ccajas
Trying not to sell myself short to potential employers.

It's a far more challenging problem to solve than anything I've encountered at
any job.

------
albertlie
The hardest challenge as developers IMO is understanding and selecting the
best technology that suits the current era, your use case / goal, and your
current situation.

Most people that I know made technology stack's decision making based on hype.

------
jjoe
FOMO on the latest and greatest framework and the feeling of being left out.
But deep down I know it's a distracrion; albeit a mentally taxing one.

