last day (14 days later) » 

01:28
9
A: How to deal with an intern's lack of basic skills?

Vietnhi PhuvanSir James Goldsmith used to say "Pay peanuts, get monkeys". Paying peanuts if fine if you are looking for monkeys but if you want more than monkeys, you are going to have to up the ante. Firms don't hire interns with the expectation that said interns are capable of any useful work. The intent of ...

Firms don't hire interns with the expectation that said interns are capable of any useful work -> The problem is that many firms do, as they are under the misapprehension that an intern is just a free employee. I've seen entire systems built by a series of consecutive interns (to say it wasn't pretty is an understatement).
I'm a self-taught hacker that didn't graduate college. I'm also way above most in math skills including algebra and advanced calculus.
It's funny; As a self taught developer, I'm leery of anyone that attended Uni, as I've often found it to be the case that self taught devs have more drive and willingness to learn than those that just burned through school and just need to get a good paying gig. As it is with all things, though, it is never black and white.
I'm a self taught developer who started programming way before college, and while I did course Uni, it wasn't that helpful to me. I also got a medal on my city's Math Olympics while I was on high school and my math skills are way above average than my peers. Most of the time I found uni-growth developers, they lack several skills that you need to get the job right.
@ThalesPeireira - Why should I assume that a self-taught programmer knows anything about algorithms and theoretical programming? Not knowing anything about algorithms means hat you don't have a clue how to write scalable programs and not knowing theoretical programming means that you don't have a clue that some programming problems are not solvable. Anyone who scoffs at a uni education will find in me a very hostile audience. Especially given the poor writing and reading comprehension skills of most high school graduates. Teamwork requires ability to communicate. And software eng is teamwork.
@ThalesPereira - If you have the capabilities that I am looking for, I don't care where you got them from and I don't care that you got them the day before yesterday while sitting on the can. If you don't have those capabilities, it's not my problem.
01:28
@VietnhiPhuvan A self-taught programmer is not a poser-programmer. Why do you think we don't study our stuff? The same books the uni uses are available to the rest of the world. We study, and study a lot. We search, we research. The best programmers out there are good not because of their university, but because of what they studied by themselves - as any other great professional. A uni will give you a small base - your dedication to your field will give you success.
@VietnhiPhuvan A self-taught programmer is not a guy that do some small websites and call it "advanced coding $killz". Any respectable programmer - coming from an university or learning stuff by himself - constantly updates himself over and over and is on tune with everything that happens on the IT word. A Degree only says you attended classes - it tells nothing about what you know or what you can do. I do have mine, and I can say it wasn't worth my time.
@ThalesPereira - You'd be surprised how many people call themselves software developers, software engineers, programmers, etc. I'd drop kick their butts out of my office and I don't even need a reason to do it :) ANYONE can call themselves a programmer. It's up to us to sort out the real deal.
@ThalesPereira - I've studied my butt off since I've been out of grad school. The education that I got in grad school was only a beginning. Sometimes, I feel that I am doing nothing but studying ... :) I am way stronger than I was back in grad school, by the way. It's gotten to the point where I can say almost everything I learned about CS, I learned while out of school. Sad to say, my CS experience at this public grad school was a joke because the profs were a joke. And the joke was on me. Everything I learned at that grad school, I learned on my own efforts.You and I are on the same page.
@VietnhiPhuvan Where or how a programmer was taught doesn't actually matter; what matters is that they're diligent and interested in learning. Both courses and self-teaching have pros and cons, and neither is explicitly superior to the other. Self-teaching, however, does indicate that their skillset won't necessarily match a graduate's skillset; it's plausible that self-taught programmers will learn things in a different order than a course would teach, because their education is pretty much entirely free-form; they may know more about one topic and less about another, for example.
For example, self-teaching is usually slower than courses, but leaves you free of common misconceptions like "unsigned variables come from the devil" (because you don't have them drilled into your head, and learn how to minimise or work around any given tool's flaws instead of shunning it because of them). Conversely, courses usually let you learn faster, but don't guarantee you'll understand why something works (because you were taught to do it right, instead of having to struggle with getting it wrong until you actually understood what was happening enough to get it right).
Courses also have the tendency to propagate any flaws in the professor's understanding (which can be problematic if they aren't up-to-date and/or don't like experimenting); conversely, while self-teaching doesn't have this flaw, it means you lose out on all of the knowledge that said professor obtained over the years (even despite any aforementioned flaws, this is a very sizeable loss).
HC_
HC_
"That's why I am leery of self-taught programmers who started out at age 13 and didn't attend uni." Sounds like you have had a lot of experience with underwhelming "self-taught" programmers. May I ask what their resumes typically looked like?
@JustinTime Eh. It heavily depends on how the course goes and how much you know prior to it. Invariably, the best developers out there are the ones that didn't base their skill set on what did learn on college but what they practiced at home and what they learned by themselves. Software is more akin to an art - it is a heavily creative process of juggling rules to create a result you desire. Normally people with the profile to be a good developer already have that profile way before going to college. My gramps is one of the best devs I know, and he learned how to do his stuff all by himself.
@JustinTime If anything, college gave-me a good idea about what books I should read to get going. I can say for sure that I learned way more from Jon Skeet's books, for example, than from my Programming I teacher. The two teachers that I had that did teach me a lot of stuff did this by throwing a hard project at class with a "go figure it by yourselves" approach. Most of the students failed at that class - only 6 from 28 managed to pass - but the 6 that did pass had the profile to be good devs. I'm really grateful to those two teachers for that!
I spent several years as a hiring manager for a software team and I can say that I would much prefer the 19 year old kid who started figuring things out for themselves at 13, and could point me to a series of projects they worked on, while talking about the various challenges they overcame and/or insights they gained from each, than most of the college graduates I interviewed. Far too many schools these days are degree mills that completely gloss over the whys and hows of what they teach, such that their graduates don't have a clue how to think or work independently.
01:28
@VietnhiPhuvan I don't assume anything about anybody. I've interviewed candidates who presented an MSCS with a 4.0GPA who didn't grasp hashing and trees. I've interviewed candidates with 15 years experience who couldn't write write ten lines of sensible code. Most credentials are meaningless and it's best to ignore them.
@kevincline - You're right, I check everybody out. Just because somebody's smart doesn't mean they can communicate. Just because somebody can code doesn't mean their coding style is compatible or even makes sense. Just because somebody' knows what they are doing doesn't mean that they get it right. And just because somebody's a good thinker doesn't mean they can get anything done :) I explicitly stated that I am leery of those who learned how to program at 13 and never went to uni. I didn't state that I check everybody out. Once you've seen how they make sausage at uni and elsewhere ... :)
This is certainly over-generalized. My internships paid quite well for student jobs, and my employers all expected results from me -- fewer when I was a first year student, for sure, but still. I think this is more about the school and the bar it sets for its internship programs than anything else.

last day (14 days later) »