I live just outside of Philadelphia right now. I spend a lot of time in the city at Hive76
, a shared workspace where I tinker with hardware projects and manage their events.
I started in IT as a QA tester, and quickly (like, within 3 months) parleyed that into a development job. I've basically worked on ASP.NET web applications the entire time, with brief side-stints in Java web apps and C# desktop apps along the way. I pretty much know C# inside and out, and am pretty solid with SQL on MS SQL Server. One thing I *do* still enjoy with programming is data analysis and abstract data visualizations. Skipping my the job I just left, my last two jobs I was the lead programmer on a few different projects with small teams, doing a lot of business analysis as well.
Some of it is the lock-in. I really, really hate XML-based markup languages. I find them fragile and pedantic, especially ASP.NET. I think ASP.NET hides way too many of the implementation details, in some weird attempt to make life "easier" on the developer, that actually just make it harder. But, given that most of my experience is in web dev, it's pretty much all the work I'm going to get. And given that most of it is ASP.NET, that's also what I'm likely to get.
Some of it is corporate culture, and by that I mean a complete lack of understanding that developers are assets and not liabilities. This industry has an extremely high turn over rate, and we all know the gender imbalance issue. I don't know for sure really causes those things (I think it's a lack of respect from management to employee), but to me they are pretty huge signs that something
is fundamentally wrong. I've worked in a lot of different types of companies: engineering firms (both industrial and architectural), consultancies (commercial, government, military, etc), small and large, and there has always been a constant factor of a middle manager somewhere needing to justify his existence by tightening the screws on people. I quit jobs because I was asked to do something that I didn't think was ethically sound, gotten in to huge arguments with coworkers over the whole, "if we don't do it, someone else will, so we might as well get paid" thing. And I hate arbitrary rationalization, "the business wants it this way". It's sick, all around.
I've tried very hard for the last two years to work within the corporate system to get out
of programming, and it just hasn't happened. It always comes down to, "help us Obi Wan, you're our only hope," and because I'm apparently incapable of emotionally compartmentalizing my work life from my private life, it gnaws on me until I cave and save the day. And then I'm stuck in a programming position again. And then management doesn't adjust their expectations and now expects me to do both the analysis at my old rate and
the new programming. And then I get burnt out, find a new job, and repeat.
I was saying the same thing you guys are saying, "Oh man, wish I had the courage to do that." Then I realized, what is the worst that could happen? The absolute worst thing that could happen to me is the bank could repossess my car. Holy crap! That's so many degrees above starving to death in a gutter as to not even be comparable. We live in the developed world, we can afford to take risks like this. We probably have a duty to do so. The giant corporations of the established rich people aren't going to just let us change the world for the better, we're going to have to find our own way, and that means taking risks.
No wife, no kids. I have friends that will put me up, and actually I think it might be fun to work on some of my projects while I travel across the country visiting my friends. My parents have offered to let me crash back home if it comes to that. Actually, I think they really want me to come home, but that's a different story.