Now, let me first start out that I’m not a racist or stereotyping kind of person. But I am using this as an example of the sort of developers I am supporting lately. This isn’t my trouble ticket (it’s for the desktop folks), but I did see this come in from a software (.NET) contractor of ours:
> This is Brahma
> My pc RAM capacity is 2.00 GB. But Speed is very slow ,could you
> make it Increases my pc RAM. It is very helpful for me.
These are the software developer contractors we have coming in and out through a revolving door pretty much. This is infuriating for me, systems/network support, for several reasons.
1) Most of these contractors know a little bit about coding .NET (for instance). But that’s it! DNS, IP, IIS, SQL Reporting Services, even SSLs are completely foreign concepts… I know they are being hired to fill a cube and poop out some code, but it really is frustrating to know most of them cannot relate or understand what impact their code may have elsewhere or what their code depends upon. Seriously, I could only hope someday to have such a small sliver of responsibility as opposed to supporting every system, software, hardware, and process that involves (even to the most remote sense) electricity or the magical Internet! No, I’m not trying to trivialize real software developers who know their shit really well and have adapted to new languages over the years. But there are many a developer I have worked with who couldn’t properly run their own IIS server, even though their code depends on it (or they try to them make these wild dependencies that result in “But it works on my machine and now I have a deadline tomorrow…”)
2) Because they keep coming in and out, they have very little structure in their requests for support. It typically consists of “Make X work,” where X is as vague a description as you can get. By the time I teach one to make a proper ticket for me to do work quickly rather than a back and forth interrogation, they’re replaced and I get to start all over. This happens far too often: “I get an error on the site.” Me: “Uh, which site? What error? What were you doing? Was this working yesterday?”
3) I’m pretty adaptive in how I explain things to people; it’s something I’ve been complimented on professionally over the years. But, typically, foreign contractors with limited breadth of knowledge stymie me. I can explain something 5 different ways in various contexts and still get blank looks. I often have to get into that really negative zone where I have to be very direct with my words. Things that normally get me in trouble like, “I cannot do this until blah blah blah,” or, “You’re not doing this how we expect, please go talk to your supervisor/mentors,” or, “No, I can’t troubleshoot your code for you, I’m not the coder. What do you mean you don’t know what an application is in IIS?”
4) They all have varied backgrounds and may have an idea to implement XYZ. Sadly, this issue is compounded by the first two issues, and also because they are almost always short-timers. I wonder how many companies have implemented Crystal Reports because of a short-timer, and now regret it deeply.
“I know they are being hired to fill a cube and poop out some code, but it really is frustrating to know most of them cannot relate or understand what impact their code may have elsewhere or what their code depends upon.”
there are 2 reasons for this… one is the division of labour – developers often work on a very narrowly scoped part of a project which means there’s a great deal of abstraction between themselves and the big picture… luckily where i work there are so few developers that that kind of abstraction is impractical in the long term… the second is the fact that they’re short-timers – there’s no way around the fact that it takes time to learn all the ins and outs of an existing project architecture…
i’m a long term developer where i work (in fact, i was there from the beginning and designed a fair bit of our architecture) so i have an appreciation for how difficult it can be to know all the stuff associated with it (though you’d might be jealous to learn that around here it’s the devs that are expected to know SQL and the support guys have been known to come to us for assistance, not to mention troubleshooting is often a collaborative effort between the two groups)…
“It typically consists of “Make X work,” where X is as vague a description as you can get.”
y’know what gets me? i see the same sort of thing online, except X is av technology or the av industry itself… equally annoying though…
“But, typically, foreign contractors with limited breadth of knowledge stymie me. I can explain something 5 different ways in various contexts and still get blank looks.”
i generally get to mentor new dev hires and i’ve noticed the same sort of thing… it’s a subtle version of the communication barrier – you may speak the same language (more or less) but without similar experiences it’s difficult to relate things to each other… the more time you spend on it, though, the more of a rapport you develop and the faster it goes… that may not be applicable to your situation, though…
“I wonder how many companies have implemented Crystal Reports because of a short-timer, and now regret it deeply.”
hmmm…. should i say?… we’ve definitely had regrets about crystal (in fact that word is usually preceded by an expletive around here)… but it wasn’t chosen because of a short-timer, it was chosen because of brand awareness… it’s easy to say that if you’ve got a problem with crystal you should switch to something else, but (as i found out when i suggested precisely that in a school project) without a concrete alternative it’s just not actionable advice… we’ve found short comings with just about every alternative we’ve experimented with…