Computer programming is a difficult job. It’s fraught with stress, deadlines and choices. But if you want to stretch your career a little further, take a hard look at your development identity. It all boils down to whether you adhere to open source or closed-source methodology with varying levels of capability maturity. Whatever is your experience, it’s worthwhile to note that Microsoft mimicking open source community (like Dave Newman’s recount of .NET) is a dead end.
I have also seen on numerous occasions developers build their own libraries and frameworks to solve well understood problems in curiously terrible ways. The endless rebuilding of data mappers, logging code, object resolution mechanisms, messaging systems and web frameworks adds up to a massive waste of time, effort and potential. I’m not talking about public collaborative efforts, I’m talking about in house “Not invented here” syndrome. This is what happens when you have a community cut off from the world. A community that doesn’t talk to each other and work together. This is what the .net community is.
Last year Microsoft released a new web framework called MVC. It’s not new by web standards, it’s not even new by .net standards as the Monorail project had been alive for years before. Yet people were waiting for it. People were waiting for Microsoft to deliver it to them. There were already open source MVC web frameworks and an army of .net developers who could have collaborated to make them great but nothing much happened. It took a handful of developers at Microsoft to make their own framework and now MVC is the hot new thing.
The community is sick, poisoned by the component vendors with closed source software “solutions” and stymied by Microsoft themselves who are so cleverly changing just fast enough to keep developers from solving problems themselves.
Also stop using codeplex it’s not real open source! Real open source isn’t submitting a patch and waiting/hoping that one day it might be accepted and merged into the main line.
Maybe Microsoft is trying to embrace open source and learn from it. Maybe not. But make no mistake: proprietary software development methodology is anathema to the open source model. Proprietary means for-profit and leads to lock-in. Open source is not for-profit and means freedom.
Don’t reinvent the wheel. Use what is open and already proven.
Dave Newman has parting note to say:
To those who want to be part of a vibrant community of passionate developers crafting new and innovative solutions, start hanging out with people who aren’t tied to a particular language or framework. Get to your local user groups. All of them. Get a github account and start forking the hell out of everything!
As Tyler Durden once said: You are not your programming language. You are not the web stack you’ve learned. You are not your text editor you write your code in. You are the all crafting, multilingual developer of the world!
Or something like that….