HACKER Q&A
📣 virgilone

How do I overcome feeling my code will be scrutinized?


I began coding in highschool in 2001 and I did all of my learning through books. A few years later, I use to post small projects on public forums. A lot of the more experienced developers at the time complete put me down for my poor programming practices and lack of knowledge and I developed this fobia of having other developers look at my work. Over the last 15 years, this has had a significant impact on my growth. I never pursued software development (even though as a hobbyist, I enjoy writing code and learning new languages). I took the sys admin route, because I'm only writing scripts and nobody cares. I don't engage in code sharing on github, I avoid meetups like the plague. I've made some personal successful projects in the past but I know my skills are severely limited due to the fact that I simply have not colloborated with more experienced developers. I want to grow as a developer, do I need to go to a therapist?


  👤 chipuni Accepted Answer ✓
Hi virgil --

There's a big difference between scrutinizing code and putting down the programmer. It sounds like the people you showed your code to didn't know the difference.

Scrutinizing your code should be talking about the code, and nothing else. Emphatically not about you as a person. It should be about where the code is good and bad, and how that's being measured. The person scrutinizing your code should be able to explain their opinions, based only on the code.

It's really tough to separate critique of code from critique of the person who wrote the code.

Good luck.


👤 kstenerud
Don't post code for critique on public forms. That's just asking for trolls and tools to beat you down.

GitHub is fine. I've yet to see a troll problem there.

Try contributing to a GitHub project you like, run by civil people (check closed issues and PRs to see what people are like). Accept critique and grow.

Of course the fastest way is with a mentor, but they're hard to come by.


👤 protonimitate
Learn to separate the code you write from your self. Try to see through the tone/word choice and accept the real constructive pieces of criticism (if there are any).

You'll run into bad reviewers. A lot of people use code review as an excuse to feel better about themselves. If this is for fun (and not in a professional setting), try asking some people you trust or believe will be fair to review your code for a while before exposing it to the public.

Good code reviews are learning opportunities and sanity checks. Bad code reviews are gate keeping exercises and personal attacks.


👤 WheelsAtLarge
The best way to beat a fobia is to face it head on. 1st start by posting your code and let people review it. Learn from the feedback and know that some are just criticizing because they want to feel better about themselves. The more you do this the more you will be able to distinguish between good and bad feedback .

Also there very few perfect coders. Just about every one can benefit from a little code review.

I remember reading the google founders where considered poor programmer but they sure figured out how to change the world. It's not how you code but what you do with it.


👤 itronitron
If you are using, or learning, a framework or api then I recommend reading through the source code for the parts you are using to get some familiarity with other programmer's approaches. A large enough code base will have been touched by multiple people and different bits will be on their n'th revision whereas some will be at a hacky draft stage. There is a wide range of elegance even within long-lived open source projects and the more you look at other people's work the better you will feel about your own :)

👤 p0d
I think you need to be a bit tougher. I am also a sysadmin with a sideline SAAS project. I could have bought a house with the money the SAAS project has made. Developers have still made fun of my stack and made fun of me when turning up to a work dev training day.

Just do your thing. You will be a better programmer than some and not as good as others. Focus on making the best use of your talents and not the talent of others.


👤 probinso
It's important to find scrutiny. For any substantial project the code no longer belongs to you. You are a machine for transcribing mathematics and translating the language of human operations to machine code.

It's not great to use public forms though. Revision control systems and hosts like GitHub are designed to facilitate a professional scrutinous environment


👤 cmorgan8506
Detach your code from your ego. Learn that there's always something someone else knows that you don't. Having them show you is a chance for you to learn, not to be ridiculed. Once you realise that most other people feel the same way you do, you'll be free to not only grow, but to work with other people to help them grow, as well.

👤 quantified
Is it feasible for you to get a mentor or at least some occasional pointers from people whose intent you can trust? I’m led to believe that forums like reddit and stackoverflow are haunted by too many trolls but you may have contacts by now from your daily life.

👤 fouralarmfire
Have you heard of exercism.io? The mentors are pretty good at leading you to good solutions through constructive critiques, rather than trollish tear-downs.