Put yourself out there and publish that Open Source project today
It's a leap of faith to put your code out there. You have to have tough skin sometimes. Mean people will say it's crap. Many years ago (93-94?) I worked on a piece of software called FoolProof Desktop Security. I was just a few years in the industry full time and working on this cool new project that would keep kids in schools from breaking into Windows machines. I was pretty proud of the work. I did the 16 bit Windows, 32-bit Windows, and DOS Clients (in Turbovision!).
A new employee arrived on the project and a week later, perhaps as a way to prove themselves, they sent email to the whole team with the subject "Top 10 FOOLISH Code Mistakes in FoolProof."
And 7 of the 10 mistakes were in my code.
It's gonna happen, and while it's not OK when folks are cruel, I am accountable for how I take the feedback. I decided to double my efforts and take the valid technical feedback (a lot of my code was poor, I was new) and ignore the tackiness of the message itself.
When you write code you're putting yourself out there, even if no one sees your code, they see the result. It's hard to be a creative, to write, to sing, to act, to code. Coding and producing is a declarative statement and as they say:
He or she who is most likely to make declarative statements is most likely to be called a fool in retrospect.
The code I wrote today was AWESOME. The code I wrote yesterday was CRAP! ;) If it wasn't, I wouldn't be growing.
You likely have some code on your machine you're holding off to publish. Perhaps a private or hidden repository somewhere. I hear several times a week things like "I'm not ready for people to see my code." But let me tell you, while it may be painful, it will make you better.
Books are made better by editors. Coders are made better by pair programming and code reviews. If you love it, let it go.
Yes, some people will be unkind, but not the people that matter. Publish your project!
If you're a more senior person, be kind and coach. Share your wisdom.
Related Links
- If you had to start over, what technologies would you learn in 2014?
- Dark Matter Developers: The Unseen 99%
- Exploring Impostor Syndrome in Technology - SXSW '15
- I'm a phony. Are you?
- Get involved in Open Source today
- Announcing "Get Involved" from Tekpub - Enhance your career by engaging with your peers
Sponsor: Thanks for my friends at Octopus Deploy for sponsoring the feed this week. Their product is fantastic. Using NuGet and powerful conventions, Octopus Deploy makes it easy to automate releases ofASP.NET applications and Windows Services. Say goodbye to remote desktop and start automating today!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Still scary, though...
https://github.com/POPWorldMedia/POPForums
Actually, would love to have another language translation for the next release. RTL, Arabic or Hebrew would be nice so I can see how the CSS holds up. Pull request away!
Not trying to be a downer, just thinking out loud. :-)
Consider the potential longevity of heavily blogged/promoted angularJS, knockoutJS and backboneJS which are all used by well under 0.001 of websites:
http://w3techs.com/technologies/overview/javascript_library/all
"I'm not ready for people to see my code."I am there at the moment, but not because I do not want to share/show my code: Licenses!
It is a rather big project (~20.000 LOC) and I used some third-party libraries and code-parts. I really want to share my code, but getting all the licenses in check is a nightmare. Especially GPL code vs. non-GPL...
How do you guys deal with that? Don't use "conflicting pacakges" at all?
http://codereview.stackexchange.com/
I know I procrastinated for *years* (!) before publishing one of my local development "for my eyes only" type apps - https://minisqlquery.codeplex.com/
I called it "code pride". There is plenty of stuff in there I did not like then and not now. There are many improvements I would live to make but simply don't have time... I just had to be OK with that :-)
In addition - I think publishing the application as Open Source has been a great source of learning etc.
I do still get emails asking for the code though... :-|
PK
A new employee arrived on the project and a week later, perhaps as a way to prove themselves, they sent email to the whole team with the subject "Top 10 FOOLISH Code Mistakes in FoolProof."
Is there any way to encourage your team to not make foolish code mistakes besides being an ass?
Most developers aren't like you, Scott... They don't try to get better.
On the other end, I've seen bad code and chose not to call out the developer. They will keep making the same mistake over and over until you do.
The best thing you can do is put yourself out there. You'll either learn from it or teach others from it. No one is on the losing end here.
It gives us plenty opportunities to get early feedback on your idea, code quality and thereby, improve our product and indirectly hone technical skills - a very important aspect of being a developer, as per me.
I've been holding off for a while. I have some code, I know the code is bad I know the architecture is bad... I know if I show people (whilst some will point and laugh) some will help make it better. I keep telling myself when it gets to [some arbitrary point in the future] I'll put it on CodePlex.
https://github.com/voxbox/POS
Comments are closed.
Your program, on Win 95, had a bug that would take the foolproof process down if another process crashed. This was installed in my school library. I noticed this bug when Netscape would occasionally crash.
So, I wrote a quick VB program to divide by 0, giving my friends and me unfettered access to the library computers.
Thanks for the trip down memory lane. Those were the days. Coincidentally, I was banned from school computers for a year at one point during high school. However, the teachers still let me use theirs since they needed me to fix them for them all the time (IT was a joke for the school).