I went to the path to agility conference yesterday and a short story caught my attention. Ken Schweiber talked about a neighbor (I think?) he got an internship for doing some QA work for a software company. After their graduation, he offered to help get them a full time job - the answer was amazing : "Hell no".
Because of this person's experience, there was no desire for that person to go into software dev. Horrible code quality, missed deadlines, angry unhappy people, the toxic cocktail that can kill any project (and morale) was rampant. Sure you could argue that's an isolated experience, but is it really? I'd like to think it is, but it isn't. Worse, I know someone I think is on that edge, to the point of NOT wanting to be in software anymore. Frustrated, feeling left behind, etc, I decided to dig a little bit into this - I genuinely want to know where this profession began to break down and fail to serve the person that at some point enjoyed it. I love software, I think it's fun but that's not the whole picture. I invited this person to lunch and what I nailed down as the answer is one you've heard before.
This person, I'll call her Christine, has a CIS degree and has been around for a little while, about 5 years. That's about as long as I've been in it -- so where did this deviation happen? My first question involved personal drive. If someone doesn't -WANT- to be in this, why are they? Second was along the lines of fostering - did the current management support new ideas, thinking, etc. Lastly, had she looked outside for a group/"community" or experts to help her along? The answers were quite amazing.
Christine very much wants to be in development. She loves websites, writing "moderately complicated" code and styling. But that's about where the enthusiasm ended. Management had juggled her from project to project (didn't matter if it ended/completed) and most of them were a complete mess. Pair with that, an expectation of "fix it now" and management's highly condescending nature -- you know the type, "you are not worthy silly developer, so I will tell you how, for my ideas are awesome". Not exactly a good environment for someone that is eager to learn. Further, she's very much unaware of groups that meet on a regular basis and her lack of publicity (twitter for instance) was 0 -- company policy says it's evil and a complete, total waste. Blogs are evil too. The near nail in the coffin - she feels that no one she works with is at or level or above to bounce ideas off of and get better.
The at-length discussion was very interesting, I really wish I recorded it because some of the things Christine said I had seen but the amount of ... pain that was conveyed was astonishing. There's a genuine "I want to quit, but not give up" which brought me around to mentoring. I offered to mentor her, help her out where need be and also start sending her various events she should attend. She seemed rather grateful and had already been asking me less syntax questions and more approach questions (a good start) so that was a plus for me. I've always liked mentoring/teaching.
I thought about this for a while. Was it all coming back to mentoring? I had commented on the argument before from both perspectives, but was it possible that it was -the- missing part? I pitched this to Matt Groves and Jonathan Mitchem -- they're idea was it was management, or lack thereof, for allowing/manifesting a toxic environment. Both seem to agree that even if you have a dream team of devs, an incompetent or simply unskillful management will erode a team to dust (either they quit or just hate everything they do). To a point, I agree with that as well.
There's no way to transition so I'll close this out with a simple question -- if you ran across someone that's got a horrible experience with development, how would you help that person?