I am 25-year old hobbyist programmer who loves the thrill of abstraction that comes with spending long hours trying to fit all the concept pieces together to create a working program with great hopes that others find it useful. I am also quite passionate about open-source development and collaborating with like-minded individuals. This involves setting up project guidelines, workflow pipeline and organization tools as well as documenting both the code and my intentions behind the implementation.

I have a long history of coding in multiple languages but mostly prefer Java these days in which I have a couple of years worth of experience. I am without any formal education in software development or anything relating to that field of expertise. Starting this winter I plan on getting serious about my steady on and off relationship with my mistress, the queen of pragmatism who speaks only in zeroes and ones by learning Java from ground up getting a strong grasp on basic and more advanced concepts of the language itself as well as the ins and outs of object-oriented programming in general. To prove my intentions to her I have made a commitment of daily contributions on StackOverflow.

Due to economic reasons I am currently living in a foreign country (which language I do not speak) working as a street musician after a long backpacking journey across Europe. As much as I love the freedom that my lifestyle brings it is not without faults, but I don't want to bore you with my stories any more then I already have so I will get straight to the point.


Taking all that I've said (including my current situation) into account and assuming I have educated myself in terms of coding to a level one would normally achieve after just finishing college what would be the best objective way to go about finding a job in the field of software development?

Read additional information section for specific details on what options I am considering and what I would be willing to do as well as the follow-up question section for more specific questions.

If you were in a situation even somewhat similar to mine please share your story and provide details on "what" and "why" affected the outcome of your quest and where you are now. If possible also provide useful references that you think might be helpful to me and others in this situation.

Help me turn my dreams into reality and thank you in advance!

Follow-up questions

  • Due to a strong language barrier finding local job opportunities would prove to be quite difficult so my current thinking is that remote jobs would be better suited for me, although I am aware they are more difficult to come by. How would I go about researching my options in the area of remote work?

  • I am active on Github and I try to post all of my code there which can be used as a resume of sort. What is the best way of building a portfolio that would be appealing to employers?

  • I am willing to get one or more formal degrees or any type of certificate in fields that would prove useful to acquiring a job. Can you list types of degrees that have been proven to be particularly useful for someone in my situation?

Additional information

  • The type of job is not a concern to me as long as my duties would primarily revolve around either designing, writing, testing or documenting code in a programming language I feel proficient in.

  • The question is specific to software development so please let me know if you don't think it belongs on this site and point me in the direction where it would be appropriate to ask such a question.

  • 3
    "Road to becoming a professional software developer" the best way is to actually develop something that you can show potential employers. A big plus if they can interact with it too. – Jonast92 May 28 '19 at 14:18
  • 1
    Don't waste your time with academia. Get straight into looking for a developer job. You'll have an income, gather actual job experience as an employee, and you can start your career and advance. You may have to start with a lower wage, but you'd save 3+ years of academia and a lot of debt, only to get an optional certificate and barely useful knowledge, after which your wage will be higher than that of an academic starters. Prove your skills by expanding on the projects you worked on and their difficulties. Once you are in, getting new employment becomes easier. – Battle May 28 '19 at 14:23
  • 2
    Former Ausbilder for FIAE here. Most established German companies will not give you a chance without some form of formal training. Getting into one of these, your best bet is to get an Ausbildungsplatz for Fachinformatik. If you have Abitur, tell them you want to do a fast-track 2 year version where you skip year one in Berufschule. Put this into your cover letter. The new Azubi season starts in August or September (depending on state). Most companies will love you if you have demonstrable coding skills, but might not be Java. I would consider you for a trainee role, but I'm in the UK. – simbabque May 28 '19 at 14:44
  • 1
    @Matthew Develop something that interests you. You're more likely to stick with the project and make it good. Prospects don't really care what you've done as long as it's something that works. The product itself doesn't matter, it's the fact that you made it that matters. – Jonast92 May 28 '19 at 14:45
  • 3
    "but for now it's just game related stuff that wouldn't be interesting to any serious employer" - I've heard mixed advice on this, but from personal experience, if it's solid from a technical POV, game code isn't worthless for a portfolio. For example, I got an offer from a big defense contractor because they liked my vehicular combat sim. – Ruther Rendommeleigh May 28 '19 at 14:55

Employer will want you to give them proof of proficiency. For someone out of school it is typically a diploma. When advancing in career it'll be work experience and actions done.

In your situation you'll have to choose where to invest you time to get such proof of proficiency.

You mostly nailed formal degrees and certificates. Contributing to open source software and having proof (commit on your name) can also be good to show. Setting up a public repository with simple project demonstrating your coding skills can also give you visibility.

If you have time and mean, the easiest way would probably be to get a formal degree as it is the most "classic" way to go. The other ways are mostly dependent of company process and requirement where not having a diploma can have HR drop your CV, however in the absence of a diploma any contribution or side project is an advantage against other candidates.

About the language aspect. In Europe you can land a job in some companies even not speaking the local language well on the conditions on being proficient in English and probably willing to learn the local language.

  • Thank you for your answer, too bad the question has been placed on hold. Don't know if it will be around for much longer. Anyhow would contributions to large open-source projects be of interest to employers, also what kind of side projects would be most beneficial to do? – Matthew May 28 '19 at 14:43
  • Yes, if the employer is aware of open source, that is relevant. Include links to your github or whatever social coding thing you use in your CV. If you apply in Germany, mention it in your cover letter. Other countries might vary. – simbabque May 28 '19 at 14:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.