Hello, a common question that pops-up all the time is “how to handle imposter syndrome”. Especially as junior-developer you might feel overhelmed at times. Let me tell you that this feeling is completley normal and everyone feels the same.
Software Engineering is a difficult field that moves at a fast pace. Nobody can know everything there is to know about development. Its plain impossible.
Even experienced developers are confronted with situations where they have to you a new paradigm or framework. Its your job to learn about these unknowns.
Feeling imposter syndrome therefore means growing your skills.
Just in time learning is real
Learning stuff as you go is a real and common practice in software enginneering. Is not by accident that stackoverflow is the most important website for developers of all kind. Just in time learning is a valuable skill own its own that every software developer needs to fullfill his job.
Accept that you will never know everything
Accepting that you will never know everything there is to know can be encouraging. Stay humble and accept that you will forever be a trainee in the field of software engineering.
It gets better with experience
Even tho imposter syndrome never really gets a way, it will get better as you gain more experienced and are more comfortable in your situation. So dont be discouraged, there is a small light at the end of the darkness that is imposter syndrome.
When are you job-ready?
A common question from beginners with no previous job experience is when they are ready for their first job as junior-developer. The answer is probably 6 months after you started your first job.
The truth is you will constantly learn on the job, but below is a list of “minimum” requirements to be “job ready”. Take the list with a grain of salt as some companies have more requirements and some companies might have fewer requirements.
Basic Java Syntax
This one is obvious, if you want to apply for a java-dev position you at least have to know the language. There is no way around this and there are a lot of ressources out there that help you learn java. Check out the recommended book list.
If you want to work as a java junior-developer you at least have to know the Java I/O and NIO libarys. There are a lot of great tutorials out there.
Basic SQL Knowledge
Even if you want to work as a java developer, you will most likely have to work with a database. Having basic SQL knowledge is therefore a must.
Basic Knowledge of Data Structures
You have to know the advantages / disadvantages of the different data structures and you have to know when to use which.
Basic Knowledge of a Version Control System (GIT, SVN, or other)
Every company (hopefully) uses version controll systems, so its wise to learn the basics of the most common systems out there. Probably the most common is GIT.
Portfolio of “Pet” Projects
Having a portfoilo of applications will build your skills and it will impress potential employers. If you are self thought and without a degree this is the best option to showcase your skills
You know how to Debug
Debugging is an important part of programming, check out the different types of debugging.
Willingness to learn quickly
Your willingness to learn quickly will decide if you can become a programmer or not. This is the most important part of all. Everything else can be learned, but you must have the willpower and endurance to keep on learning, even when its though.