Professional reconversion in IT [request for advice]

Hi everyone,

My first objective is to have a remote income in order to expatriate myself. My current degrees/skills (see my introduction) do not really allow me to move in this direction, so I’m considering a career change in IT: computer programming, IT development, etc.

I’m calling on people who are familiar with these fields or who have already gone through this phase to help me clarify certain points:

  • Which computer languages should I learn? Those which offer the most opportunities for example.
  • What training/processes do you recommend? Official ? Subsidized by the job center (pôle emploi)? Can I train on my own?
  • How would you proceed if you were in my shoes?

I’m sorry to ask vague questions but I really don’t know much about this sector of activity. I thank you in advance for all the information you will provide me.

Yours sincerely,

Guillaume

5 Likes

Hi,

There is a topic about the same questions you ask :

2 Likes

Hi,

Which computer languages should I learn? Those which offer the most opportunities for example.

Go for Typescript, polyvalent and popular many modern framework frontend or backend. Avoid to the maximum to use Javascript even if Typescript is an overlay of Javascript. Because Javascript isn’t strict and you will do many errors without understanding why because Javascript won’t help you to solve them.

What training/processes do you recommend? Official ? Subsidized by the job center (pôle emploi)? Can I train on my own? 42 is good if you want to move to Paris you can speedrun it.

Epitech is good if you don’t want to go to Paris, but it cost a bit and you can’t speedrun it, I did Epitech and I stop it at my 4th years because I was already earning a lot of money from Freelance.

BTS, licence are basically shit and engineer school start to learn code after 2 years of math and physics. WTF

There is bootcamp, it costs a lot and it’s not enough to get a job.

How would you proceed if you were in my shoes?

I already this question in this topic : Compétence: programmation - #5 by Kapkan-G1

Typically if I were you, i will do this :

  • Watch the video which in the topic
  • Html/Css is not a programming language, avoid them at the beginning
  • Discover NestJs or TSOA (I prefer the second one, it’s simpler and cleaner)
  • Develop a todo app in MVC with NestJs or TSOA
  • Redevelop a todo app with a Front FrameWork like Angular, VueJs or ReactJs.
  • Redevelop a backend with NestJs/TSOA that works with your Frontend.
  • Redo a 3rd app that sells a fictitious service, the to-do list:
    • Frontend in VueJs/React/Angular
    • The Backend in NestJs/TSOA
    • A secure database
    • A secure account space with JWT
    • Stripe integration to manage payments

That’s if you do it in 6 months. You’re a true warrior, and you can be hired as a junior dev. You will also have almost all the keys to develop a SaaS to have recurring revenues. For the latter, what you’ll be missing :

  • Release management (from the sysAdmin)
  • UI design
  • UX design

Mp me for more if you are interesting in mentoring.

PS : NodeJS == Javascript

7 Likes

Indeed, the subject has already been discussed in other threads. Sorry for that.

Thank you for your very complete answers.

1 Like

Hello,

About choosing a language, it will depends of your purpose/taste :

  1. If you want to launch a SAAS tool or become a web developper (employee or freelance) => I totally agree with Kapkan (except for the 6 months which seems totally crazy for a beginner)
  2. If you want to be a employee in a specific place (e.g. eastern europe) => you should take a look at what the market needs before choosing a language
  3. Don’t forget to look at specific niches, you might find some ideas (e.g. The ERP market is growing all around the world)

Can I train on my own?

You have to no mather what, but you have to understand that big/average company have “quality norms” which prevents them to hire a self made developper without degree.
…But if you want to be a freelance, that’s a good idea.

How would you proceed if you were in my shoes?

If you have no money and no parent to help you :
In France there is a 9 months accelerated BTS which allows you to find an intership leading (if you are good enough) to a job. So you can make few money and stay alive while learning.

If you have money or parents, then I would follow Kapkan advice (but you have to work hard!).

Have a productive day.

4 Likes

I totally agree with Kapkan (except for the 6 months which seems totally crazy for a beginner)

If you have money or parents, then I would follow Kapkan advice (but you have to work hard!).

Indeed it is a rush that lasts 6 months without a weekend as the Epitech/42 style pool.
If everything goes well and there is an affinity with web development and a good mentoring, it is feasible.
If there is no affinity with computer development it is not even achievable in 2 years from my point of view.

1 Like

Hi guys,

Quick update on my current situation (which I should have included in the original post):

I am 33 years old, have a degree in materials science engineering. I have been unemployed since October 2020. I am staying with my parents and can stall for a few more months. I worked for a few years in my core field so I have some savings. I’m not really keen on going back to school because I’ve lost all confidence in the official curricula. I have heard (from a friend) of a 3 month training course after which you have to work 2 years in a company in France, which doesn’t really suit me.

The idea of retraining in IT has been on my mind for some time and this idea was confirmed after a typage session with Charlie, coach en réalisme. My strengths are clearly my analytical and logical abilities and I have a profile made to set up or improve existing systems (avoid situations where you have to start from scratch and which requires a big part of creativity). We concluded, in line with my goal of working remotely, that learning programming would be a good solution.

In my school career I was briefly introduced to C++ and matlab software and although I have almost forgotten everything I think I have an affinity with the programming process.

I’m still in the early stages of my research so for me most of the steps Kaplan has listed are pretty incomprehensible at this point but I greatly appreciate this answer which gives a roadmap of the process to be accomplished.

La bise.

3 Likes

According to a student that is in this high school right now, it isn’t incredible.

It’s 10 000€ a year for no teacher.

In addition, according to a guy that works for a big tech company, the degree is less well seen others. (but it’s still better seen than the school 42)


Anyway, Corda said it: fuck school.

Don’t forget that every day that you spend in France before expatriation may be your last day. In addition, the money you lose with taxes and levy is used to fund the mass children rape, immigration, feminism, journalism, …

2 Likes

So fucking true

1 Like

most of the steps Kaplan has listed are pretty incomprehensible at this point

Ah ah, It’s normal but not Ok as a moderator.

It’s a roadmap focus on a same the language, each step we add some complexity in the website. You will redo the most, of your work of the previous step but with a different angle. It will greatly improve your productivity and your understanding of this language and paradigm of thinking.



Here is a description of keywords I used:

Html/Css is not a programming language, avoid them at the beginning

Avoid these shits at the beginning, it’s the classical beginner trap, It will reduce your understanding of the complexity in IT.


NestJs

Heavy Backend Framework (On appelle ça une usine à gaz)
Not so much beginner friendly, but the market demand is increasing in France, most are Freelance because classical schools are between 20 and 10 years behind.
Here goes the link : Documentation | NestJS - A progressive Node.js framework


TSOA

Minimalist Backend Framework
Paradoxically more beginner friendly but less documentation. Not so much popular in France, but you can find Freelance job. If you are the TechLead, you can choose it as well, most of time the customer don’t care which frameworks are used.
Easy to switch TSOA to NestJs.
The getting starting tutorial: Getting started | tsoa


MVC

A simple paradigm wich is 20 years old.
In short, your backend (the server) will construct the page and send it to the client. It’s a really really easy paradigm to learn and useful to learn a backend framework.


Angular, VueJs or ReactJs.

Frontend framework
They are used to do webapp, each one have his own structure and mechanic paradigm.
Discover all of them and choose the one you prefer.


JWT

It’s a package and a way to secure the private space of your users. Don’t focus it at the beginning.

I think I describe the most of keywords.

Pro tips: If a information is missing Google It.

2 Likes

Hi @GuillaumeG_G4 . I’m not from IT field but I’m in the same position than you. I also trying to get into IT with self learning. What do you think about learning data science instead of proper developing? Languages such SQL, R or Python… it’s « less » complex than development and easier to learn in my opinion. Maybe just have a look there are many videos on YouTube talking about data analyst or data scientist job. There’s also a Google Data Analyst certification which I doubt will help you to find a job but at least will teach you everything about the job of data analyst

2 Likes

Hey @GuillaumeG_G4!

Here’s what I would do if I were in your shoes:

Step 1: choose an IT field to start with

You cannot learn everything. So you should choose a field you are going to work into, at least at the beginning, and then do the work to get there.

The field to choose will depend on your personality, how much money you want to make, your personal tastes, what the world market needs and what the local market (the country you will expatriate to) needs.

On the long term, you will aim for something else.

Some jobs you could aim for:

  • Java developer - definitely one of the easier ones. You will mostly be doing back-end work, in a typical big or smaller company. There are plenty of good tutorials online, and the world always needs more Java developers. Salaries can range between 2000€ and 4000€ / month depending on the company (in the Czech Republic, after 2-3 years of experience).
  • Python developer - probably the easiest language to learn, but you will have to learn many frameworks on the side in order to be able to get anything done. If you are good, you can get into machine learning and start making a lot of money. Expect the same range of salaries as for Java developers.
  • Web developer - I would not recommend this, for the very simple reason that web developers are not paid well in general. If this is really what you want to do, go at it, as web development is a highly sought skill.
  • Salesforce developer - This is where you’ll find a job the easiest. Salesforce programming is not taught at school, so companies are sometimes even ready to hire people that have no previous programming experience at all. It will not pay great at first, but developers with three years of experience can easily get to 3000 - 4000€ / month (Czech Republic). If you end up finding Salesforce boring, you will be able to change to another field later.

Step 2: find job offers for that field, in the country you want to move to

I will be using the website jobs.cz for this example. Look for jobs in the field you chose, let’s say Java: Nabídka práce Praha – Jobs.cz

Here is one - the salary ranges from 2400 to 3200€ depending on the profile: Java Web Developer – Wienerberger s.r.o.

Step 3: learn 70% of what is written on the offer

Note: you should do this for multiple offers, and do what they all ask for. Some offers ask for things that most other offers won’t ask.

In this case, you can see you should not just learn Java. You need to learn many other things. Sure, you cannot do anything about the 3 years of experience part, but if you can do most of the rest, you will be fine.

Use online tutorials. Before learning anything, make sure it is actually useful.

Step 4: you don’t have a diploma, so create something that proves you have the required skills to do the job

Create a small project (this could be one of the tutorials you did) and add it online in a place where everyone can see it (like https://github.com/).

Since you do not have a diploma, you will be using this instead to market yourself during interviews.

Step 5: contact companies and explain your situation - internships would be ideal

After a few months of learning, you should be ready to start.

The problem: you do not have any experience.

To solve this, I recommend contacting companies and explaining your situation. The goal would be to acquire experience through working with them, even if they pay you much less than what you’d like.

Step 6: start your job, acquire experience, get promoted

After 4-6 months, if you can do the job properly, you should see your boss and ask for a raise.

Step 7: choose a long-term goal

The jobs I described above are good short or mid-term jobs. They are relatively easy to get into, and they will pay well after a few years, but you will quickly hit a wall in terms of salary and challenge - after some time, the job will get boring and you will be craving for more challenges.

The idea would be to work on your day job during the week, and work on learning new skills on your free time.

Here are some long-term jobs you could aim for:

  • Blockchain / crypto developer (what I am doing): excellent way to become a freelance / entrepreneur. Pays extremely well (currently, the average salary for blockchain developers with 2-3 years of experience is around 14-15.000€ / month), you will be able to work remotely, and on your terms. Ideal if you started with Java / web development.
  • Big data architect / machine learning dev: those jobs are amongst the ones that pay the most and are also amongst the most fun and challenging. Ideal if you started with Python.
  • Team leader / CTO: you can climb up the ranks of your company and reach the highest paying jobs. You just need to work harder than everyone else. If you work Saturdays on top of your five normal week days, or if you do 10 hour days instead of everyone else’s 8 hour days, you will get there. Those jobs pay very well, but this often comes with a lack of freedom.
  • Senior developer / consultant: alternatively, you can stay in the field you chose at the beginning, and work to become one of the best developers in your country. Those developers often become consultants, and are paid much more than the normal devs in the company, and on top of this, they enjoy more freedom, because technically, they are not a part of the company. Problem: whenever there is an economic crisis, consultants are fired first.

Conclusion

Never learn something without knowing why. You should do your own research, find what suits you best, what the market is actually looking for, and elaborate a plan for the next five years.

The IT market always is looking for talented developers, and it’s not bound to change anytime soon.

That’s all from my side. Hope that’s helpful :slight_smile:

Good luck!

-Klemah

9 Likes

God damn, great answer

1 Like

Hi @GuillaumeG_G4,

I’m a Java developper with a bachelor degree in business computing, since 2006.

A lot of good advices are given in previous threads even if I do not agree all of these; but i will not start a debate on these as it will out of subject.

An indicator could be the evolution of languages trends: PYPL PopularitY of Programming Language index

As already mentioned, job offers give you also indications about which profiles are searched. But do not forget that you’re not alone on the market of remote job: indian, romanian… people have so low hour price that you can’t compete if you do not have high level of skills.

Python & Java are easy to learn and have a lot of tutorial, documentation available online. Both allow you to do web development, scripting, REST API… Most of all (free) IDE support these language.

Javascript & Typescript are also trendy, most for frontend development but also for backend dev. But these are not my cup of coffee, so I cannot argue more on these.

Anyway, learning a langage is only the basic. Once you know it, you need learn libraries around it as you do not want to reinvent the wheel. Learning libraries takes time also but is required. You will find in majority of offers, requirements about lib knowledge like Spring, Hibernate, Jackson, … for java offer.

Some mentions Data Scientist. Guys, this is not a dev job for most of them, and background of these profiles are mathematician, physician or high degree engineer. I would not recommend this path if you do not have a strong math degree.

I would advice following:

  • books:

You have theoritical/reference books that i would not recommend to start off, except if it is for beginner. Avoid “for dummy” book. Instead, there are books like “xxxx in Action”, “Build xxxx with aaaaa language” that will guide you through the journey of creating something with the language.

  • Online tutorial There are a lot of free tutorial on website like developpez.com or openclassrooms.com (if you speak french). If you are confortable with english (and I strongly recommand it if you want remote job as dev), there are good paid online platforms, like Pluralsight.com

I learn a lot of things from this platform.

  • Coding challenge

You can also look for coding challenge where you receive an objective with some requirements and you must write the code according to these. There are ton of such free challenge online.

  • Practice:

Learning without practice is a lost of time. You will learn more by practicing that by only reading/studying. Apply the try & error approach: if it fails, do not give up and try another solution. If you’re facing an issue, do not directly go on google to look for the solution. Instead, think by yourself what could be the problem. Re-read your code, execute it mentally step-by-step, try to find what is wrong.

  • Mentoring

Once you know the basic, have knowledge of popular libraries, have some experience with personal projects or some job, try to find a mentor that could speed up your dev expectation.

See my previous point.

Hope it helps.

If you have questions about Java learning, feel free to contact me :wink:

6 Likes

Yes, according to the 2020 stackoverflow survey, the languages linked with web development are low-paid: $52k for HTML/CSS and $39k for PHP, whereas Rust is paid $74k.

But according to the same survey, the vast majority of developers keeps being in this field.

3 Likes

I agree with the guys but web development isn’t that bad :slightly_smiling_face:

Personally, I started with the C programming language (which is good to learn the basics of programming) and then I learned Python and Javascript/Typescript and worked in web development for 3 years. Then I used my Python knowledge to learn Data Science and especially Machine Learning which pays a lot more and better fits with my personality.

However, if you want to get a job quickly, I recommend web development.

I have met a lot of web developers and most of them do that because it’s simple compared to other IT fields. Also, it is the field in which you can find jobs more easily but like it was said before, you won’t be paid a lot compared to the other fields unless you are very good and have a lot of projects to show. In this case, you can go to bigger companies and be more paid.

More and more people do web development because of the number of jobs available and the number of online programs. The problem now is that companies start to become more and more selective because more and more people apply. That’s why it is important to be able to prove your skills and show what you can do.

Whatever you decide to do, you will have to practice a lot and do a lot of personal projects to show your skills. Also, keep in mind that once you master the basics, you can easily move to new fields in the future just like I did.

Most french training programs are bad and won’t teach you everything. Also, everything in programming is in english so you need to get used to it from the beginning. So go with english online programs.

3 Likes