Self taught programmers - how did you get your first dev job

  • Java
  • Thread starter TheMacNerd
  • Start date
  • #1

Main Question or Discussion Point

Hi, I'm wondering how long it took for you and how difficult it was for self-educated/taught computer programmers to land your first computer programming job. I don't care whether it was a temporary/contract job or an internship or whatever. And what did you do to land your first developer job?

Answers and Replies

  • #3
Staff Emeritus
Science Advisor
Insights Author
One route is freelancing, using an online service such as Freelancer. However, I have to warn you that typically, if you don't have a record of success, then your freelance jobs will be really hard. You'll work many hours for essentially peanuts. But, the idea is that you establish a record of successes and happy customers that you can point to for future jobs. If you can live on essentially no pay for a year or so (either you have some other job, and programming is part-time, or you have a spouse who has a job, or you're living in your parents' basement, etc.), then this route might work.

Another route that also means very little or no pay for a certain length of time is to contribute to an open source project. Once again, the idea is to build a name for yourself and a record of accomplishments you can point to.

A third route is to show up where the software professionals are. You can actually go to a local company and ask to have lunch with a programmer or manager who works there. Just say that you're interested in the business and want to ask questions about the company. Not to beg for a job. You can also attend conferences and meetings for programmers, and schmooze. Talk to people about what they're working on, and get to know them. If nobody is currently hiring full-time positions, you could try making an offer to do something small for a limited duration, just to get your foot in the door.

Of course, you can do all three.

Unfortunately, if you've never had a programming job before, and you are self-taught, then the odds are very much against your getting a good-paying job right off the bat. Rather than being discouraged by the rejections, you need to accept them as par for the course. The most important thing you can do in the next 6 months to a year (or even longer) is to try to set yourself up as a known programmer, and not worry too much about the rejections.

Of course, this assumes that it is financially possible for you to go 6 to 12 months or more without a job. If that's not possible, then I don't know what to tell you.
  • #4
I was thinking that I would either contribute to an open source project (like linux) and the third option (network and attend conferences with developers. I was thinking in the meantime that I would learn a trade via an apprenticeship (plumbing, electrician, roofer, whatever) and whatever. thank you.
  • #5
Science Advisor
Insights Author
Gold Member
Hi, I'm wondering how long it took for you and how difficult it was for self-educated/taught computer programmers to land your first computer programming job. I don't care whether it was a temporary/contract job or an internship or whatever. And what did you do to land your first developer job?
Although a helpful answer will heavily depend on the market at hand - i.e the country you live in, the sure thing is that in order to compensate for being self-taught is to really being a skillful programmer (this mainly entails some good experience on some programming languages and the frameworks / IDEs /tools that you're asked to know well for the case at hand). It is also very helpful if you are somewhat recognizable i.e you have some contacts, contributions in projects - for example for some open source project(s) and all the other relevant to recognition things. As already mentioned by stevendaryl, if you re self-taught with no previous such job / experience, the odds are very much against getting a good paying job and if you were at my country, the odds would be against finding such a job at all but hopefully you're not in such a situation.

My working experience for the last ten years or so is mostly on Java and PHP , with the most part being on web applications and web services. I would recommend to try to get some recognition for your skills / work by taking part in some open source software project / product and I have to tell you that even to get into the core developers team for a simple open source tool, is not as easy as you might think because there is a lot of people trying the same thing and it will take time and efforts to get from the e-mail list right into the team. So, it's up to you to be highly active, make good points and work code on your own a lot, in order to show good skills. This will get you some recognition and it would also be good to attend conferences / seminars and among other things get to know experienced developers with which you can work with. If you cannot afford this whole time that is needed then you can do some other part time job but still insist on your goal - I have made it too in the past, so don't give up. The most important thing that I left for the end is that you have to really love it in order to do it. This holds true for any job but especially for programming that will give you a lot of headaches and frustration in the course. In order to survive the only thing I can tell you is go for it: start small, grow big.
  • #6
At one time, as late as the 1970’s and early 1980’s, folks without degrees could find work as programmers. Some larger companies had in-house training groups to train their engineers and staff in programming. They in turn became the programmers the company needed.

Now of course, companies look to folks with degrees in CS to fill their ranks. It’s a safer and cheaper bet than in-house training. In some cases for specialized coding, engineers may move to the dark side and become programmers as they realize the effort needed to stay current in engineering is much greater than they thought (fear of obsolescence) and programming offsets their skills in a good way.

For you to come into the field without a degree means you will compete with all these degreed folks with a BS or an MS in Comp Sci and you will be hard pressed to show your skills. Some very small mom and pop companies might hire you but you’d get a minimum wage at best or part time pay for full time work.

The most common of these jobs is in maintaining a small company database setup doing idiosyncratic things that company wants you to add to the legacy code (ie software no longer being sold, may other programmers messed with it) when they should’ve just bought into a commercial package.

A few years back, you could have parlayed knowledge of mobile apps into something that makes you money but that has dried up too with all the other folks who’ve gotten a head start on the platform or the larger companies who’ve entered the field.

Look for the next wave of programming to come out and jump on it quickly and you might have some specialized skills that someone might hit. Some earlier waves were:

Mainframe programming
Pc programming in DOS with Basic then C
Web programming with Java applets then servers then JSPs.
Facebook game programming Zynga rose then fell
Smart phone apps programming first iOS then Android and others
Smart watch apps programming
Machine learning

In parallel is console game programming:
Atari then Commodore
Nintendo then Sega
Handheld game consoles
Nintendo switch games

Some programming language trends:
Basic then C then C++
Java for the Internet
JavaScript for web apps
Objective C then Java on Android and now Kotlin

Future trends that I see are:
Docker containers with Microservices
Kotlin and Elm for web apps
Julia, python and R for numerical computing supplanting Matlab
Machine learning
Kotlin replacing Java because of its potential to write native apps, web apps, Android apps and maybe iOS apps in the future

If you could develop a comprehensive tool to allow Matlab sites to move to numerical python or Julia, you’d be able to start your own company. However, this is a very tall order especially without the knowledge gained from a degree program.

If you could come up with your own open source project that gains traction in the software world that would be another way to get hired especially if some company liked it enough to pick it up.

If you could come up with software useful to the medical community that would be great. Something to assist the doctor that they would actually use.

Self driving cars may provide another possible niche for programmers although I don’t know how that will come about yet.

Why not get a degree, some certifications and go from there?

An MS would be preferable over a BS and a BS would be preferabl over and AS degree in today’s market.
  • #7
A lot of jobs request CS degree or "similar". So I guess if you have a degree in say Applied Mathematics with a computational bent, you could probably land some programming interviews. I know of a physics major and chemical engineering major that also were able to land jobs as programmers.
  • #8
The best strategy is to be a programmer with solid engineering, math, physics or business skills. In some jobs, just being a programmer won’t cut it, if you don’t know the theory behind the applications you are developing.
  • #9
I am effectively self taught, but I did have the advantage of starting in the late 1970's (exactly 40 years ago this year)! I learnt on a small microprocessor development kit with 256 BYTES of RAM, progressing to a Z80 based machine with 1 kB of RAM, this was at an educational establishment where I was working as a technician.

I then joined a systems company and became involved in writing software requirement specifications and test procedures for a defence contract. I then switched to developing test programs for a variety of equipment, using some of the knowledge gained from the Z80 years.

Finally I moved into software development for railway applications and then onto Radar applications using Pascal, Ada,C and C++; the company paid for attendance at week long courses for these, but was basically self taught. Prior to starting work I did do some FORTRAN programming at polytechnic, but this mainly for numerical analysis.

Nowadays I think it is somewhat more difficult, programming/coding is only a minor part of the skills required; being expert in a given language is the least of it, it is relatively straightforward to convert from one language to another, the difficult part is taking a specification and designing the software system that corresponds to the specification, whether that is an application for an iPad or a piece of software that is modelling a complex system or control an aircraft or nuclear reactor. You also need to have some concept of business, particularly working to budget (money and time).
Last edited by a moderator:
  • #10
I went to college, but I've hired guys who didn't. The easiest way to do it is to start with freelancing work. Guys like me get a budget to outsource a small component that we don't have time to build. Lots of times this is a single guy working from home. We don't really interview them, we just look at their previous products. An app in the iTunes store is worth way more than a college degree for situations like that.
  • #11
Science Advisor
Insights Author
I came at programming literally from the bottom up. I started out as a mathematician with electronics as a long-time hobby, got shunted into digital design and then there suddenly was the Intel 8008! Designing the hardware was not that hard, but the only programmers around spoke FORTRAN, which meant: Learn to program in 8008 assembly!

From there on it was halfway electronic design and halfway assembly until "C" arrived...
  • #12
I had been working as a data preparation assistant for a large company, the job was essentially clerical, checking that large volumes of input data were valid before they were submitted to a lengthy session of mainframe number crunching.
Through that job I met programmers and decided that is what I wanted to do, it seemed more like fun than a job, and was very well paid.
Unfortunately the company I worked for had no programming vacancy at the time, so I just speculatively asked a recruitment agency if they knew of any opportunities for somebody who wanted to train as a programmer.
To my surprise they had me placed with a small start up firm within one week and I was happy with that job for many years, eventually I had gained enough skill to move into freelancing, which seemed attractive because of more variety in the tasks to be undertaken.
  • #13
Gold Member
Small businesses have needs for websites and a database. The needs of most small businesses is not very complex.
Until you get a track record, you may have to do this for a very reasonable rate.

BTW, I started programming in 1969 with a high school diploma. I was one of those in house trained programmers. In my experience, I have found that most college graduates lack the experience of working with real world data volumes and human interface problems.

Getting a degree is a great idea, it is the "key" that opens the door, after that you need to perform.
  • #14
Hi, I'm wondering how long it took for you and how difficult it was for self-educated/taught computer programmers to land your first computer programming job. I don't care whether it was a temporary/contract job or an internship or whatever. And what did you do to land your first developer job?
My own case is atypical, so I'll just make this suggestion: if I were just starting out now, I think it would be good to put a sandbox site up on a free hosting service, and use it to display a variety of programming and presentation techniques, perhaps along with a demo of at least one development process, from original business problem, through specification, coding, and testing, to solution implementation.
  • #15
Homework Helper
As a student, I volunteered at my High School's data processing center. When I graduated High School in 1971, I had accumulated quite a bit of time and experience on their equipment: high-speed card sorter, collator, 402 accounting machine, and Honeywell series 200 computer. Within a week of graduation I had two jobs totaling 55 hours a week - one for the city (voter lists and election day analysis) and the school (mostly schedule teachers/class rooms/classes/students for the following year). I've been coding ever since.

As others have said, the 1970's market is not the same as it is today. In those days, there were no "home computers" - so having access to a computer was key.

But that was never enough. There's a huge difference between informal coding and coding to requirements provided by others. So your not looking for any programming success story, but one that involves creating a win for someone else - or a win that goes well beyond getting the code to work.

Related Threads for: Self taught programmers - how did you get your first dev job

  • Last Post
  • Last Post
  • Last Post