A WTF in the making... your advice is appreciated.
A software developer with over 16 years experience.
Jim Bob (IT Manager who isn't)
Jim Bob is a new IT with a manager with a bio-science chemistry degree and knows nothing about software development.
Dumb Nutz (Software Developer who isn't)
Meet Dumb Nutz, a SAP script developer who's job has been out-sourced. Jim Bob keeps him around and is constantly trying to justify the need for Dumb Nuts on the team. As a result, he's now been assigned a task he's not qualified for. In fact, he is now creating an asp.net application on his own. Sadly, this guy has no web development experience and no experience developing a SQL server database.
The First Red Flag
I look over at Dumb Nutz screen and see a great big Open Session and End Session Button at the top web application he is developing. When asked what his application does, he demos it and explains that the user must click on Open Session First. When asked why those buttons exist he refuses to answer. Later on Dumb Nutz asks me how to set the Session timeout.
Now at first I ignored this situation, but I now realize that if that application goes into production I'll be stuck supporting it.
Here are few more facts regarding the situation.
- The app is not under source control - he's using sql express and saving everything on his c drive.
- The app is using ad-hoc string based SQL statements only.
- Dumb Nutz won't let me look at his code. In response, I told him nothing is going into production until I've done a code review. Oddly he has no idea what kinds of things I'll be looking for in a code review.
I've started telling Dumb Nutz what he is doing wrong (when I notice it) and when he asks why I simply tell him to google it. I'm not going to educate him, I don't have time.
At this point, I'm very close to just walking into Jim Bob's office and telling him the truth. I'm not sure if he will listen or not. Others have told me that I should be very upset with the fact that he is doing my job. I'm starting to suspect that Jim Bob thinks that Dumb Nutz will make a great backup for me when I'm on vacation.
I really don't know what to do, but I do know this is WTF in the making.
Any advice would be appreciated. What would you do?
a new IT with a manager with a bio-science chemistry degree and knows nothing about software development.
The app is using ad-hoc string based SQL statements only.
Dumb Nutz won't let me look at his code. In response, I told him nothing is going into production until I've done a code review. Oddly he has no idea what kinds of things I'll be looking for in a code review.
If your manager won't listen does the person above him have their head on straight? I assume not.
Assuming you have control over the release, insist that you have some sort of testing environment that the code is pushed to at least weekly and you must do a code review before the push?
Overall though, GTFO?
Others will probably have much better advice.
Lean on policy. "The policy is, all webdev has to be in version control to ensure we retain control of the assets." "The policy is, no code goes to production without a code review to ensure it's up to our coding standards." "The policy is, nothing goes to production unless it passes a basic security audit."
If that's not the policy, make it the policy. Even Jim Bob should be able to understand the reasoning behind these basic concepts if you take the time to explain that it's all about protecting the company's IP and their reputation.
(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)
I'm starting to suspect that Jim Bob thinks that Dumb Nutz will make a great backup for me when I'm on vacation.
Ha! More likely, you'll get laid off and Dumb Nutz will have your job at 20% more pay because he's a team player!
The app is not under source control - he's using sql express and saving everything on his c drive.
format /u c:
"oh, it looks like your hard drive crashed"
Don't think that thought hasn't crossed my mind.
I'm gathering a ton of policy documentation just for that very purpose. I'm even going to slip in a few asp.net code review documents I found via google.
It's just too bad I can't find a policy document that says you're not allowed to have unqualified people design web/db applications.
If I'm going to call this guy's qualifications into question. I really should find an asp.net developer interview question sheet.
The problem is that's too "wibbly" or "soft" to really stick. The guy with no formal training but who has the right attitude and a couple of Dummies books often turns out to be a better programmer than the guy who went to school for ten years and got a PhD in Node.JS (to employ some hyperbole). What you really mean is "don't let dumbasses touch my code", which you can't really codify into policy
Yes, but blowing smoke up the right hole can only get you so far. If he's not good enough he might develop an application that can't be maintained and/or bring the web server to a grinding halt.
I could drop the policy on Jim Bob's desk or simply stay the heck out of it.
I was just musing about why you can't just make a policy that says "unqualified people can't develop code". Obviously get rid of this guy if you can
You could take the more "touchy feely HR drones love this" approach and suggest he gets some kind of training/guidance/whatever in how to do it so he's actually useful.
Yeah, that was funny. Sadly, the source of the problem is Jim Bob not knowing that. You really can't make a policy to guard against poor management.
I'm afraid of that approach too.
Jim Bob, "Good idea, you train him....."
Ah, good point. The people I've nudged in that direction all needed external training.
Why not just go hands off and let those two sink with the ship? Doesn't sound like this is anywhere close to your responsibility.
This place is destined to write bad software. You may be able to stop this one, but you can't stop them all. Decide if you can live with it or start finding a job you can live with.
I have decided to complain indirectly.
I told Jim Bob that one of my goals this year is to improve and document our software development process/policy. I used this goal as a way to highlight what developers shouldn't be allowed to get away with. In other words, I complained about Dumb Nutz without him even realizing it. It's rather funny because he's all for it and loves excessive process documentation. We will see how two-faced he really is when he supports all the existing policy documentation, but allows Dumb Nutz to carry on.
Sadly, Jim Bob has a new software development methodology that he calls "Agile". He presented this to us in a team meeting and explained that prototype is 80% of the final development effort. Apparently, you meet with the customer once, go back to your desk and complete 80% of the development work designing the prototype. That way you don't bother the customer with needless details. There are at most only two iterations. I think he's sucking deep on Pareto's Principle.
oh and btw, Jim Bob now has more xl sheet tools to manage his job than he does direct reports. It's freaking hilarious how much he is over-complicating things.
BTW, almost all bad developers and managers like to use their own twisted definition of Agile to justify whatever it is that they want to do.
Try to get steer him into one of the mature Agile methodologies and you'll see if he is simply mistaken about Agile or if he is just trying to justify what he is going to do anyways. Heck, just get him to read the Agile Manifesto and he should realize that he has it all wrong.
I think you are doomed. It sounds like he has fully embraced the "Dumb Nutz SDLC" and had simply decided to brand it "agile". Whatever you bring to the table, he will dismiss as the old way to do it and present his revolutionary new vision; where he hires incompetent people to do things in a vacuum. As long as they aren't exposed to customers, no one will ever know they are failing.
I became fed up when the boss told me I had over 9 projects to complete in "agile 80/20 mode" by the timelines he pulled out of his ass. A month ago, he told me I missed all my dates and refused to acknowledged that his dates were invalid.
Apparently, responding to change is less important than sticking to his plan....
As a result, I took your advice and found a new job. I set my out of office reply to expire in 2025 and instructed everyone to forward their requests to Dumb Nutz (in big bold red font).