- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Admin
Do you ask all bad developers about their degree status, so that you'd be able to rule out the possibility that you just run into a lot of degreed devs, good and bad? Is it a regional thing? Should certain classes of dev be excluded, like Jimmy's son the boy-genius webmaster? Etc. That's why the plural of anecdote isn't data.
Admin
Admin
Truer words were never spoken - but many times, the worthless paper means more to the PHBs than the ability, regardless of the need to produce.
Admin
I wanted to say something witty, but the captcha is "dreadlocks" and I can't stop laughing.
Admin
OK, I'm an intern; I've been working at the company I'm at for 2 years doing everything from documentation to graphic design (although I'm terrible at graphics) to database programming. The problem that I have with my CS (Software Development track) degree is this:
Everything is about how well you do on the test. I write great C code, and decent java (although I don't much like java), and great SPARC assembly. Yet this semester I got a 'B' in assembly, a 'C' in datastructures, and Java and a 'D' in math; but, here's why... I do just enough to get by. It's hard to hold my attention when I'm doing the same stuff over and over and over again.
However, there is no extra credit on the tests for "I'm half asleep and making stupid mistakes on this test because I spent the night hacking kernel code, playing with BSD and Solaris while getting WINS to work over a 16 bit netmask on my segmented network using remote announce, and only using SSH to my Slackware PDC to accomplish it. Then trying to implement LDAP to my TDB backend instead of using PAM for synchronizing my Unix and Samba passwords." In school I still lose points on the test for forgetting the semicolon at the end of the line. I'll find that error a quarter second after compiling. However, at work, it's a real feather in my cap when we have a problem and I say, "Yeah, I solved that problem at home and as an added bonus, I can implement it with LDAP and Fedora Directory Server interfaces nice and runs great out of the package. I'll set it up in VMWare as a demo using seperate subnets to show you it works."
On paper my grades make me look like an idiot... but that's probably because I'm not too interested in just learning how to pass the test, I want to know the material, not how to take the test. If I'm tired and half awake, it's because I've probably been hacking code for 16 hours the night before hand. If I don't do great on the java test, it's probably because at home I have the API up on my second screen - as I would in a working environment. I haven't memorized the entire thing since it changes every 2 years and I can always use references in the real world.
I usually end up working with java going, "Well, I want to interface this... I know that the Java.Util package has something to the effect that I'm looking for, what is the exact name and parameter list? Oh, OK, this'll work, I'll just have to do an explicit cast of the return type. Now, is there anything else that more exactly fits my needs... Nope, OK, stick with plan A".
Admin
I can't help feeling that some are arguing apples vs. oranges on the degree front, mainly because they are good developers with 20+ years experience and no degree. So when the question is framed (as it clearly is by some) as: "Which is better - 20 years experience or a degree?" of course 20 years experience is better. But 20 years experience and a degree would be better still.
A person who has a degree (from a reputable university) demonstrates a couple of key traits. They were academically smart enough to get onto the course in the first place, and to obtain the degree; i.e. they are both educated and educable. Outside of solid communication skills, there are few more important traits in a good developer. Also, that they understood the benefit of obtaining further education in a complex field, rather than simply trying to get into a low-level job as quickly as possible. This demonstrates a certain amount of foresight, as well as knowing when to sacrifice short-term benefits (money earned in a low-level position) versus long-term benefits (a better understanding of the core concepts of the subject).As for a candidate with a different degree, well again, I would say that having a CS degree followed by 10 years experience indicates this person is clearly focussed in the field. Having an alternative degree would indicate a modicum of indescisiveness, although I'm not going to take this too far, since having a degree (any degree) is the most important part.
Other than that, I can only agree with the comment regarding the 'debunking' of the idea that OTJ training is the answer to everything. Also I should add that I do work in the games industry, where you will not find more than a fraction of a percent of coders under the age of 30 without degrees - so perhaps my own view is skewed.
Nonetheless in the end of the day I can't see an end to this debate, for the simple reason that those without degrees argue because they don't understand the value of a degree. If they did, and were able, they would have one.
Admin
Admin
One time when I was working at Subway during a lunch rush, I noticed a weird little box with a button on it in the cash register. I pushed it and didn't really think more about it. About 3 minutes later, I suddenly realized what it was and told my boss I had pushed it accidentally, right before the phone rang from the alarm company calling to check on the robbery alarms we had just raised :).
2 things about it, though. The 3 minutes seemed like a long delay and why didn't they tell us about that button during training???
Admin
Good points, all. I was basically talking out of my posterior there, but my personal perception is that the degree is a useful indicator of basic competence. Experience is a better indicator, but if you're looking for an intern, you're not going to be interviewing people with extensive industry experience anyway; they wouldn't be interns if they had experience. So all you've got to go on is their educational background. You don't want to be teaching them everything from turning on a computer to writing a makefile, do you? You'd hope they at least know what a header file is, and a preprocessor statement. (Of course, that depends on what constitutes a developer, as you pointed out. Many developers these days do not need to know the difference between recursion and iteration, much less how to run a compiler.)
In general, I think that the longer a person is in the business, the less relevant their degree is, unless they are still involved in academia in some way. For an intern, I most certainly expect that they be enrolled in a good degree program. It's the point of the internship, really.
Admin
Having a degree simply increases the Probability that they can do the job well. It is not an end all be all indicator of success. I don't know why you would treat it as such.
Admin
Ahh, so you're the guy who writes 35 K of source code, and produces a product with 12 MB of buggy libraries you found on the Internet.
Yeah, I've seen that. Recently. It's in production at a large company you've definitely heard of. It uses three different libraries using three different configuration files to access one Oracle database (all three files basically have the same information, in three different formats). Of the dozen or so libraries it uses, half of them are "beta" versions.
While some of the source code for this work would merit publication on this site, it is not what is causing it to hang while performing its important business function. It is the libraries the developer chose to use. When I pull a stack trace from it while it is hung, it is always one of a few libraries that are causing problems. You might argue that the programmer could be misusing the library. I thought of that. Turns out, the issues are well known for those particular libraries - right in the message boards and bug lists. Too bad the particular libraries appear to be unmaintained for several years.
I agree that not reinventing the wheel is important. But you'd never put pre-popped tire on your car, right?
Admin
Of course, the original sage offered this line as "Some people learn by doing" and that's not always a bad thing... providing there's no electric fence, of course.
Admin
Thank you Mackenzie.
Admin
Right, looks like I've got my work cut out in replying... It's a long one (sorry)...
He wasn't really an intern - in the UK (and elsewhere), you sometimes get people from training courses from local schools and colleges to do "work experience". They don't (normally) get paid, but they learn what life in work is like. Often, they have to do a written report for their college, and you get to go to their final oral exam (for his I was "unfortunately on holiday during that period", as the college put it). As a result, I didn't hire him - he was "given" to me - I had no choice in the matter. These people are from 16 to 21 years old, so their "usefulness" isn't that obvious, and you can't judge them on their diplomas (because they haven't [generally] got any, yet), nor on their experience (that's why they're there).
However, I kept the guy as long as I did despite his defaults because:
a) In the beginning, I thought I'd give him the benefit of the doubt, and teach him how he's supposed to act in a work environment, b) He was good at carrying heavy equipment around, c) I kept thinking to myself "oh well, it'll soon be over" and mainly d) It was less hassle to keep him then get all the paperwork to get rid of him, and explaining to the college why he couldn't finish the course (although this did happen, because they wanted to know why he couldn't catch up on the 2 weeks he'd lost in the beginning).
As someone said, I'm supposed to teach him the ropes - but, in my eyes, that shouldn't include "don't tie them in a noose and hang yourself from it"... Although had he done that, I would not have been surprised (and, maybe, as a joke, partially relieved)...
Now, concerning the servers: Space was tight, and my office was also the server room - we were having an extension built, and it was only temporary. I needed more space in my office, and put the servers under the desk. Note that, although the servers weren't covered in foam, the foam would have put any external fire out (as it would have blocked the air off), and if it was an internal server fire, the damage would probably have killed hard disks etc. before the foam would have reached it. It may be a partial WTF to put them under the desk, but, as I've just mentioned, the foam would have been just as effective (the nozzle above the aforementioned desk). I agree that foam wasn't the best system for a server room, but the budget I was given wouldn't stretch that far (the bosses had difficuly in seeing the point in back-up tapes). I would have prefered a halon system... but admittedly not in my office... The automatic fire extinguisher did save eveything in the office except the servers, but (a) nothing needed saving, and (b) the desk saved them from the foam !
For Symbiatch, isn't putting the servers in a rack even worse ? At least the foam can go under the table, whereas, in a close rack, it won't go anywhere (unless the foam nozzle is in the rack) ?
For hardena and Elton, I haven't got anything against interns - just this one (and partially the one before). This guy was an idiot. That doesn't mean that I think that all interns are idiots. My first "intern" (as they aren't) wrote me a really useful program that treated sick days for our pay software, that was used at least up until I left. During the first days of their work experience, you get a good idea on how they can best work for you. I'm not going to ask Einstein just to photocopy bits of paper, and I'm not going to ask David Beckham to design the replacement for the Space Shuttle. Good "interns" get good, interesting stuff to do straight away. Bad ones get nurtured towards "better" stuff by building on their experiences day-by-day. Yes, it may be ball-breaking, but when I got a call from the one before (the one with the keyboard "problem") saying that, thanks to me, he managed to get a decent job in IT, you really feel good about the efforts made. Someone mentioned something like "the idiot's the one who hires the idiot and then has to catch up on the lost time" - is that what you think about special care employees ? I may not have people who need as much care as them, but if I can help someone get their foot on the ladder, despite spending many extra hours doing so, so be it.
For those who think I'm racist, I am not - I'm the foreigner living in another country ! Born and raised in the UK, and now living in a country which doesn't speak English or other derivative. I'm hardly the one who can be racist !
Finally, I'm not the one responsable for the italics! It was a plain text file that I sent, and I now work in the pre-press department of a printing company, so the use of italics is something I bathe in every day.
Admin
OK if we are going to be serious here, scalding can kill children. My father told me he had a small sister who died this way. </reality_check>
Admin
Admin
Having recently completed internships in tech I have to say that not all interns are bad.
I worked hard during the internships, and while I might not have been an amazing programmer I tried my best to contribute where I could, you can't expect too much from someone who has no experience.
The internship is meant for the benefit of both the intern and the company, the intern gets a space to learn and the company can invest in potential future employees. I also got paid the same amount as the new graduates that are hired and that shows how much the company values interns.
I have now accepted a job at the same company and am doing a great job (and my managers agree), so it's a win for all parties.
If you have a really bad intern (like in this post), that should've been caught in the interview.
Admin
Having recently completed internships in tech I have to say that not all interns are bad.
I worked hard during the internships, and while I might not have been an amazing programmer I tried my best to contribute where I could, you can't expect too much from someone who has no experience.
The internship is meant for the benefit of both the intern and the company, the intern gets a space to learn and the company can invest in potential future employees. I also got paid the same amount as the new graduates that are hired and that shows how much the company values interns.
I have now accepted a job at the same company and am doing a great job (and my managers agree), so it's a win for all parties.
If you have a really bad intern (like in this post), that should've been caught in the interview.