Ask Slashdot: What Are the Hardest Things Programmers Have To Do?
itwbennett writes "Software development isn't a cakewalk of a job, but to hear programmers tell it (or at least those willing to grouse about their jobs on Quora and Ubuntu Forums), what makes programming hard has little to do with writing code. In fact, if the list compiled by ITworld's Phil Johnson has it right, the single hardest thing developers do is name things. Are you a software developer? What's the hardest part of your job?"
The head and tail of the list
9. Designing a solution
1. Naming things
are pretty much two sides of the same coin.
If you have a design, you will know what call things.
If you have names for everything, you will be able to build a design from there.
And these *are* the hardest things on the list.
By far the hardest part of my job as a professional software developer is estimating how long a feature will take to develop.
Easy: The hardest thing a programmer has to do is explain why what they're doing isn't a simple matter of programming.
#fuckbeta #iamslashdot #dicemustdie
I build something exactly from their specifications.
Someone wants something changed, I change it.
Someone else wants something changed, I change that.
Another person wants it back the way it started.
The users are NEVER happy. It's maddening.
Trying to comprehend other peoples code is, without a doubt, the hardest thing for me. Naming? That would have never occurred to me as a 'problem.' If you can't come up with a proper name fairly easily maybe you didn't really know where you were going.
...particularly physicists who think they can code.
Here's a spec that is incomplete and will keep changing over the life of the project. Tell me how long this will take and remember that your preformance will be measured against how well you meet your estimates.
What is the hardest thing "coders" have to do? Based on the evidence that I have seen, over more than 20 years?
Comment their code
Either that, or produce relevant, well-defined logging.
The other hard things they have to do are usually related to have a project to complex or ill-defined for producing a clear outcome. This is usually not the coder's doing, but a downstream problem derived from insufficient architecture role/guidance and probably a weak project management function.
"Flyin' in just a sweet place,
Never been known to fail..."
The hardest part is when the person asking you to implement something new doesn't think through the implications of what they're asking for. Sure it looks great on powerpoint for one specific use case, but rarely are all of the relevant factors are taken into account.
Documentation isn't hard. It is time consuming.
To document something well, you have to know it very well. Once you know a system that well, YOU often don't need the documentation, because it is in your head. Much of documentation isn't for yourself, it is for whomever follows you.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
Because debugging did not even make the list, I must assume that the author is only an armchair programmer, or only writes toy programs. And why is "choosing names" rated harder than "designing"? This opinion could only come from someone who is often required to choose names, but never to design.
When all you have is a hammer, every problem starts to look like a thumb.