Do you need a college education to be a programmer?
-
Again, I believe it depends on the individual. I have experience with graduates that wrote bad, poorly performing code where we had to re-educate them quickly and of the otherside where graduates were already there writing exceptional production ready code. I don't believe that a degree makes a good developer or even the ability to become a good developer. Its the person and the personal drive to improve that shows through. I am basically self taught and have to admit when I started professionally I had to learn on my feet which is not ideal but does give a developer an understanding of what makes the customer tick. Some developers never get this.
Phil_Murray wrote:
I don't believe that a degree makes a good developer
I agree, but I don't think anyone can deny that it helps. If we get 2 individuals with same drive and aptitude towards programming, one with college and other without college education, the one with college education will very likely perform better. In my case, I'd never have learned so well what goes on under the hood (at register level) if I hadn't gone to college. With college I actually learned where to look and I wouldn't have learned that if I stayed only with my self taught skills. I didn't know it existed or how it worked. That made me a better programmer, even on high level managed languages, so I knew how memory and processing works to make my applications perform optimally and don't hog on memory and processor like crazy. Of course this can be learned eventually, but I doubt anyone looks into that on the early stages of while learning how to program. I'm not saying that college educated programmers are implicitly better than self taught ones. I actually believe any good programmer must know how to self teach. But I believe college adds a great value. I know this because I was self taught before college and I know the effects of it. Skills you learn on the job are a whole different matter that no college, google or book will teach. Everyone needs to get the hands dirty to learn some stuff.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson "Our heads are round so our thoughts can change direction." ― Francis Picabia
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Yes, lets bring back Apprecticeships! It has been an excellent experience for me. While I had been taking the odd programming class since highschool, it took me a minute in college to realize what was my true passion. I first majored in Art, Business, English, before taking an Html refresher course, and a computer art class for Flash (both for fun) and realizing that I needed to get back into programming. I applied for the comp. sci program directly and studied at it for a solid year. Disaster struck (I got married), and my wife didn't want to live in my parent's basement while I finished school. I did the only thing I could afford to do (and remain married to my lovely wife). I dropped out of school and started working construction. It was definitely the worst 3 years of my life. Then, I got super lucky. I had a friend who had worked for me in the restaurant industry. He had gone a shorter route, and received a 2-year degree from a technical school based on programming. I was always telling him about my woes working construction, and eventually he was telling me about his woes dealing with unreliable programmers who couldn't not manage to focus, or do a decent job at all. I said "Hey, surely I can do that." He agreed to teach me on our own time, and I bought some books and would study in between working long hours at my construction job. He brought it up in passing to his boss that I had been learning the language, and he said "We should do an apprenticeship." Lucky, blessed, whatever you want to call it, that's what I was. I've been working with one of the best (though small) companies in the world, and I got to learn a bunch of the "tricks of the trade" from my good friend. Because of how good the boss was to give me my chance, I have an intense loyalty to those guys and am willing to work extra-hard so that we can all enjoy continued success. He told me in our interview "Anyone can get a programming book and learn from it, but what it takes in this industry is a passion for computers." Without that I certainly would have failed (or probably not have been interested in the first place). Anyway, sorry to ramble on a bit. I just wanted to share my story since I was lucky enough to have first hand experience. None of what I learned during my apprenticeship could be replaced by what I learned at the university, just as my acedemic learning cannot replace what I've learned through work experience. I still yearn to go back to school so that I can learn more about the theory, and t
-
Phil_Murray wrote:
I don't believe that a degree makes a good developer
I agree, but I don't think anyone can deny that it helps. If we get 2 individuals with same drive and aptitude towards programming, one with college and other without college education, the one with college education will very likely perform better. In my case, I'd never have learned so well what goes on under the hood (at register level) if I hadn't gone to college. With college I actually learned where to look and I wouldn't have learned that if I stayed only with my self taught skills. I didn't know it existed or how it worked. That made me a better programmer, even on high level managed languages, so I knew how memory and processing works to make my applications perform optimally and don't hog on memory and processor like crazy. Of course this can be learned eventually, but I doubt anyone looks into that on the early stages of while learning how to program. I'm not saying that college educated programmers are implicitly better than self taught ones. I actually believe any good programmer must know how to self teach. But I believe college adds a great value. I know this because I was self taught before college and I know the effects of it. Skills you learn on the job are a whole different matter that no college, google or book will teach. Everyone needs to get the hands dirty to learn some stuff.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson "Our heads are round so our thoughts can change direction." ― Francis Picabia
I agree with what you are saying but do degree level courses still discuss low level memory management? Its been a while since I was in education :-D I do understand the benifit from understanding how a computer processes tasks but in the world of 4th generation languages and garbage collection I would imagine that most day to day developers rarely use it. What I believe college will help in is when cross skilling into new platforms or technologies a person with a degree should be able to understand the underlying concepts more quickly and avoid some of the obvious gotcha's that I personnally may fall into. In the end what makes a good developer? In my experience its the drive to become a good developer and the willingness to admit they don't know everything.
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Back in the days (and I'm talking 30 years ago) having a degree in computer science actually made it harder for you to get hired: I remember, then, wandering around to different software houses in London, most of which stated that they wouldn't hire programmers with computer science degrees, because the process of taking the course had fixed their minds too much, and thus they'd rendered themselves unsuitable to the real world. I still agree with this, and try to shy away from hiring programmers with degrees (unless, of course, I can look into their eyes and see that the degree doesn't matter). With one such example, I asked him what he'd studied at college. "Computer science, of course," he replied. "So did you learn anything?" I asked. "Nothing," he replied -- at which point I hired him on the spot. I think that the requirement in hiring for programmers to have degrees is something invented by management who never really understand what their programmers do for a living: for them it's some kind of touchstone which says, "Well, the guy must know something -- he's got a degree..." whereas I still believe the reality of it to be that the best programmers teach themselves. The only thing I'd recommend is taking some kind of course at some point, if only to learn the commonly-accepted names for things you've already figured out for yourself: for example, it was years after I wrote a program to design printed circuit boards that I found out I'd recreated Dijkstra's Route-Finding Algorithm... it's kind of handy to know how to say these things so that other people understand.
-
I agree with what you are saying but do degree level courses still discuss low level memory management? Its been a while since I was in education :-D I do understand the benifit from understanding how a computer processes tasks but in the world of 4th generation languages and garbage collection I would imagine that most day to day developers rarely use it. What I believe college will help in is when cross skilling into new platforms or technologies a person with a degree should be able to understand the underlying concepts more quickly and avoid some of the obvious gotcha's that I personnally may fall into. In the end what makes a good developer? In my experience its the drive to become a good developer and the willingness to admit they don't know everything.
Phil_Murray wrote:
I agree with what you are saying but do degree level courses still discuss low level memory management?
Well, at least good colleges do. It least the one I attended to is still doing it. :)
Phil_Murray wrote:
I do understand the benifit from understanding how a computer processes tasks but in the world of 4th generation languages and garbage collection I would imagine that most day to day developers rarely use it.
If they don't, it's because they don't know about it. It's how college education can come in handy. Many people mistakenly think that because we get garbage collector, we don't need to worry about memory or how it works. I once had to debug someone else's code where I could only find the solution because I understood how pointers work. Like it or not, even on managed languages, an instance of a class is still a pointer to the heap.
Phil_Murray wrote:
In the end what makes a good developer?
I'm not saying that it makes a good developer, but a better developer. The good developer is about the individual, that's certain. I've also seen many graduates that don't have a clue too.
Phil_Murray wrote:
willingness to admit they don't know everything.
That's very, very important. To me this is at the same time a curse and a blessing. It's a curse because can lead to frustration (sometimes I have this feeling), since you can never learn anything everything about something and need to always be chasing for knowledge, no vacation from it. It's a blessing because this keeps you inside the loop of improvement, making you a better programmer everyday. That's what drive and make good developers.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson "Our heads are round so our thoughts can change direction." ― Francis Picabia
-
I don't quite make the cut in terms of time served, since I took my night school class in 1985 and got my job in 1986 :). I agree that nowadays, it does seem like you need a degree to get in the door. My question isn't so much about what are the practical requirements for getting a job. For me, the question is whether it would be a good thing to make it possible for this to change over time. Is the system that does require this now the optimal one?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Tom Clement wrote:
I agree that nowadays, it does seem like you need a degree to get in the door.
Yes, but not necessarily a CS degree. My degree is in Molecular Biology, believe it or not. And, one of the best programmers I worked with in the past was a former chemist.
Tom Clement wrote:
Is the system that does require this now the optimal one?
It depends on the situation. If you want to go into academia, then yes, a degree is essential. But, academia is very different from real-world business programming. Not to put down scientific computing, not at all, I find the science behind computing fascinating, but a lot of it doesn't come up in day-to-day programming tasks, especially for me as a web programmer. If you are working more in low-level programming, and developing compilers, for example, then I think that academic work is more important. But even then, you could probably get a lot of that from sources like the MIT Open Course Ware classes online. Degrees are nice, but, especially in the US, it has gotten to be FAR too expensive these days. I'm still paying off my student loans, and I'm not even working in the field that I studied. Then again, most of the jobs I've worked required at least a Bachelor's degree. I think that most self-taught programmers are more likely to fall into the 'real-world' side rather than the 'computer scientist' side. Apprenticeships are a great idea for anyone, not just for the 'entry-level', but I imagine the demand would far outpace the available positions.
The world is going to laugh at you anyway, might as well crack the 1st joke! My code has no bugs, it runs exactly as it was written.
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Absolutely not… In fact, I believe those who need college to be a programmer do not have what it takes to be one. Every 3-4 years I’m doing something new for my job. (I’m not even considering my personal projects.) If one’s 3 ½ years into a 4 year degree, he/she is at least 1 year behind current technology. Coders must be in a constant state of learning, college is optional. That said, the best (and the ones I advise hiring) have experience and a degree. Basically, the best have both.
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Self taught or apprenticeship people have a number of advantages from a practical stand point. However they are generally not accepted by large companies. Part of the problem is a requirement by the US Government that professional positions must have a college degree. This applies to certain forms of government contracting where they want to make sure they are not being charged “Engineer” rates for a “Draftsman”. Many big companies have simplified the book keeping by making a blanket requirement that professional roles are only filled by college graduates.
-
Self taught or apprenticeship people have a number of advantages from a practical stand point. However they are generally not accepted by large companies. Part of the problem is a requirement by the US Government that professional positions must have a college degree. This applies to certain forms of government contracting where they want to make sure they are not being charged “Engineer” rates for a “Draftsman”. Many big companies have simplified the book keeping by making a blanket requirement that professional roles are only filled by college graduates.
Actually, I see companies generally accepting self-taught coders and the like. I’ve worked for national and international sized companies for a little more than a decade now. Every coder post I’ve seen has been something like "requires batchler degree or equivalent experience." Now organizations like JPL and NASA actually require degrees. Seems like the close you get to government, the less they care about what you can actually do. As long as you have that paper you’re golden.
-
I don't quite make the cut in terms of time served, since I took my night school class in 1985 and got my job in 1986 :). I agree that nowadays, it does seem like you need a degree to get in the door. My question isn't so much about what are the practical requirements for getting a job. For me, the question is whether it would be a good thing to make it possible for this to change over time. Is the system that does require this now the optimal one?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
Tom Clement wrote:
I agree that nowadays, it does seem like you need a degree to get in the door.
I'd put that down to the merits of the degree - you have three years of formal education learning how to code, so at the very least one hopes you can pass the technical test before the interview. If you do not have a degree, one assumes you have other things that qualify you for the job, at least to the value of 3+ years of paid study. Sufficient work experience, a comprehensive portfolio, or even key business contacts hooking you up to the right people, etc. are all perfectly valid and recommended methods of getting relevant work. Naturally a combination of the above is all the better. As for (re-)introducing apprenticeship schemes as legitimate door-openers, I'd simply surmise that you mean industry recognition for same; it all comes down to work experience that will help you build a sweet portfolio, land some interviews and pass the tech tests. Whether an employer will view an apprenticeship in the same light as industry experience is another matter.
Sometimes a fist in the face says more than a thousand honeyed words.
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
I am surprised no one has mentioned the $ factor, as in, pay. I worked at a company as a production manager where I found out that another guy, also a production manager, made $20000 more than me. I asked my boss what gives, who promptly told me that he had a degree whereas I didn't. Since that time I have found again and again that pieces of paper justify higher pay. I disagree with this premise, but it is what it is.
-
Albert Holguin wrote:
...but it'll give you a chance at becoming more well rounded.
And yet in 40+ years of programming I have never needed any knowledge about Shakespeare nor the Iliad. Nor how theoretical refrigerators work nor how to prove anything about Platonic solids. Oddly enough I also haven't seen any reputable university educational programs that actually seemed to produce either of the following 1. Significant number of graduates 2. "Good" programmers consistently. I have certainly seen educational systems that produced large numbers of graduates with 'degrees' that were basically useless. And their are institutions that seem to produce more qualified graduates on average compared to other institutions. But the percentage is not significant and I suspect it is the opportunities that such institutions provide rather than the actual teaching that produces better candidates.
One does not study Shakespeare for career prospects except, say, in creative writing or (likely theatrical) acting. Also, I daresay most programmers do not study the nuances of the Platonic solids, least of all at university-level. As it happens, some people choose to study a subject because they have an interest in it. Even if a graduate finds their degree to be of little help in finding a job, they will still have matured from several years of the student life. Further, I wouldn't gauge a university's effectiveness or reputation by its number of graduates, nor the quality of programmers it produces. As with all things, programming or otherwise, with a degree or a handful of GCSEs, an individual can find the right job for them if they look in the right places and apply themselves properly. If they are not the right candidate for the job, their choice of education + institute should not be condemned if they are rejected.
Sometimes a fist in the face says more than a thousand honeyed words.
-
Phil_Murray wrote:
Education skills != Real life programming ability
I agree, but usually graduates have a good foundation and get up to speed very fast on real world problems. I don't think they would have if they did not have a formal education.
"To alcohol! The cause of, and solution to, all of life's problems" - Homer Simpson "Our heads are round so our thoughts can change direction." ― Francis Picabia
Fabio Franco wrote:
I agree, but usually graduates have a good foundation and get up to speed very fast on real world problems.
I don't know about where your "graduates" come from but here those graduates always have "real world" expertise because they have already worked at real jobs. Now the fact that those jobs were acquired via a connection with the school doesn't alter the fact that the experience originated from the job and not the school.
-
There's a lot of benefits to a structured education that you wouldn't get with an apprenticeship. One perfect example, we have a certain person in our company who writes at the third grade level, should have probably been forced to take more english/technical writing courses. Not that taking the courses will guarantee you'll be better at anything, but it'll give you a chance at becoming more well rounded.
I had a college educated co-worker who couldn't code his way out of a paper bag. (Come to think of it, I haven't coded robots, so neither can I. :-D You should get what I meant. Making the bag wet would make getting out without ripping something, pretty hard too.) The advantage of college is that it gives the perception that you are smart. Reality can be quite removed from perception. Getting someone who is dumb as a post as an apprentice is no picnic either, so it can be perceived as a risk to take someone on. Other people swear by accredidation as the only way to take on employees, while people who have been in the business for a while are accepted easier.
-
What's a piece of paper got to do with it? You can either do the job or not. I've known a lot of programmers that couldn't program.
Mike Hankey wrote:
I've known a lot of programmers that couldn't program.
I'm lucky, I've only met one. I winced whenever I was assigned to team with him. In three man teams, for two of us, each would have to do 67% of the work needed to get the project finished and he'd provide 1%.
-
Mike Hankey wrote:
I've known a lot of programmers that couldn't program.
I'm lucky, I've only met one. I winced whenever I was assigned to team with him. In three man teams, for two of us, each would have to do 67% of the work needed to get the project finished and he'd provide 1%.
I've been on both sides of the fence but when I was a team leader I figured you are only as good as your worst programmer so I took the extra time to teach and coach and in the end it paid off.
VS2010/Atmel Studio 6.0 ToDo Manager Extension
Version 3.0 now available. -
From a technical standpoint it's still my contention after working professionally for 20 years that you don't need a college degree. Nothing I've seen from classes, course outlines, or actual graduates has shown me that a degree makes you a better programmer or prepares you for enterprise development. Apprenticeships would be a wonderful thing. In the meantime, junior development positions I think are a nice way to handle this. Otherwise, coding on your own and creating a portfolio has been a good way to get in the door for an interview when I'm the hiring manager. From an HR standpoint, and sadly, often you need a college degree just to get an interview.
No artists interprets nature as a lawyer interprets the truth.
jeffreyhamby wrote:
No artists interprets nature as a lawyer interprets the truth.
That reminds me of Clinton's "What's the definition of 'is'"? :laugh: Spotting someone who could become a good programmer is a gift I don't have. Seeing a good programmer is different. It's a worthwhile endeavor to spend time to bring someone else up to speed, it's not worth spending time when the information you are giving is going straight out the other ear. One time, I was assigned to an indexing task. I knew the tech who would be talking to the customer didn't have the SQL background to explain what I was doing and I wouldn't be there to explain to the customer. In one case, I decided to drop an index. I knew the customer would demand to know why I was removing it. I explained to the tech what indexes did, how they worked, how two specific indexes were related, one was superior, the other inferior. Why I was dropping the better one. He thanked me for teaching him more about SQL in two days than he had ever learned in two years working in an operations group dedicated to maintaining SQL DBs. I wasn't trying to mentor him, I was trying to protect him from an unfair situation I was going to put him in. I also got to learn new things from him. I don't know if he would make a good programmer, but I have more hope for him than the 80% of the people in class going "huh?", when I thought the teacher had clearly expressed one of the simpler concepts in programming. Just today I read an article teaching about 0 and -0 in JavaScript. It was news to me that 1's and 2's compliment could co-exist on the same operating system. It was also obvious the author had never heard of 1's and 2's compliment, because he certainly messed up the binary representation of what's going on under the hood. (IE Beware of who is teaching what.)
-
I've been on both sides of the fence but when I was a team leader I figured you are only as good as your worst programmer so I took the extra time to teach and coach and in the end it paid off.
VS2010/Atmel Studio 6.0 ToDo Manager Extension
Version 3.0 now available. -
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
-
What do you think: Does someone really need to rack up huge student debt and spend 4 or more years in dry college classes just to become a programmer? What about bringing back apprenticeship? Wouldn't it be great for you if you had some smart kid learning from you and helping you out for a few years? Wouldn't it be great for him or her? Here's an article discussing the apprenticeship movement: Let's bring back Apprenticeships[^] I went to college, then to law school. Then I quit that business, took a course in C programming, and made a career of it. I'm not the greatest programmer out there, but I can do the job. Are we investing our treasure wisely spending it on formal education (perhaps wasted in my case), when there are more direct ways of learning a profession. In Texas, where I got my law degree, you could be licensed to practice law based either on formal education or an apprenticeship with a lawyer. Is this such a bad idea?
Tom Clement Serena Software, Inc. www.serena.com articles[^]
I thought we had apprenticeships, but they are commonly called internships. This question is a hot-button for me today. I don't mean this to sound like a rant, but I am deeply frustrated. I used to work as a hardware engineer. I only had an Associate degree in Electronics tech at the time. I mostly created the position myself while working for a small company that had hired me to do electronics assembly. The company went public to raise money, I worked on several projects, some were strictly hardware, and some involved embedded programming on hardware that I designed (I ended up teaching myself assembly language programming before the first project was completed). I was also responsible for purchasing 90% of the electronic components, the associated inventory, and working with a few outside vendors i.e. machine shops. The company went through a downturn, and I was laid-off. I was repeatedly turned-down for engineering positions in the subsequent job search because of my degree, although my experience was never an issue. I ended up working as an engineer for a friend after that, but that only lasted a couple of years. Then someone approached me and asked if I could untangle some obsolete embedded controllers. He was trying to get started in refurbishing systems that had these controllers in them. The controllers happened to use componets I already knew how to program, and I worked on those for several years as an independent contractor. I also designed a few other controllers and built all the circuit boards in my basement for several years. However, I was till only just barely getting by, and frequently I wasn't getting by when my clients had poor sales. My sister persuaded me to return to school, and get a degree in something. Anything, she said, would make me "more employable". So, I spent a few years obtaining my BS in Computer Science. I graduated Aug 2001. Not a good time to graduate. The job fair on Sept 11th at school was a dud. The only internships were in accounting. After a few months, I enrolled in another university and I received my M.S. in Computer Science in May 2006. So far, and it is now 6 years later, I still haven't been hired! The new "internship program" at the university that was started my last semester there generated 8 internship positions for 50 students, and only 3 of those 8 were in software. The others were in civil engineering, of which I was obvioulsy not qualified for. So, I didn't get into any internships. I have tried to target entry-level po