views:

603

answers:

12

Whats the best way to enter into a coding career? Do you need formal education and degrees or just a good portfolio? What programming languages are needed? Should you know more, or should you be specialized? Do you even have to attend college or a University, can you enter into one right outside of High School? What are your thoughts and experiences?

And how do you go about finding a job in coding?

(I, myself, am looking for answers in relation to PHP Coding)

+2  A: 

I never got a degree, and just started doing some low level PHP work for a web design company when I was about 14. That worked, so I just kept moving up the ladder. Now I'm doing C# application development for a larger company, which is working very nicely.

Start with whatever language feels good to you, as long as people will pay you.

Alex Fort
+7  A: 

Going to college definitely is a big plus and learning as much as you can in a formal environment is not a bad thing. My thought is that to be a good programmer, you need to have a strong foundation in computer science. Of course, it is possible to get a job if you can meet the right people and so forth, just by learning a little PHP/MySQL and just going in that direction. There is a lot more to programming, however.

If you learn on your own and then start contributing to open source projects (say on Source Forge) then you can start building your portfolio and have something to put on a resume and say "Here, I can program and here are the projects I have contributed to."

BobbyShaftoe
+7  A: 

I'm a PHP programmer. My story is:

  • Started writing HTML when the web was still young... 28.8 modem days, so not right at the beginning but pretty close
  • Soon moved on to Javascript, which I became very proficient at (wrote stuff that you wouldn't believe could run on Netscape 4!)
  • Went to uni to study... Physics. Started programming ASP in the first year (in JScript of course) but soon gave it up and moved to PHP.
  • Graduated 4 years later and got the first job I applied for as a PHP programmer.

In conclusion I'd say for a PHP programmer, you need a solid knowledge of PHP, HTML, CSS. A good knowledge of SEO and AJAX will also help you.

Probably the most important thing is that you can demonstrate you are good at problem solving and logical (and critical) thinking.

Greg
I was starting to think that this was a setup for a joke about how you need a degree in Physics to be a PHP programmer. :)
Bill the Lizard
+1  A: 

I think this question is best answered by an experienced manager, but I'll give you my opinion. I went from coding purely for fun which I started to do when I was 14, to coding professionally after a formal education (with some other things in between).

If you don't have a formal education a portfolio could get you there. I think you need some kind of proof that you're able to do the job. While good degrees doesn't translate directly into ability to perform professionally it certainly gives a hint that this person is able to study and learn new things.

If you create one or two really nice sites, perhaps something a bit more advanced like communities, then I think that will be enough. Sprinkle some AJAX goodness over it using jQuery too, for the extra touch.

DeletedAccount
+2  A: 

There are many ways to get into a coding career, ranging from totally informal (say, hacking on some simple web stuff in your spare time) to totally formal (an undergraduate / graduate education in Computer Science). In my experience, the world of programmers is quite heterogeneous in this respect, and everyone has their own path. What's shared (in most cases) is a love of problem solving, a knack for fixing things, and a logical, organized mind.

I would say that the "best" (and the way I now wish I'd gone originally) is to do formal learning, in a school setting - maybe not from the very beginning, but at some point. There are lots of complex, subtle topics in CS that truly can't be learned by just "hacking" (not to disparage that term, it's got its uses for learning as well). There comes a time when you really need to put in disciplined, structured work in learning. At that point, doing it in spare time, or on the job, isn't ideal, because there are other priorities (life, family, business objectives, etc.) and the hardest concepts typically go by the wayside in favor of less rigorous but more expedient solutions.

Ian Varley
A: 

Check randommanager.blogspot.com He's (presumably) an HR manager who has a lot of blots relating to this topic.

Blockquote

Jin Kim
"Blockquote"... it's profound... zen-like even.
Greg
I agree, why wasn't this selected as the accepted answer? ;-)
DeletedAccount
+2  A: 

I started my career in 1986 without a degree and only recently completed my degree. The degree is helpful in getting in the door for an interview in a tight job market, but most of my development skills were acquired through “on the job training” rather than classroom knowledge.

However, I think the job market is a lot different and it seems a lot more difficult to enter a coding career without a degree than it was in 1986.

Kevin
Me too, very similar story except I entered the job market a few years later. Not having a degree costs you money every now and then--I've had companies lower their offers and Sharp Labs loved my interview/work experience but changed their minds when they found out I didn't have a degree.
Bill K
+3  A: 

I'll share how I broke into coding, and hopefully it will be helpful to you.

When I was in High School, one of my teachers told us a story of when he was in college. He wanted a job as a DJ for the university's radio station. So, he bought one of those huge Rock and Roll Encyclopedias, and carried it around everywhere he went. A few months later when a position opened, he was offered the DJ job. Everyone saw him with that book, and assumed he was an expert in subject. The thing was, he never read a word of the book.

Now, you won't get a job coding simply by carrying around a PHP and book, and not reading it, but this teachers story inspired me to continuously learn new technologies and to do so conspicuously, letting everyone know in both subtle and non-subtle ways what you are learning.

Months after hearing this story, I was a a freshman at University, and I was very anxious to start coding professionally. I'd been coding in Atari Basic, and then (now) old versions of Visual Basic since I was 8 years old, and didn't want to wait until I graduated four years later to start making money with it. I was teaching myself HTML and (Classic) ASP on the side, and really came to like web development.

I wasn't very confident in my abilities at that point, and I just wanted to get some kind of a job working with computers at a company that had a development department. In that vein, I applied for a job at a local Internet Service Provider who was hiring folks to support their Dial-Up Internet service. I got the job, and I'm fairly certain it was due to the fact that I was carrying around O'reily's TCP/IP Networking book when I went to the interview and this impressed the interviewer.

After getting my foot in the door, instead of spending my lunch hours eating with people in the support department or alone, I'd walk up to the web development department and bug the folks there. I'd show them what I was working on for little side projects, and they'd show me what they were working on. I hang out behind them, watching them code (they didn't seem to mind) and soon I was making suggestions when they got stuck. A while later, I'd come up and volunteer to help code things (on my own) in the evenings when they were close to a deadline (for free).

After a few months of this, they offered me a job in the department, when one of the other developers left.

So in summary:

  1. Always be learning new things, and make sure people know you are learning them (Don't just fake it like my High School teacher)
  2. Work on your own development projects. This is the most important thing. You need to be able to show people your can actually get stuff done
  3. Don't be afraid to get a non-coding job to get your foot in the door.
  4. if you do (3), spend as much free time as possible working with the people in the company who actually do programming, but make sure you are providing value

Of course, this strategy wouldn't work for everyone, and wouldn't work at every company, but it can work.

Tristan Havelick
+1  A: 

Depends on what kind of coding you want to do.

If the job you want is Corporate Developer Drone:

To get paid well in a corporate environment where 0 creativity is required, you are to focus on the SPEED of deployment versus the quality of code, if it WORKS, everyone smiles and nods, even if it has the elegance and flexibility of a chunk of concrete, generally speaking you don't have to work TOO hard coding because you spend 50% or more of your time in meetings, filling out documentation, and interfacing with other teams.

Generally your employer would like you to work 60 hour weeks, and you can barely punch through 40.

For this job, focus on the letters behind your name. Get a degree or two, mad certifications, all manner of paperwork that explains how you are qualified. Take some PROJECT MANAGEMENT training, and read some books on

As much as that sounds like a fire, it isn't. That is a job I have had repeatedly (though I got to them through the alternate path). These are usually corporate jobs, and your ability to code is almost completely irrelevant. The pay is usually 25% higher.

OR If the job you want is Code Monkey:

To get paid to do what you do, building and improving code in an environment that supports the expression and development of coders into engines of awesome. They pay is not epic, but the pleasure of working there is palpable.

For this job you need to code. Almost universally these are groups that are filled with and run by programmers. BS will not work here. I've been interviewer and interviewee in these groups, nobody cares if you have a degree, it can actually be a detriment in some cases. "Since you started school, the entire industry changed twice, how often did you get new textbooks?" Most of these teams care how you SEE code, is it a job or a passion. And you better be able to back it up.

Generally your employer would be happy if you worked 38 hour weeks, and you can barely pull yourself away after 50.

Finally there is the alternate path:

Keep coding. Code when you're working as a mechanic. Code when your working as a mortician. Code until your fingers bleed.

Eventually you just get "seasoned" and it gets almost too easy to get a job in the industry.

OhkaBaka
+2  A: 

Go to university if you're young. A degree in CS or Software Engineering (if you can find a program) will always hold you in good stead, especially in tough times like these. 8 Years ago you didn't need a degree to progress quickly in a programming career. You can still get a job now without a degree, but career progression is harder.

If you're older and already have a bachlor's, do a master's in Software Engineering.

A: 

To be honest, the easiest way is to start going to college for a degree in computer science, or something along those lines. But you don't have to if you don't want to. I didn't, I got my degree in a non-engineering major, and from my experience it was much harder to get a job that way. But it's possible. I took a couple computer science classes to help my understanding (C/C++, Java, Assembly) and learned the rest on my own starting pet projects and working on SourceForge. The key is to program a lot. If you don't major in computer science like I did, just program in your spare time. You'll learn a lot on your own, screwing up on projects like I did.

While you don't need a degree, it really helps a lot nowadays. A lot of employers just ignore resumes of people without a degree. Not fair maybe, but it's reality.

It doesn't really matter what programming language you know. What's really important is to know the fundamentals of programming, the learning of the languages themselves is very easy if you have a solid understanding of programming concepts. My opinion is that if you become skilled in a couple languages, for example Java and C++, then it becomes much easier to learn new languages because there are so many that are similar to Java and C++.

Ryan Thames
A: 

I'd say the best way is to find a college or university that has a co-operative education or internship program where part of the education is on the job. Universities may be a bit more snobby than colleges though in some cases they are together, i.e. on the campus of the university is a number of colleges. Having a good portfolio helps if you freelance and intend to have a career from that perspective. Others may just get into research about coding and stay in academia. All programmers are somewhat specialized as nobody could stay abreast of all the changes to the world of software development, both from a tools/technologies to use side as well as from a process improvement/software development life cycle side.

For myself, I went right into university and got my degree with CS as one of my majors. It was a good education, though I did have a tough time at first in a corporate environment. Granted that co-op didn't pan out for me, but I suppose I may be in that minority that needed a little more help in how to handle some things on the job. I'm also pretty heavily into Microsoft technologies, ASP.Net, MS-SQL Server, IIS, etc.

Given that you mention PHP, would you want to know the rest of a LAMP architecture for example? Or do you want to just stick to PHP and work with nothing else? These are potentially extreme views, but then there are likely a variety of coding positions out there for those with the PHP skills. Do you want to be at a company that builds websites, or do you want to be in an IT department for a company working on their websites? Do you want to be a contractor that freelances or do you want a 9 to 5 job? These are just some of the questions you have to figure out for yourself. Another question is whether or not recruiters looking for PHP people are in your area that may be able to hook you up with a cool job, as I have had a couple of good experiences with recruiters and many so-so to bad ones.

JB King