I would say to remember that as well as finding a job (that you may need BADLY), you need to find the right job.
If you’re looking for your first job, there must be a reason? Why do you want to do programming? Use the same thinking to find the company that fits. It may be tempting to take the first job to get a foot in the door of the industry, but quickly that job could become a run of the mill daily grind.
If you can, hold off. You’ll know the right one when it comes along.
I won't give any specific tips (a lot of good ones have already been shared), but I'll tell you how my two brothers and I did it.
My older brother started coding in high school. He was really good at it and picked up a few gigs before he went away to college. Later on, he got a job as a QA Engineer (if there was ever a job more in demand and less in supply than software development...) and after a year or two writing Selenium test suites, his company gave him a spot on the programming team.
I also coded a bit in high school -- I wrote programs in BASIC on my TI calculator to make my calculus homework go faster, and messed around a little with Visual Basic, Dark Basic, Python, C++ and a couple others -- but I wasn't nearly as prodigious as my brother at that point. In college I got a job doing technical support on campus, with no qualifications other than "I'm good with computers." Student jobs tend to have lower barriers to entry. There was a lot of downtime at that job (there was a period of, like, two months where nobody was opening strange email attachments; it was great). My coworkers watched Netflix and surfed the web during downtime, but I decided to spend that time learning HTML, CSS and JavaScript. I bought a domain name and built my personal website.
After that year I took two years off to serve as a Mormon missionary, and when I came back, the software boom was in full swing. I couldn't pass any coding interviews, but with my tech skills and the courses I'd taken toward an English degree, I got a job as a technical writer for the university's online education department. I shared a cubicle with some of the QA engineers, saw a lot of the work they did, and realized I'd be good at it. I offered my help to their team lead, who was surprised but offered me a couple of tasks to see if I could figure them out. (I could.) Whenever I had time to spare from my regular work, I would help out the QA team, and eventually I changed my job title to "Technical Writer / QA Engineer". Not much later, I changed jobs to another department, doing QA engineering for a higher rate per-hour. I worked hard there (in the words of my supervisor: "The first QA that's written any useful tests") and before long they offered me a spot on one of their web development teams. And a few months later they moved me to the architecture team.
A few months before I graduated, my brother referred me to a startup, who offered me a part-time position, transitioning to full-time after graduation, at almost double what I was earning. I said yes and I've been with them ever since. So much for my English degree.
My little brother has always been good with computers, but never did any coding. University wasn't for him and he was struggling to decide where to take his career. My older brother and I encouraged him to try programming; for some reason we thought he might have a genetic predisposition for it 😉. So he signed up for a local code bootcamp. He just graduated from it a month or so ago, and he already has a paid internship lined up with an awesome company...as a QA engineer. And there's a good chance they'll take him full-time once the internship is over.
I guess the three of us have walked a very similar path.
Under 22 years old, diploma from a school that didn't exist two years ago, ten years of professional experience, five years experience in technologies released a year ago, skills of a senior, salary expectations of an intern.
Be honest about your abilities.
Be enthusiastic to learn (and be vocal about your desire to do so).
Brush up/start to learn any prerequisit tech.
Be friendly and try to relax.
One of the most understated considerations is often team fit, and the is arguably one of the more important qualities that a team would seek. Practice your soft skills and set realistic but positive expectations into the recruitment team.
Your goal is to be enthusiastic, optimistic, and above all, someone that people would want to work with.
Apply even though you do not meet the requirements. One requirement of my first programming job was have a degree in computer science, I didn't have it but I got the job because I showed that I had the skills.
Have passion to learn and display it in the interviews. I interview programmers and those who get my attention are those that get excited learning new things, and demonstrate to have skills to learn fast.
Write code: personal projects, experiments, every little piece of code helps to show your skills and what are your areas of interest.
Use whatever opportunities you can to build your experience.
Are you entering things manually into a spreadsheet? Build a little VBA app that'll speed up your data entry.
Do you need to do reporting on some spreadsheets? Write a macro (or a console app) that'll take all that information and spit it out into something coherent.
I think its super important, especially in the early days, to take whatever you can. It doesn't need to be a massive custom build app in the latest frameworks (though hell, if you can do that good luck to you!). It just needs to be something demonstrable, where you can prove you've learnt something, and that you're willing to be inventive.
Another thing you can do is to reach out to not-for-profit/charity organisations, and see if there's anything small they need built. A lot of the time, these organisations are strapped for cash and will appreciate any assistance. Before starting any work you still probably want to talk to a lawyer and ensure you're not signing yourself up for trouble.
Software Development team leader with 17 years experience in industry. Coding since 8 years old. By day leading dev teams to deliver solutions for a University and by night building systems for fun.
There's a lot of good advice on this thread already, so I will just say: show willingness to learn more. Show that you want to invest in your self development, that whatever tools are thrown at you that you're open to them and spend time learning (and failing). Enthusiasm for this is attractive to an employer. I've hired people who didn't even fit 70% but I could see the potential to be developed.
That's amazing. Can I ask what got you into programming in the first place? I'll often talk to a teenager who I think has awesome aptitude for programming, but I can rarely persuade them to get serious about it.
When applying for your first job, you should accept that no matter how good you might be compared to your school mates or similar you are likely far from being a good programmer. However, there is some hope with proper work experience for you to become one.
Figure out what kind of things make you excited, do you want to work on web frontend, server-side applications, desktop applications, OpenGL, C#, or what?
Try to find some companies that you find interesting and are working with the things that make you excited.
Figure out from their job applications, blog, application code, GitHub, etc. as best you can what technologies they are using. Pay attention to any extra tools they mention in their job applications as useful to know for the job.
Try to learn some of these technologies, and look into alternatives. Publish your code in GitHub.
Try your best to pay extra attention to things that will be important when working in teams: README.md with clear instructions on how to use the project, clean code with clear structure, automated tests, decent version control practices.
Start sending out applications with the best CV and introduction note you can come up with, spend time looking up templates you like and actually filling in interesting information. Keep your CV down to 1-2 pages. These can gladly largely be copy & pasted, but mention why specifically the company you're applying to seems interesting to you. Make sure you include links to your relevant and most impressive GitHub projects.
Now, if you do manage to get yourself an interview they will not likely be impressed by your existing knowledge, but passion and drive to learn can be very strong indicators for success in a working environment.
It is very common, especially for junior positions, for the companies to ask for you to perform a small programming test. You should expect to spend a few evenings on that at an early stage in the interview process.
Prepare to be questioned about every decision in your code, and people pointing out bugs and such. They will likely want to hear your reasoning to see how much you only copy & pasted other people's stuff without understanding it.
Hiring a guy who has no practical work experience is always a big risk and an investment, they will not want to do it unless it seems you are worth it so do your best to convince them of your interest in learning from them.
Our team is broader than straight programming, but I think the broad digital realm can get the same suggestions. A big thing for me as a the supervising manager and initial interviewer is narrative -- when you have a good story, a good "this is what got me into digital stuff," or a good "this is how I can use my past experience that isn't necessarily digital to help the team," I feel more compelled to move someone along the hiring path.
An example from me - I connected what I now know as UX to survey design in my political science background, and UX and behavioral conversion rate optimization is a big part of my wheelhouse right now. Making those connections also shows that you're capable lateral thinking - a huge skill in programming, especially in smaller and less-organized teams.
Latest comments (32)
I would say to remember that as well as finding a job (that you may need BADLY), you need to find the right job.
If you’re looking for your first job, there must be a reason? Why do you want to do programming? Use the same thinking to find the company that fits. It may be tempting to take the first job to get a foot in the door of the industry, but quickly that job could become a run of the mill daily grind.
If you can, hold off. You’ll know the right one when it comes along.
I won't give any specific tips (a lot of good ones have already been shared), but I'll tell you how my two brothers and I did it.
My older brother started coding in high school. He was really good at it and picked up a few gigs before he went away to college. Later on, he got a job as a QA Engineer (if there was ever a job more in demand and less in supply than software development...) and after a year or two writing Selenium test suites, his company gave him a spot on the programming team.
I also coded a bit in high school -- I wrote programs in BASIC on my TI calculator to make my calculus homework go faster, and messed around a little with Visual Basic, Dark Basic, Python, C++ and a couple others -- but I wasn't nearly as prodigious as my brother at that point. In college I got a job doing technical support on campus, with no qualifications other than "I'm good with computers." Student jobs tend to have lower barriers to entry. There was a lot of downtime at that job (there was a period of, like, two months where nobody was opening strange email attachments; it was great). My coworkers watched Netflix and surfed the web during downtime, but I decided to spend that time learning HTML, CSS and JavaScript. I bought a domain name and built my personal website.
After that year I took two years off to serve as a Mormon missionary, and when I came back, the software boom was in full swing. I couldn't pass any coding interviews, but with my tech skills and the courses I'd taken toward an English degree, I got a job as a technical writer for the university's online education department. I shared a cubicle with some of the QA engineers, saw a lot of the work they did, and realized I'd be good at it. I offered my help to their team lead, who was surprised but offered me a couple of tasks to see if I could figure them out. (I could.) Whenever I had time to spare from my regular work, I would help out the QA team, and eventually I changed my job title to "Technical Writer / QA Engineer". Not much later, I changed jobs to another department, doing QA engineering for a higher rate per-hour. I worked hard there (in the words of my supervisor: "The first QA that's written any useful tests") and before long they offered me a spot on one of their web development teams. And a few months later they moved me to the architecture team.
A few months before I graduated, my brother referred me to a startup, who offered me a part-time position, transitioning to full-time after graduation, at almost double what I was earning. I said yes and I've been with them ever since. So much for my English degree.
My little brother has always been good with computers, but never did any coding. University wasn't for him and he was struggling to decide where to take his career. My older brother and I encouraged him to try programming; for some reason we thought he might have a genetic predisposition for it 😉. So he signed up for a local code bootcamp. He just graduated from it a month or so ago, and he already has a paid internship lined up with an awesome company...as a QA engineer. And there's a good chance they'll take him full-time once the internship is over.
I guess the three of us have walked a very similar path.
Under 22 years old, diploma from a school that didn't exist two years ago, ten years of professional experience, five years experience in technologies released a year ago, skills of a senior, salary expectations of an intern.
A few tips:
Be honest about your abilities.
Be enthusiastic to learn (and be vocal about your desire to do so).
Brush up/start to learn any prerequisit tech.
Be friendly and try to relax.
One of the most understated considerations is often team fit, and the is arguably one of the more important qualities that a team would seek. Practice your soft skills and set realistic but positive expectations into the recruitment team.
Your goal is to be enthusiastic, optimistic, and above all, someone that people would want to work with.
Apply even though you do not meet the requirements. One requirement of my first programming job was have a degree in computer science, I didn't have it but I got the job because I showed that I had the skills.
Have passion to learn and display it in the interviews. I interview programmers and those who get my attention are those that get excited learning new things, and demonstrate to have skills to learn fast.
Write code: personal projects, experiments, every little piece of code helps to show your skills and what are your areas of interest.
Use whatever opportunities you can to build your experience.
Are you entering things manually into a spreadsheet? Build a little VBA app that'll speed up your data entry.
Do you need to do reporting on some spreadsheets? Write a macro (or a console app) that'll take all that information and spit it out into something coherent.
I think its super important, especially in the early days, to take whatever you can. It doesn't need to be a massive custom build app in the latest frameworks (though hell, if you can do that good luck to you!). It just needs to be something demonstrable, where you can prove you've learnt something, and that you're willing to be inventive.
Another thing you can do is to reach out to not-for-profit/charity organisations, and see if there's anything small they need built. A lot of the time, these organisations are strapped for cash and will appreciate any assistance. Before starting any work you still probably want to talk to a lawyer and ensure you're not signing yourself up for trouble.
There's a lot of good advice on this thread already, so I will just say: show willingness to learn more. Show that you want to invest in your self development, that whatever tools are thrown at you that you're open to them and spend time learning (and failing). Enthusiasm for this is attractive to an employer. I've hired people who didn't even fit 70% but I could see the potential to be developed.
I'm 16 and just got my first programming job. Granted, it doesnt pay much @ 14/hour, but it's something.
For me was, just keep asking, keep applying, and don't give up.
That's amazing. Can I ask what got you into programming in the first place? I'll often talk to a teenager who I think has awesome aptitude for programming, but I can rarely persuade them to get serious about it.
When applying for your first job, you should accept that no matter how good you might be compared to your school mates or similar you are likely far from being a good programmer. However, there is some hope with proper work experience for you to become one.
Figure out what kind of things make you excited, do you want to work on web frontend, server-side applications, desktop applications, OpenGL, C#, or what?
Try to find some companies that you find interesting and are working with the things that make you excited.
Figure out from their job applications, blog, application code, GitHub, etc. as best you can what technologies they are using. Pay attention to any extra tools they mention in their job applications as useful to know for the job.
Try to learn some of these technologies, and look into alternatives. Publish your code in GitHub.
Try your best to pay extra attention to things that will be important when working in teams: README.md with clear instructions on how to use the project, clean code with clear structure, automated tests, decent version control practices.
Start sending out applications with the best CV and introduction note you can come up with, spend time looking up templates you like and actually filling in interesting information. Keep your CV down to 1-2 pages. These can gladly largely be copy & pasted, but mention why specifically the company you're applying to seems interesting to you. Make sure you include links to your relevant and most impressive GitHub projects.
Now, if you do manage to get yourself an interview they will not likely be impressed by your existing knowledge, but passion and drive to learn can be very strong indicators for success in a working environment.
It is very common, especially for junior positions, for the companies to ask for you to perform a small programming test. You should expect to spend a few evenings on that at an early stage in the interview process.
Prepare to be questioned about every decision in your code, and people pointing out bugs and such. They will likely want to hear your reasoning to see how much you only copy & pasted other people's stuff without understanding it.
Hiring a guy who has no practical work experience is always a big risk and an investment, they will not want to do it unless it seems you are worth it so do your best to convince them of your interest in learning from them.
Our team is broader than straight programming, but I think the broad digital realm can get the same suggestions. A big thing for me as a the supervising manager and initial interviewer is narrative -- when you have a good story, a good "this is what got me into digital stuff," or a good "this is how I can use my past experience that isn't necessarily digital to help the team," I feel more compelled to move someone along the hiring path.
An example from me - I connected what I now know as UX to survey design in my political science background, and UX and behavioral conversion rate optimization is a big part of my wheelhouse right now. Making those connections also shows that you're capable lateral thinking - a huge skill in programming, especially in smaller and less-organized teams.