Coding Careers and the path to get there

A place to discuss the implementation and style of computer programs.

Moderators: phlip, Moderators General, Prelates

User avatar
Okita
Staying Alive
Posts: 3071
Joined: Fri Aug 10, 2007 7:51 pm UTC
Location: Finance land.

Coding Careers and the path to get there

Postby Okita » Fri Oct 22, 2010 1:24 am UTC

On a whim the other day, I spent some time looking at various job posting for coding related fields. It seems to me that every coder is expected to have several years programming in Javascript or C++ or Unix etc etc. Lots of expectations of long-term experience but very little entry-level.

My mother, who was a programmer, told me of the "olden days" where she applied for the job and learned to code from the company.

I've also been told that computer science as a major is not actually that helpful towards getting employment.

So I'm curious as to how one makes that jump? Is it all self study? And if so, how does one make the move beyond beginner textbooks to the intermediate topics. What are the requisites for some person coming out of high school or college to get into a coding position?
"I may or may not be a raptor. There is no way of knowing until entering a box that I happen to be in and then letting me sunder the delicious human flesh from your body in reptile fury."

User avatar
Yakk
Poster with most posts but no title.
Posts: 11129
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding Careers and the path to get there

Postby Yakk » Fri Oct 22, 2010 1:34 am UTC

Often you'd get an entry-level position. In the middle of a recession, when they can hire experienced people for cheap, hiring entry-level coders isn't all that tempting.

If you are in the USA, your unemployment rate is near 10% right now. Even coders have gotten laid off -- so there are a pool of experienced coders that you are competing with for your first job.

You'll note that you can get years of experience coding without being paid for it, if you code as a hobby.

Right now, there are few majors that are helpful towards getting employment in the USA. Doctors and nurses, mayhap?
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

User avatar
Meteorswarm
Posts: 979
Joined: Sun Dec 27, 2009 12:28 am UTC
Location: Ithaca, NY

Re: Coding Careers and the path to get there

Postby Meteorswarm » Fri Oct 22, 2010 2:32 am UTC

As a student in a top CS program, I have perhaps a different perspective. Even though my CS program is somewhat lighter on software engineering than other schools (focusing more on theory), we have numerous companies that come to recruit fresh graduates for programming positions; I got an engineering internship at Google, and lots of other people worked there straight out of undergrad.

Part of this is that I've gotten a moderate amount of experience through my courses, but companies that want to grow understand that they need to hire some fresh grads, and there's no way for them to have extensive work experience. If you're in college, look around for possible employers, and try to get your hands dirty with programming projects.
The same as the old Meteorswarm, now with fewer posts!

User avatar
Okita
Staying Alive
Posts: 3071
Joined: Fri Aug 10, 2007 7:51 pm UTC
Location: Finance land.

Re: Coding Careers and the path to get there

Postby Okita » Sat Oct 23, 2010 4:14 am UTC

Meteorswarm wrote:Part of this is that I've gotten a moderate amount of experience through my courses, but companies that want to grow understand that they need to hire some fresh grads, and there's no way for them to have extensive work experience. If you're in college, look around for possible employers, and try to get your hands dirty with programming projects.


So does that mean programming employers are willing to teach entry-level? Somehow this seems to not be the case.

As for me, I'm out of college. I just realized my coding experience is woefully inadequate for a job. I still do it for myself but it's a big leap for coding something small to doing it as a job (like all skills/hobbies really). That big gap made me wonder what people did/learned in order to close it.
"I may or may not be a raptor. There is no way of knowing until entering a box that I happen to be in and then letting me sunder the delicious human flesh from your body in reptile fury."

squareroot
Posts: 548
Joined: Tue Jan 12, 2010 1:04 am UTC
Contact:

Re: Coding Careers and the path to get there

Postby squareroot » Sat Oct 23, 2010 4:19 am UTC

Does doing competitions like the USACO help in anyway?
Just curious...
<signature content="" style="tag:html;" overused meta />
Good fucking job Will Yu, you found me - __ -

User avatar
Entropy
Posts: 233
Joined: Sun Apr 20, 2008 9:40 pm UTC

Re: Coding Careers and the path to get there

Postby Entropy » Sat Oct 23, 2010 4:26 am UTC

Speaking from personal experience, I have found that the ability and motivation to go out and teach yourself whatever you want to know how to do is vital. A large part of my current job is 'figure out how to do this, then do it' - I spend a decent chunk of my workday learning, and it is not the company paying someone to teach me. If you require a teacher in order to acquire new skills then a good coding job is probably going to be difficult to obtain.

Edit: Ninja'd: Coding challenges definitely help... being presented with challenges and finding the information you need to solve them on your own is exactly what a job will require.

bieber
Posts: 223
Joined: Thu Mar 13, 2008 12:13 am UTC

Re: Coding Careers and the path to get there

Postby bieber » Sat Oct 23, 2010 4:47 am UTC

squareroot wrote:Does doing competitions like the USACO help in anyway?
Just curious...


Yes. I don't know about high school level, but I know the folks on my university's programming team who do well (my school routinely places very well in the regional ACM contests) garner a lot of interest from some very notable companies.

User avatar
Entropy
Posts: 233
Joined: Sun Apr 20, 2008 9:40 pm UTC

Re: Coding Careers and the path to get there

Postby Entropy » Sat Oct 23, 2010 5:18 am UTC

That said, the ability to do well in ACM contests (at least on site contests) does not imply the ability to do well at a job. Often contests have rules denying access to the internet or other resources while solving problems, and memorizing the types of problems you are likely to receive gives you the biggest edge. I know when I was in college there were teams that would memorize all of the lines of code in a utility library they wrote, and then spend the first two hours of the competition having someone reproduce them from memory.

If I were hiring, I would ask for a solution to a problem that someone on the team came across that day and give you a 2 hour timelimit to respond. I would then google your answers to make sure they were your own. My opinion of you would not be based on whether you had the right solution to the problem, but on what steps you took to solve that problem as quickly as you could.

User avatar
OmenPigeon
Peddler of Gossamer Lies
Posts: 673
Joined: Mon Sep 25, 2006 6:08 am UTC
Contact:

Re: Coding Careers and the path to get there

Postby OmenPigeon » Sat Oct 23, 2010 5:53 am UTC

As far as I can tell, hiring good programmers is right up there with P=NP as far as unsolved problems go. The hiring process is even further removed from day to day programming than schoolwork is. That said, here are the few things I've learned about finding jobs (with all my worldly experience of landing a job a few months after graduating and then being in the interview process for some people)

A good recruiter is worth their weight in gold. Most recruiters are crap. I have no idea how to a priori tell the difference, so unless you find a recruiter that lands you a good job, they're probably crap.
The only important part of a resume, at least to me, is the list of stuff you've done. Whether it was a serious school project or some oss patches or something you hacked up over the summer with a friend, or something completely unrelated to computers, candidates who do things are more interesting than candidates who just take classes. "Do things" can be very broad here.
Be articulate, passionate and detailed about your the things you've done. It doesn't matter as much whether they're relevant to the job at hand as whether they can expose the fact that you can learn and work effectively. Especially right out of school you're not going to find a job doing anything substantially similar to what you've been doing for the last few years, so you're going to have to pick it up as you go. Demonstrating that you can do this is key.
Learn to code away from a computer. Unless you're interviewers are assholes you won't need to write code that can compile perfectly, but if you're completely lost without autocomplete and have no idea how to do things like reverse an array or traverse a tree, that's not going to look good. To make your life easier on a whiteboard, always start writing as far left as you can (unless you write the other way) and always write your closing braces (if in a language that uses them) as far down as possible.

I just realized my coding experience is woefully inadequate for a job. I still do it for myself but it's a big leap for coding something small to doing it as a job (like all skills/hobbies really). That big gap made me wonder what people did/learned in order to close it.

In all seriousness? I got a job doing it. You may think that you do a lot of programming as a CS major, but you don't. The only reliable way to get better at doing something is by practicing it a lot, and immersing yourself in code for eight hours a day is a great way to do it. And no one's going to expect an entry level programmer to churn out hundreds of lines of rock-solid code from day one. On top of that, schools don't seem to teach the things that are *actually* important in a software shop. Version control, for instance. I'd spent about 20 minutes using CVS when I graduated, now you can take away my git when you pry it from my cold, dead hands. Also in this category: triaging bugs, filing bugs, talking to customers, reading other people's code, etc. WHY DOES NOBODY TEACH THESE THINGS? NOBODY GIVES A DAMN ABOUT SPLAY TREES. TEACH YOUR STUDENTS TO FILE BUGS WITH SIMPLE, COMPREHENSIBLE REPRO CASES. YOUR FAILURE TO DO THIS IS SETTING SOFTWARE BACK *DECADES*.

Sorry. I'm calm now.

That got a little silly, but it's also quite true. I resolved a thorny bug today without writing a single line of code, by instead finding and reading the relevant parts of two specification documents that total probably over 10K pages, finding and decoding thirty or so bytes of some structured binary data, reading the relevant part of a 6K line file that someone else a different company wrote two or three years and filling a page of notes on the source of a bool variable, then editing an Excel file in a hex editor. That sounds like a lot of complicated stuff, but it's actually not, because I've been reading and implementing those ten thousand pages of spec for a few months, and I've been working with the binary data for longer than that, and the code I had to read was pretty well structured and commented and I've been working with it for a little over a month and editing Excel files in a hex editor never gets old, and did I mention I've been working with the internals of Excel files for months and months. You see a theme. I suspect this holds true for most jobs, but especially with an entry level position you're going to be learning how to do your job as fast as you do it. I would not have been able to do any of those things effectively when I was hired. But now I do.

Wheee, wall of text. If you've managed to read this far without passing out and you're in the Boston area, hit me with a pm. I can't guarantee anything, of course, but I can pass along whatever resume/cover letter/whatever to the right people at where I work. We're definitely hiring.
As long as I am alive and well I will continue to feel strongly about prose style, to love the surface of the earth, and to take pleasure in scraps of useless information.
~ George Orwell

User avatar
Entropy
Posts: 233
Joined: Sun Apr 20, 2008 9:40 pm UTC

Re: Coding Careers and the path to get there

Postby Entropy » Sat Oct 23, 2010 6:44 am UTC

OmenPigeon wrote:A good recruiter is worth their weight in gold. Most recruiters are crap. I have no idea how to a priori tell the difference, so unless you find a recruiter that lands you a good job, they're probably crap.


The way to tell is to get a coding job, and then filter the spam you get as a result of leaving your resume online <_<

Recruiters do not know much about coding and do not care... they match keywords in resumes to keywords in job listings and try to get themselves a cut. I get so much spam from recruiters I have had to create an email filter... this job generates vultures. If you are a coder and you get to talk to someone who is a coder at the company, you will be able to connect with that person. Remember an interview goes both ways. Talk to them like a fellow human being, ask them what is fun and what is frustrating about where they work. If you talk to them one on one, and genuinely, they will tell you.

User avatar
Yakk
Poster with most posts but no title.
Posts: 11129
Joined: Sat Jan 27, 2007 7:27 pm UTC
Location: E pur si muove

Re: Coding Careers and the path to get there

Postby Yakk » Sat Oct 23, 2010 11:42 am UTC

My first coding job was a coop placement after 8 months of university. So by the time I graduated, I had ~3 years of paid coding under my belt (starting at near min. wage -- about 20% higher? plus benefits, and going up from there).

You probably have expertise that isn't directly coding related (heh). Leveraging that could help (are there any companies who need someone to code on projects related to your area of expertise?) Creating your own medium scale projects can also generate expertise.
One of the painful things about our time is that those who feel certainty are stupid, and those with any imagination and understanding are filled with doubt and indecision - BR

Last edited by JHVH on Fri Oct 23, 4004 BCE 6:17 pm, edited 6 times in total.

0xBADFEED
Posts: 687
Joined: Mon May 05, 2008 2:14 am UTC

Re: Coding Careers and the path to get there

Postby 0xBADFEED » Sat Oct 23, 2010 3:36 pm UTC

Okita wrote:I've also been told that computer science as a major is not actually that helpful towards getting employment. What are the requisites for some person coming out of high school or college to get into a coding position?

A CS degree is the standard/traditional educational entry-token to the software industry. But really any technical degree is probably good enough. Physics, math, or any engineering discipline plus some demonstrated programming experience is usually as good as a CS degree. And depending on the job/degree pairing could be significantly better.

That said, a CS degree is probably pretty helpful in getting entry-level programming jobs. If you don't have a lot of notable experience, it's probably your best bet at getting your foot in the door. That's not to say it completely prepares you for any possible coding job (not even close). Coding is probably the least important thing you do in a CS program. The main value of the degree is in exposing you to many topics across different areas of computing. Coding is usually only incidental to some other concept under discussion and a CS program will not teach you how to program; you'll largely learn to program on your own. The main points the degree has going for it are: exposure to a wide range of different technical topics, building relationships with other people in your field (i.e. networking), it's more highly regarded (generally) than a 2-year program, and assistance with internships/placement. Also if you attend a research university there's tons of opportunities to do things like work as an undergrad research assistant, where you typically do some programming in some supportive role on a research project (test cases, writing utilities, automation, etc). This can be great to build up your experience even when internships are in short supply.

If I'm hiring someone the most important thing is demonstrated ability. If they can show me non-trivial projects or other tangible evidence of ability, that's a big win. In general, work experience is more important and more valuable (in a job-getting sense) than education. A CS education would be a good start, but that alone won't get you the job and after a few years experience most people won't care whether or not you have a CS degree (although lots of places might care that you at least have some sort of college degree). The overwhelmingly vast majority of programming jobs don't require the level of theory and math that you learn in a CS degree. You should also consider alternatives like a 2-year programming degree from a reputable tech-school. I definitely place a candidate with a 2-year degree + significant personal projects way ahead of someone who just spent 4 years getting a CS degree with nothing else to show for it.

squareroot
Posts: 548
Joined: Tue Jan 12, 2010 1:04 am UTC
Contact:

Re: Coding Careers and the path to get there

Postby squareroot » Sun Oct 24, 2010 1:35 am UTC

Entropy wrote:Edit: Ninja'd: Coding challenges definitely help... being presented with challenges and finding the information you need to solve them on your own is exactly what a job will require.


Yay! And I just completed the USACO's Gold qualifying round, having solved all test cases. :D Considering I've never taken any CS/Programming class, I'm pretty proud of that. :)
<signature content="" style="tag:html;" overused meta />
Good fucking job Will Yu, you found me - __ -

User avatar
Berengal
Superabacus Mystic of the First Rank
Posts: 2707
Joined: Thu May 24, 2007 5:51 am UTC
Location: Bergen, Norway
Contact:

Re: Coding Careers and the path to get there

Postby Berengal » Sun Oct 24, 2010 1:54 am UTC

If you're having trouble getting hired as a programmer, try getting hired for another desk job where you can program on your own to help you with your day-to-day job. Your company needs to not take issue with "non-techies" programming, and not have overly complex systems you need to interface with, like 15 year old internal apps. Small companies and startups are therefore your best bet here.

If you get a part-time job in a company that has a programming department flexible enough to give part-time interns real responsibility, you could ask to intern there for a few months. This is useless if you won't get to work on something real, but if you do and you do have real skills they might be willing to accept you as a transfer once the intern time is over.

Basically, if you can't get a job as a programmer, get a job as something else and program anyway.
It is practically impossible to teach good programming to students who are motivated by money: As potential programmers they are mentally mutilated beyond hope of regeneration.

Dark567
First one to notify the boards of Rick and Morty Season 3
Posts: 3686
Joined: Thu Jun 25, 2009 5:12 pm UTC
Location: Everywhere(in the US, I don't venture outside it too often, unfortunately)

Re: Coding Careers and the path to get there

Postby Dark567 » Sun Oct 24, 2010 8:02 am UTC

Entropy wrote:
OmenPigeon wrote:A good recruiter is worth their weight in gold. Most recruiters are crap. I have no idea how to a priori tell the difference, so unless you find a recruiter that lands you a good job, they're probably crap.


The way to tell is to get a coding job, and then filter the spam you get as a result of leaving your resume online <_<

So true.....

Anyway, CS is definitely a way to get your foot in the door to programming jobs. I would definitely keep your eye out for entry level positions though, I work as a technology consultant and have worked with a lot of firms that are hiring people at all levels.
Last edited by Dark567 on Wed Oct 27, 2010 12:49 pm UTC, edited 1 time in total.
I apologize, 90% of the time I write on the Fora I am intoxicated.


Yakk wrote:The question the thought experiment I posted is aimed at answering: When falling in a black hole, do you see the entire universe's future history train-car into your ass, or not?

poohat
Posts: 230
Joined: Mon Apr 07, 2008 6:21 am UTC

Re: Coding Careers and the path to get there

Postby poohat » Wed Oct 27, 2010 7:59 am UTC

edit: nevermind

User avatar
Cleverbeans
Posts: 1378
Joined: Wed Mar 26, 2008 1:16 pm UTC

Re: Coding Careers and the path to get there

Postby Cleverbeans » Mon Nov 01, 2010 8:30 pm UTC

Berengal wrote:If you're having trouble getting hired as a programmer, try getting hired for another desk job where you can program on your own to help you with your day-to-day job.


This was my career path. I began working as a CAD operator doing technical drawings for an engineering firm, and started working on scripts to automate monotonous tasks. Within the first couple of months my manager noticed and put me in contact with the programming group to start collaborating. After a year I was programming full-time and have been doing so since. I am entirely self-taught for programming using the resources I found at MIT OpenCourseWare primarily with language/API specific forums and documentation as a supplement.

I would say your education is less significant than your experience, and if you have no eduction or experience then build a portfolio of projects to demonstrate your skills. There was a fellow on the CivFanatics forums who had modified some of the AI for Civ4 by making some changes to the supplied Python code which were popular with the community there and he was hired on by Firaxis to work on Civ5 as a result. I think if you roll up your sleeves and get your hands dirty you'll find where your talents and interests are then contributing to a community until you either get noticed spontaneously or can justify your claims of experience. Personally, I think employers will definitely notice that you required no external motivation to do the work on projects other than interest and desire to contribute which will give you a competitive advantage over those who just came out of college but haven't done anything in the meantime. The only negative to self-taught programming is ensuring your code is "socially viable" ie. well-documented, logically structured, and meaningfully describes the problem it's intended to solve. Probably the hardest transition was going from writing code for my own use to code for others to use, and the sooner you can make that transition the better. Online communities like this one are of course invaluable to your development in isolation so active participation is invaluable, but you probably already know that.
"Labor is prior to, and independent of, capital. Capital is only the fruit of labor, and could never have existed if labor had not first existed. Labor is the superior of capital, and deserves much the higher consideration." - Abraham Lincoln

User avatar
Arancaytar
Posts: 1642
Joined: Thu Mar 15, 2007 12:54 am UTC
Location: 52.44°N, 13.55°E
Contact:

Re: Coding Careers and the path to get there

Postby Arancaytar » Tue Nov 02, 2010 10:59 am UTC

Coding challenges may help, but your best bet to gain practical experience without being employed is in open source. Just find a reasonably active community project written in the language you want to teach yourself, read the code and documentation, hack around with it and try to submit patches for some of the easier bugs.

Some software projects have a "novice" tag for simple issues that are good for learning the development process.

Note that actual coding is only a part of the experience required for a professional software developer; coding in isolation helps you learn the language, but it is vital to get familier with version control, bugtrackers, code reviews etc.

I'll agree that majoring in Computer Science (which I am doing) does not automatically make one a good software developer, nor that it is required to become one. However, the major will teach fundamental principles and a way of approaching problems that makes it a lot easier to grasp programming in many different languages, and that would otherwise take a lot more time to pick up from practical experience.
"You cannot dual-wield the sharks. One is enough." -Our DM.
Image


Return to “Coding”

Who is online

Users browsing this forum: No registered users and 6 guests