-2

I am a 25 years old engineer (my major is in optical science), I've been working for two years in a big company but it really doesn't suit me so I would like to switch to being a programmer/IT engineer.

My programming skill are fairly low: I learnt the basics in my study, which means I can make a few things in C/C++, but that all. (If ever that's important, I've done a lot with Matlab)

My idea so far would be to resign to spent time (a few month) developing my own program and use it as an argument for future job interviews. Sadly, all the ideas I have in mind are games or game-ish (I mean, made for leisure) and I don't want to go to the gaming industry.

So the question are:
Is having your own software acceptable to being hired as a programmer? According to the path described in this question it is, but I don't know the size of his portfolio.
Are the "complementary studies in IT" a better idea than self-made experience? I can find some in many university, oriented to people having a master degree.
Or any other way to make this change?

Nb: I should mention I'm French and would like to stay in France

  • Programming and IT engineering can be very different fields, there's actually quite a few subfields in each, but especially engineering... what is it you want to transition too? – Kilisi Sep 7 '19 at 10:04
1

Any experience is beneficial. We've recruited several people with no experience at all in IT. Attitude is everything.

Algorithms and programming style are transferable from game programming so I don't see this as being an issue. If anything, it is a plus. You're going to more inclined to add polish and go the extra mile if your heart is in something rather than say, write an e-commerce site you have no interest in just because you think it may pique the interest of a potential employer.

Also, don't underestimate domain knowledge. This is just as important as programming nous in any job you'll walk into. Unless you want to burn your bridges, is there a way you could combine your engineering experience with your new programming career?

  • My company do have programmers, but unfortunately they are not hiring and I don't dare to ask for a transfer without a bit of experience – sayanel Sep 7 '19 at 12:04
1

Software developers are sought after, so if you know your craft you should be able to find a job.

Is having your own software acceptable to being hired as a programmer?

Yes, but in my experience only the recruiter will care. The technical interviewers will find out whether you are experienced or not.

Are the "complementary studies in IT" a better idea than self-made experience?

Some companies like formal education (e.g. a Master's degree) and others don't. You will be looking for the second type and in these companies usually certificates don't matter the moment you make it past the recruiter.

Or any other way to make this change?

I am doing interviews for my current companies and if a candidate gets through the recruiter screening phase, all we care about is whether you know how to develop software. My suggestion is to just know your shit, and someone will want to hire you.

My idea so far would be to resign to spent time (a few month) developing my own program and use it as an argument for future job interviews. Sadly, all the ideas I have in mind are games or game-ish

I wouldn't worry too much for this. Game development has a lot of challenges that are needed elsewhere: - optimization and profiling - managing dependencies to libraries - writing parsers for configuration files - usability issues - internationalization - network communication - multi-threading

You can make a conscious decision to use some technology you want to be exposed to, even thought it might be the best solution for your game (if you develop it on your own). For example you can use an SQLite database for your configurations, just because you want to sharpen your SQL skills..

The bigger risk I see is that you don't get all the skills needed in the real world, if you work on a small project on your own. If you are hired by a company as a programmer, you are usually expected to collaborate and extend an existing project, skills you need for that are: - communication with technical and non-technical stakeholders - using version control - testing - reading lots of other people's code - working on random bug reports

You can work on that by trying to find a free software gaming project that accepts patches. Contact the core developers, and ask them which minor bugs or feature requests they think are easy to implement and see whether you can setup the build environment, reproduce the issue and come up with a fix.

If you know how to cooperate on a gaming project, you have most of the skills you need to work on business application.

Then start applying for jobs as soon as possible. This will give you an idea what the job market in your area looks like, and if you get at least past the CV screening phase you will get some feedback in what companies are looking for in an entry level software development position. If the recruiter turns you down as too inexperienced, ask them what would change their minds. If you consistently make it through the CV screening but don't succeed in technical rounds you know what to improve.

Reading a lot of job postings also gives you an idea on what is relevant in your area. If most companies around you are in embedded systems, you might want to improve your building and linking skills. If Java is in high demand, you can start writing games in Java. If everything is hungry for web, try to make a web version of an idea...

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