Live data from Hacker News

Be nice to programmers

edu.mkrecny.com

131–140 of 178 posts

Re: Be nice to programmers

#131
I really don't know about this. For every bug I fix, there's a time I run the code after a change and the change does just what it was supposed to do. For every time a client complains about something that doesn't quite work yet, there's a time she told me how happy she is with what does work.

Is it really that different in other professions? Does the doctor always bring good news? Are all of the teacher's students bright chaps? Does the firefighter save each and every life? The lawyer win every case? The financial advisor always make a plus? Are a real estate agents' clients always happy with their sales price? Sure, there are lots of professions where there are rarely any negatives, say, a taxi driver, but is that a rewarding job?

I think this is really about your mindset. I often feel like a sculptor... I start off with something that doesn't look at all like the final product I have in mind, and over time I approximate the final result closer and closer. Error messages or not, to me that's just feedback, just like the sculptors' fingers find roughly hewn spots on the surface. Is the sculptor supposed to get mad at a little rough spot on his sculpture? Of course not, he just chips it away.

The one suggestion I have for programmers who are offended by error messages is to give TDD a try. With TDD, the test failures you get are to be expected: after all, you specifically engineered them to fail in the first place. So you don't have to feel bad about those, and you can revel in the positive feedback you get from a passing test. And if a test fails unexpectedly you can be happy that your safety net has actually done its job! I'm not being facetious: if you see error messages as negative feedback (again, I don't, but maybe you do) then TDD might just give you the positive feedback you've been craving.

Impatient clients with overblown expectations notwithstanding, but you get to pick those :-)

Re: Be nice to programmers

#132
the point isn't the criticism coming back. the point is the critical thinking the programmer is doing. the problem is focussing on finding flaws and holes.

in social conversations and in life, it is a virtue to let things pass, to support the joy that comes from simple optimism, from believing in hopes and dreams without practical certainty or probability. it is a virtue to talk about things without knowing the context, without digging into the challenges, the holes, the flawed rationales, the white lies that help us feel better about ourselves, each other, and our journeys through life.

too much of anything is a bad thing. i just assumed everyone had this problem of focusing on the problems and undervaluing progress and success.

Re: Be nice to programmers

#133
post #111
post #33

The punches are pulled in this piece. Not only is the compiler continuously complaining, once you ship code, your customers call in to complain about every conceivable bug and a great deal that weren't conceivable. You can have thousands of happy customers, but you as the developer will hear from the three guys with obscure configurations and bizarre setups encountering bugs. Shipping software is ten seconds of "Hoor…

Ha. I'm a sysadmin. Do you know when your sysadmins are doing the job right? When you don't notice. The only possible way for a sysadmin to get noticed is to screw up.

The sysadmin cycle of life is to get hired then spend several years fixing, consolidating and automating until someone decides they don't need to keep paying a sysadmin "for nothing".

Re: Be nice to programmers

#134
Perhaps it's all about context in terms of how you view how salient the negative feedback is. I can only speak of my experiences but I always found that no matter how frustrated I get while coding, the moment that everything finally functions releases such a dopamine rush that I quickly forget about the frustration. Perhaps two things (probably more) are necessary in order to overcome this negative feedback loop:

Learning how to let go of failures. Focus on the euphoria of fixing a bug.

Remember that as humans we essentially are very complex machines and perspectives partly determines how we will react to a stimuli.

Re: Be nice to programmers

#135
I've been through this myself. I realised that the problem was me, and the projects that I was working on. I was fortunate enough to be able to step away, then go and find work that IS rewarding (for me it's playing with the front end, where people play with the app and go "ooooh!" and "aaaah!").

The key for me was to document the things that I hated about the job, and avoid them at all costs, but to acknowledge that criticism is something that feeds back into an application improvement process. ie. Don't take it as personal that someone is criticising you/your work. Find methods of improving the communication channel so that you don't spend days/weeks coding only to find "that's not what I wanted! that sucks!"

I'm fortunate to have an ex hacker/programmer as my manager who knows/understands/addresses my needs very well in my current role.

At some point I stopped chasing the higher paycheck, because I recognised that with a higher paycheck comes higher expectations, demands, hardships. Look at it from the employer's perspective - "We could hire 2 graduates at your cost, at that rate we expect you to not make mistakes, and to get twice the amount of work done."

A friend earns almost twice as much as me, with similar years of experience, but he is expected to miss lunch, stay back until midnight, answer calls to China/India on a friday night. No please/thankyou/you're doing a great job. Just "do it".

Keep searching until you find the right role.

Re: Be nice to programmers

#136
This is exactly why I love test-first development for most (but not all) projects. Instead of code, run, bug.. fix, bug, fix, etc, I get to say "I want to achieve X!" and then strive towards achieving X. Rinse and repeat. A gross simplification but a test-first approach has made me a lot happier.

Re: Be nice to programmers

#137
Part of what makes me happy at my job is when I build software that I see other people using, or finding convenient. It mostly makes up for all of the negativity that I can feel throughout the work day to hear people complimenting me on a nice plugin or a feature that no one thought would be useful, but becomes part of the standard workflow.

I think part of the zen of programming is understanding that problems exist, and if you are given the proper tools you can solve pretty much all of them. I can solve any general problem that comes my way, the only times I stumble is when I get caught up in my company's complex business logic that must be implemented. This is a minor issue, and really has more to do with my lack of experience than my skill at programming. So don't let bugs get you down, just put one letter in front of the other and keep on trying.

Re: Be nice to programmers

#138
post #111
post #33

The punches are pulled in this piece. Not only is the compiler continuously complaining, once you ship code, your customers call in to complain about every conceivable bug and a great deal that weren't conceivable. You can have thousands of happy customers, but you as the developer will hear from the three guys with obscure configurations and bizarre setups encountering bugs. Shipping software is ten seconds of "Hoor…

Ha. I'm a sysadmin. Do you know when your sysadmins are doing the job right? When you don't notice. The only possible way for a sysadmin to get noticed is to screw up.

You ain't kidding. I found myself, a system administrator, in a large conference room, full of developers, meeting chaired by the head of development.

"The lifecycle blah-blah-blah for the infrastructure team," he said "Is simple. They rack the server and that's it. I mean, what else is there to do?"

Which was ha-ha funny at first. Then I realized he was _serious_. And most of his minions were nodding their heads in agreement.

Re: Be nice to programmers

#139
post #111
post #33

The punches are pulled in this piece. Not only is the compiler continuously complaining, once you ship code, your customers call in to complain about every conceivable bug and a great deal that weren't conceivable. You can have thousands of happy customers, but you as the developer will hear from the three guys with obscure configurations and bizarre setups encountering bugs. Shipping software is ten seconds of "Hoor…

Ha. I'm a sysadmin. Do you know when your sysadmins are doing the job right? When you don't notice. The only possible way for a sysadmin to get noticed is to screw up.

Sysadmins are the offensive linemen of the tech world.

Re: Be nice to programmers

#140
i disagree with the last part being that failing is frustrating... now it could just be me, but that's what i love about programming which is finding and solving puzzles that I've made subconsciously for myself.
Post reply on HN