#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2012
    Posts
    1
    Rep Power
    0

    Questions about finding work as a developer. Please help!


    Here is my situation.

    1. I have no degree, school is not an option until AFTER I am employed.
    2. I have 5 years functional programming experiance (hobby level, C, LSL, qbasic, freeBasic, etc...)
    3. I have inhuman memorization skills. Best when the information is laid out in rules, laws, factoids, etc...
    4. I have poor social abilities. Meaning, I don't get out much and I'm not a good talker (especially in interviews)
    5. I have great math skills (up to algebra and pre-calc). I was referred to by my college algebra teacher as an aspiring mathematician.
    6. I have completed 1 semester of a computer science degree with a very reasonable gpa, and an honor society slip. I dropped the course and sadly I am not allowed to go back until I am employed.

    So my questions are as follows.

    Considering all of the conditions, what would be the best thing I could memorize in order to increase my odds at getting a programming job?

    Would it be useful to mention my 1 completed semester? If so where? In coverletter, resume, interview?

    I have spent the majority of my free-time in life designing, writing, and exploring software as a hobby, so I don't have much work or life experience outside of that. The problem is, compared to most professionals I lack a lot of experience and education. Being a hobby coder has not exactly left me well rounded. For example, to write a bubble sort, I would need some type of reference or at least a very detailed play by play explanation of how bubble sorts work. Also I have never been a fan of object oriented programing, so even though I have made syntactic use of OOP before, I didn't really commit any of it to memory. A case of look it up, use it once, forget about it.

    So far the first step I have taken to get closer to my goal is enroll in a coursera algorithm course. I am told upon completion of the course, one can print a certificate that says the course was completed. Perhaps presenting or mentioning such a certificate could increase my odds of achieving my goal.

    As for step 2 I'm thinking about taking a C++ course, or perhaps put together a web portfolio of completed projects. I don't know.

    This forum might not be the best place to ask such questions. Is there anyplace online suited for questions like these?

    I am really lost so any advice would be most appreciated.
  2. #2
  3. No Profile Picture
    Lost in code
    Devshed Supreme Being (6500+ posts)

    Join Date
    Dec 2004
    Posts
    8,300
    Rep Power
    7170
    This forum might not be the best place to ask such questions. Is there anyplace online suited for questions like these?
    Actually forums like this are probably the best place to ask such questions, because you'll get responses from people who have been in similar situations and also from people who actually do hiring of programmers.

    Would it be useful to mention my 1 completed semester? If so where? In coverletter, resume, interview?
    I would not write on your cover letter or resume something like "completed first semester of a computer science degree". To be blunt, it just doesn't sound that good to say you only completed the first semester. However, you might bring it up in an interview - it depends on why you dropped out. For example, if you dropped because of medical/family/financial/etc reasons then I wouldn't hesitate to bring it up and explain (in brief) why you dropped. Don't go into detail, just literally say something like, "I had to leave for financial reasons but hope to return to continue my degree soon". On the flip side, if you dropped out because you got in trouble or were partying too hard or something like that, then I wouldn't bring it up.

    In any case, if you do plan to continue your degree that by itself is actually a selling point you could use on your resume and in your interviews. Maybe you can find another local college and enroll in a class there (ideally one where credit would transfer back to your main college). Then on your resume you can write something like "Currently working towards a B.S. in Software Engineering". Virtually all employers will like to see that you're working to improve your education, and if you're actively enrolled in a class you can bring that up in your interview to prove it to them.

    As for step 2 I'm thinking about taking a C++ course, or perhaps put together a web portfolio of completed projects. I don't know.
    DO definitely put together a portfolio. When hiring a new programmer, this is one of the number one things that most companies will consider. If you're looking for a programmer job, your portfolio should consist mostly of shorter, high quality code samples; in the ball park of a few hundred lines per sample. If you have websites that you've done and can provide links to those, do that as well.

    I would hold off on the C++ course unless you're taking it for the reason I mentioned above, or you have a specific interest in C++, or you only plan to accept job offers that involve programming in C++.

    So far the first step I have taken to get closer to my goal is enroll in a coursera algorithm course. I am told upon completion of the course, one can print a certificate that says the course was completed. Perhaps presenting or mentioning such a certificate could increase my odds of achieving my goal.
    This has been discussed many times before on these forums, but the general consensus among people who actually work in the industry is that programming certificates and certificates don't have a whole lot of meaning. If you have a certificate, it's always worth listing it on your resume and bringing it up in interviews because it can't hurt, but the more the person reading your resume knows about programming the less the certificate will impress them. My advice for these types of courses is to take them if you feel you will benefit from the subject material; don't take them just to get the certificate.

    I have spent the majority of my free-time in life designing, writing, and exploring software as a hobby, so I don't have much work or life experience outside of that.
    You can land a job with only hobby experience. I did it after my first year of college. The pay was terrible, $8 / hour, because I had no credentials and no experience, but I'm a good programmer, so within a few years I had doubled that a couple times over.

    For example, to write a bubble sort, I would need some type of reference or at least a very detailed play by play explanation of how bubble sorts work.
    Most of the programmers I know, including myself, would need a reference to write most sorting algorithms. That's not normally the type of thing a programmer commits to memory (because you don't have to do it very often).

    Also I have never been a fan of object oriented programing, so even though I have made syntactic use of OOP before, I didn't really commit any of it to memory. A case of look it up, use it once, forget about it.
    Knowing OOP, or at least the concepts behind it if not the specific syntax, would be good. There is a high probability of those concepts coming up in a technical interview.

    3. I have inhuman memorization skills. Best when the information is laid out in rules, laws, factoids, etc...
    You might actually consider taking an aptitude test. It will ask you questions and assess your strengths and weaknesses and recommend different types of jobs that might be a good match for you. This is a great skill to have and it's useful in a lot of areas beyond programming and computers, it's possible that you might find something you enjoy more than programming.

    4. I have poor social abilities. Meaning, I don't get out much and I'm not a good talker (especially in interviews)
    This is actually not a particularly unusual trait among programmers, but it is not something you want to bring up in an interview. I can give you some ideas that help me, but given that I'm the same way I understand that there is a significant gap between conceptually understanding how to act in certain social circumstances and actually implementing those behaviors in real life. The best I personally can do is probably wish you luck.

    The biggest thing is to have confidence in your abilities as a programmer. You personally don't need a degree to know how good your skills are. Know which areas are your strengths and which areas are your weaknesses. Promote your strengths in your interviews and avoid talking about your weaknesses. If the other person brings up an area in which you are weak, don't pretend to be strong in that area. Just admit that you don't know it particularly well and move on. Nobody knows everything and nobody reasonable expects another person to know everything.

    Before conference calls I will usually write up a short bulleted list of things that I might talk about. For example, you could generate a list of past projects that you've worked on, past experiences that you've had, technicals areas that you are really strong in, etc. This will help you in two ways: first, it gives you a list of things to talk about if conversation falls short. Second, when the other person asks a question like "explain the project that you had the most difficulty with in the past" you can quickly scan your list and identify an appropriate example rather than trying to rack your brain to find one. For me this is particularly helpful, because I tend to freeze up mentally when asked a completely non-objective question. The list puts bounds on the question; instead of trying to identify the single most difficult project I have ever worked on in my entire life, I merely need to identify the most difficult project from my smaller pre-compiled list of projects.

    Remember that interviews go both ways; this can help build confidence on your part. The company is not only trying to determine whether you are a suitable match for them, but you need to determine whether you think they are a suitable match for you. At the end of the interview, it is common for them to ask you if you have any questions. It is a good idea to have some questions - it shows interest on your part. There are some questions you shouldn't ask though, so it might be good to do some Googling about this to get some ideas.

    Also, don't be afraid to talk slowly or pause to think while you're responding to a question.

    6. I have completed 1 semester of a computer science degree with a very reasonable gpa, and an honor society slip. I dropped the course and sadly I am not allowed to go back until I am employed.
    If you end up discussing your completed semester and are happy with your GPA, bring up the specific number when you mention it. If you don't, most people will assume it's because you're hiding it. In your case it would be especially helpful to demonstrate that you didn't drop out for academic reasons.
    PHP FAQ

    Originally Posted by Spad
    Ah USB, the only rectangular connector where you have to make 3 attempts before you get it the right way around
  4. #3
  5. Banned ;)
    Devshed Supreme Being (6500+ posts)

    Join Date
    Nov 2001
    Location
    Woodland Hills, Los Angeles County, California, USA
    Posts
    9,593
    Rep Power
    4207
    Originally Posted by lowrez
    Here is my situation.
    2. I have 5 years functional programming experiance (hobby level, C, LSL, qbasic, freeBasic, etc...)
    My advice: don't put that above phrase in your resume. "Functional Programming" has a very specific meaning for programmers. It is a programming style (as is Object Oriented Programming (OOP), Imperative style programming etc.). None of the languages you've listed really support functional programming concepts. So if you say you have 5 years functional programming experience, I would initially assume you know how to program in languages like Scheme, Haskell, Python, Perl etc. which actually support functional programming. Then when I find out that you really meant to say "working knowledge", it would be quite a let-down.


    Originally Posted by lowrez
    3. I have inhuman memorization skills. Best when the information is laid out in rules, laws, factoids, etc...
    That's for the interviewer to judge. While memorization skills are good to have for programmers (e.g. you don't need to know exactly how to solve a problem, but the ability to recall where you last saw some code that solves a similar problem is very important), it should not be to the point of merely cut/pasting code without an understanding of what is going on. I get to interview a lot of cut/paste coders and some of them have absolutely no idea what to do if I take a standard problem and add a small twist to it.

    Originally Posted by lowrez
    4. I have poor social abilities. Meaning, I don't get out much and I'm not a good talker (especially in interviews)
    In our interviews, we try to make our interviewees as comfortable as possible. There have been many people who were very nervous initially, but opened up as soon as we started talking tech stuff. In fact, the last programmer we hired into my team belonged to this category. What we are looking for is whether the person can explain to us exactly how one of their previous projects worked. Failure to go into details usually means that the person was not as familiar with the project as they claim on their resume (I see this a lot with cut/paste coders). Of course, we make allowances where English may not be the candidates first language.

    Originally Posted by lowrez
    5. I have great math skills (up to algebra and pre-calc). I was referred to by my college algebra teacher as an aspiring mathematician.
    Good for you. A lot of our really good programmers are not CS grads.

    Originally Posted by lowrez
    6. I have completed 1 semester of a computer science degree with a very reasonable gpa, and an honor society slip. I dropped the course and sadly I am not allowed to go back until I am employed.
    Why not? Is there some specific reason why you are not allowed to do this? Might want to mention in your resume that you have a goal of working towards a degree instead of mentioning specifics.

    Originally Posted by lowrez
    Considering all of the conditions, what would be the best thing I could memorize in order to increase my odds at getting a programming job?
    #1 advice. Don't bullsh*t on your resume. E.g. We get quite a few resumes from ex-Napster employees claiming to have designed and led the team that engineered their paypal interface. Asking them about specifics about their product and it becomes pretty obvious that they don't understand how all of it works (see notes about social abilities above) and aren't as skilled as they claim on their resumes. What most of them also don't realize is that a couple of interviewers and I are pretty good friends with the guy that actually designed that interface and led the team .

    Originally Posted by lowrez
    Would it be useful to mention my 1 completed semester? If so where? In coverletter, resume, interview?
    Reword it as "working towards a degree".

    Originally Posted by lowrez
    I have spent the majority of my free-time in life designing, writing, and exploring software as a hobby, so I don't have much work or life experience outside of that. The problem is, compared to most professionals I lack a lot of experience and education. Being a hobby coder has not exactly left me well rounded.
    I prefer hobby coders personally because they got into programming because they liked it. In my crews, few have a CS degree. We have Physics majors, a Music major, a Psychology and Philosophy major, a practising psychologist, high school grads etc. I have a mechanical engineering degree myself. Most of our best programmers got into programming as a hobby and run rings around the guys with CS degrees.

    Originally Posted by lowrez
    For example, to write a bubble sort, I would need some type of reference or at least a very detailed play by play explanation of how bubble sorts work.
    You might want to learn how it works then (or another sorting algorithm). Hell, I can still write a bubble sort and I learned how to write one way back in 1985 or so. You might also want to learn about the strengths and weaknesses of at least a few sort algorithms (e.g. bubble sort, insertion sort, quicksort etc.).

    Speaking of sorting, I once had to work with a VB6 programmer who insisted that I needed to install Access and create a DB named XXXX and a table named YYYY within it, so that his program could run on my desktop. Reason: His program had to sort about 12-15 strings and since he couldn't write a sort routine to save his life, his solution was to connect to the Access DB, truncate the table, write out his array contents into the table and then use a SQL SELECT statement to read it back from the database in order! Incidentally, the dude didn't know about Array.sort() either. That's not the sort of person I'd hire.

    Originally Posted by lowrez
    Also I have never been a fan of object oriented programing, so even though I have made syntactic use of OOP before, I didn't really commit any of it to memory. A case of look it up, use it once, forget about it.
    At my current job, my boss (who interviewed me) asked me what I thought about Object Oriented Perl and I promptly told him that I thought it was a very bad idea! Given that this company employed quite a few famous people in the perl world and used OO perl in quite a bit of the codebase, this reply might have been the kiss-of-death in some places. However, I told my boss that a lot of the OO perl stuff was really kinda pseudo OO anyway (e.g. using a hash for member variables, so a typo to a member name would be syntactically correct to the interpreter. This would compile fine, but would be very difficult to debug) and he was impressed that I had a perfectly valid opinion about it and hired me on the spot. I've since used OO perl in a lot of code myself. Moral of the story: If you have strong opinions about a subject, be prepared to justify your reasons. If you simply don't have much experience in a topic, simply state that you don't have much experience in that area, when it comes to the interview. Don't claim to not be a fan if you don't have a good reason to back it up.
    Up the Irons
    What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
    "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
    Down with Sharon Osbourne

    "I wouldn't hire a butcher to fix my car. I also wouldn't hire a marketing firm to build my website." - Nilpo

IMN logo majestic logo threadwatch logo seochat tools logo