free html hit counter
Posted on: Friday, April 13, 2007 by Rajiv Popat

Every now and then I meet young, talented and enterprising developers and interns who are hesitant to post code snippets, out of their work environment into the open world. There are some who will not write Code-Project articles for the fear of getting negative feedbacks.

Others won’t speak at knowledge sharing sessions or trainings, even if it’s just within their own organization, until they are fully prepared with an elaborate PPT and have spent hours learning a topic and know it like they know their mother-tongue. Some even worry too much about what their audience thought about a particular training they conducted last month.

Here’s a piece of advice to every young intern and engineer starting out on their careers:

Learn how to get naked!

You should have nothing to hide! Nothing. If you are succeeding in your project, say it. If you are failing, say it in a louder voice! If you are an expert in a topic, say it. If you don’t know a thing about a topic, say it, in a louder voice!

And once you’re naked, develop a thicker skin!

Don’t let the critisms get you down. Instead, use them to become a better developer (and a better person).

Being a think-skinned shameless developer who has nothing to hide is a life-style. After you have lived it, you begin to wonder how the developers, who don’t follow it, live without it :)

Are you a thick-skinned developer? Are you ready to become one? Try the life-style! You might love it! Here are a few steps that can help get you started:

  1. Realize how much your code sucks - and then learn to say it with a sense of humor - shamelessly. After all, we all make shitty software… with Bugs
  2. Ask for more time and make your code better - Pick one of your modules that sucks the most and ask for some extra time to re-factor it. If it’s not ready to ship and you need to work harder, learn to say so without feeling particularly ashamed about it
  3. Besides writing code learn to talk about code - Try walking into a training that you are about to conduct with just a topic you think you know really well or feel passionately about. No elaborate PPTs, No Preparations! If possible, do this every few weeks. 
  4. Throw out a few articles at code-project or start a blog - Blogs and articles open up forms of dialogs where it’s really easy to be shameless and ask questions or say “I don’t know” while answering them. The critism that comes in as comments through your blogs, articles or just ad-hoc email from your readers is usually very constructive. Personally I have and will (hopefully) continue to, learn a lot from Ad-hoc emails and feedback I receive from this blog and my articles.  
  5. Read Code – Read code that’s better than code that you would generally write – Quite a few good open source projects are usually a great place to start. If you can’t commit to an open source project submit bug-fixes and patches for the ones you use in your every-day life! 
  6. Copy Shamelessly – I’ve copied patterns of coding from every good programmer I ever worked with. In my professional life at work, the most recent example of shameless copy was a different way of writing Configuration Handlers that I picked up from a very capable Developer in my current project.

The above points don't form a definitive guide to becoming a shameless thick-skinned developer but if you’ve never made fun of your own code in a meeting or in a public blog post – they might help you get started on the road of thick-skinned-shamelessness where you might be able to learn much more by being a little more shameless and thick-skinned! I wish you a Safe and a Happy Journey on this road of shameless and thick-skinned development.

posted on Friday, April 13, 2007 8:55:29 AM UTC by Rajiv Popat  #    Comments [4] Trackback
Related posts:
Are We Really Overworked? Or Just Not Enjoying What We Do?
Managers And Their Self-Fulfilling Prophecies.
Fake It Till You Become It.
Cookie Cutter Vs. Improvised Support
The Real Story Of Passionate Success.
Feeling Like A Phony Is Fine. Not Showing Up Isn't.
Tracked by:
"Do You Want to Manage Your Team?" (ThousandtyOne!) [Trackback]
"Programmer Tip - Support What You Write!" (ThousandtyOne!) [Trackback]
"Are You a One Man Army?" (ThousandtyOne!) [Trackback]
"TacticSheet - Free Open Source TimeSheet and ExpenseSheet Tracking System" (Tho... [Trackback]
"TacticSheet - Free Open Source TimeSheet and ExpenseSheet Tracking System Built... [Trackback]
"TacticSheet - Open Source TimeSheet and ExpenseSheet System Built On .NET 3.5" ... [Trackback]
"Is Your Client Your Ally?" (ThousandtyOne!) [Trackback]
"Broken Windows - If Broken They Are, Fix Them You Must" (ThousandtyOne!) [Trackback]
"Are You Done? Or Just Ninety Percent Done?" (ThousandtyOne!) [Trackback]
"Is Your Task Done? Or Just Ninety Percent Done?" (ThousandtyOne!) [Trackback]
"Breaking The Infinite Loop Of Failure" (ThousandtyOne! - .NET, Life and Logical... [Trackback]
"How Big Is Your Team?" (ThousandtyOne! - .NET, Life and Logical Thoughts By Raj... [Trackback]
"How Big Are Your Teams?" (ThousandtyOne! - .NET, Life and Logical Thoughts By R... [Trackback]
"Opinionated Programmers Are Better Than A Flock Of Sheep" (ThousandtyOne! - .NE... [Trackback]
"The War, The Angel, The Devil And The Programmer" (ThousandtyOne! - .NET, Life ... [Trackback]
"CMM, RUP and Gant charts don't build Successful Software. Kick Ass Programmers ... [Trackback]
"Hey Mr. Jargon, You're Just Full Of Crap!" (ThousandtyOne! - .NET, Life and Log... [Trackback]
"Optimism And Wishful Thinking - A Curse In Software Development" (ThousandtyOne... [Trackback]
"Optimism And Wishful Thinking. Two Biggest Curses In Software Development." (Th... [Trackback]
"CMM, RUP and Gantt Charts Don't Build Successful Software. Kick Ass Programmers... [Trackback]
"Deadlines Driven Development For Dummies" (ThousandtyOne! - .NET, Life and Logi... [Trackback]
"Deadlines Driven Development Is For Dummies" (ThousandtyOne! - .NET, Life and L... [Trackback]
"The Secret Sauce Of Successful Teams - Are They A Part Of Your Life Vision Or J... [Trackback]
"The Secret Sauce Of Successful Teams - Are They A Part Of Your Life Vision Or J... [Trackback]
"The Secret Sauce Of Successful Teams - Do You Really Like Them? Or Are They Jus... [Trackback]
"The Secret Sauce Of Successful Software Development Teams - Do You Really Like ... [Trackback]
"Why Project Managers Should Have Short Memories" (ThousandtyOne! - .NET, Life a... [Trackback]
"Why Project Managers And Team Leaders Should Have Short Memories." (ThousandtyO... [Trackback]
"Why People Who Lead Teams Should Have Short Memories." (ThousandtyOne! - .NET, ... [Trackback]
"Conviction And A Strong Spine - Two Qualities To Look For In People You Work Wi... [Trackback]
"Software Development And The Art Of Giving Up Or Surrendering." (ThousandtyOne!... [Trackback]
"Software Development And The Art Of Giving Up Or Surrendering - Shamelessly." (... [Trackback]
"Software Development And The Art Of Giving Up - Shamelessly." (ThousandtyOne! -... [Trackback]
"Software Development And Learning The Art Of Giving Up - Shamelessly." (Thousan... [Trackback]
"Contributing Through Your Blog – What Goes Around Comes Around" (Thousand... [Trackback]
"Passionate Blogging And Contributing Through Your Blog – What Goes Around... [Trackback]
"Contributing Through Your Blog - What Goes Around Comes Around." (ThousandtyOne... [Trackback]
"You Could Be A Micro-Manager Or A Prick - And You May Not Even Know It." (Thous... [Trackback]
"Insecurity - Use It Till You Lose It. The Art Of Staying Dangerously Close To B... [Trackback]
"Insecurity - Use It Till You Lose It. The Art Of Staying Dangerously Close To G... [Trackback]
"Measuring Your Project Health With The F-Word." (ThousandtyOne! - .NET, Life an... [Trackback]
"The F-Word In Software Development." (ThousandtyOne! - .NET, Life and Logical T... [Trackback]