Open Source

I had the opportunity to sit on a panel at the Nashville .NET user group tonight on developer careers. The goal was to open the floor and try to help tear down some walls between developers and recruiters. On the panel were several recruiters from our local area to represent that side. I got to sit up there with Elijah Manor and Derek Greer to represent the developers. Overall I think it was a good experience to let everyone ask some questions.

I was there to represent how I feel about developers contributing to open source projects. It's late, but I want to get my thoughts down in writing before sleep washes them away.

Contributing to open source software has had a positive impact on my career. I really haven't really contributed anything major, but my point tonight wasn't that you need to go out and write the next big thing. You see, there are gaps and voids all around us. Everyone is capable of finding something that needs to exist and creating it. I've benefited so much from open source software, it's only fair I give back.

There was a lot of apprehension for me leading up to pulling the trigger on my first project. Should I put it out in the open? Will anyone find it useful? Are people going to ridicule me on how crappy my code is? The answer to those questions turned out to be yes, yes and sometimes. When I put my stuff out there for people to see, I got feedback (both good and bad) and I was able to iterate on my project and make it better. Any feedback you get is a good thing because that means people care at least a little. It was really a learning experience to see how people use the thing you've created.

To potential employers getting a product "out there" means a few key things:

  • You care enough about something to take initiative  and make it a reality.
  • You are capable of finishing something you started.
  • You are detailed. There is a big difference between a proof of concept and live production ready code. A polished project has been tested and documented.
  • You love what you do so much that you used your own free time to improve yourself.
If you are a developer reading this I can only encourage you to open yourself up and throw some code to the wild. Writing some code that gets used is a very rewarding experience. You WILL get criticized by some, even if what you made is the best thing ever. None of that matters though, because you did something that you liked and shared it with others. Take that feedback and make your project better. I guarantee it will make you better.

I need a mentor

I sat on this topic for a while because I've had this feeling, but I haven't had the words to describe it.  At this moment in my career I'm in need.  My need feels kind of odd to say, as it isn't money or happiness.  My need is for professional mentorship.  More specifically, I need a mentor in the field of software development. 

As a developer in his mid twenties, I've far from peaked.  Right now I'm just starting to get a sense of the bigger picture.  I'm a sponge and I'm ready to soak up any kind of information and experience I can.  I WANT to learn.  I NEED to make myself better.  This is a difficult mental state to output in words. 

My main problem is that I'm missing that person in my career who has been there and done that.  He or she has the t-shirt and has forgotten more nuggets of knowledge than I'll ever learn.  Right now I feel like I'm fumbling through problems that might be avoided if the architecture was a certain way or the environment was set up different.  I feel like I'm wasting time learning things via the school of hard knocks that are already common knowledge to some.  I want to break ground not reinvent the wheel.

I'm compensating for this through other sources, but it feels like it's far from ideal.  I'm making use of a few e-mentors though blogs and podcasts.  I owe a debt of gratitude to Scott Hanselman, Jeff Atwood, and Oren Eini for their continued public outreach.  These 3 blogs and Scott's podcast have really aided me in my quest for development knowledge.  I've also started reading through Code Complete by Steve McConnell which is a goldmine.  If you are a developer and don't own this book then you need to go buy it now.

Still, I need more.  If you, dear reader, have any book, blog, or podcast recommendations, then please share them.  I would love to see what motivates and inspires you.