How to get your first job as a programmer?

I just saw a post on LinkedIn about someone who finished Compuer Sciences at Berkley and after 6 months of job search still could not find a job. He hardly received any response from companies and is contemplating to move to some other field, such as real estate. In the responses there were a lot of discussion about the idea of changing career path. I asked "What did he do in that half a year to become more employable?"

The problem, as I see, is that people come out from university with a degree in Computer Sciences, but with effectively 0 experience in programming, while companies don't have the patiences for these super juniors. They want people with experience. Actually there seem to be a lack of experienced and good developers.

So how can you find your first job as a developer in hi-tech?

Some companies have "student jobs" that are part time jobs for students. So if you are still a student try to find one. I know it means now you have to both study and work, but by the time you graduate you will gain some experience and the company might even keep you as a full-time employee.

If you can't get such a job then do what I recommend to graduates:

Gain experience! Join an open source project and start contributing. This way you will gain experience in reading code, working on and existing and complex code-base, working with other people. You will learn using version control, writing automated tests, etc. All kinds of things that are required in the industry but not taught enough in schools.

How to contribute to an Open Source project?

Find something that interests you, maybe a project that you use anyway. You can also search for most popular open source software for windows if you use Windows or most popular hosted open source projects or you can check out the awesome selfhosted projects.

Start by using the application. Try finding problems with the application. Start contributing easy things. For example go on the help channel of the project and try to help people. See if some documentation is missing - hint, it is always missing or outdated - try fixing that.

In many cases these applications will be very complex and hard to contribute to.

And a contradictory advice: Be both self-containd, but also ask question and try to balance these. Don't waste your time going down a dark rabbit hole alone, but also don't ask obvious questions. When you ask a question show that you already did some research.