Before I tell you my experience today, I want to thank Catalin Pit because of his answer:
This is a big heads-up when it comes to working, studying, writing, etc. The first thing you need to take care of is your health, and that's why I've been off for a while, but ready with a lot of ideas and a fresh mind to tell you things that will help you out in your career (or the journey to becoming a developer).
This is the context
Scrolling down on Facebook I saw a post from a well-known tech company here in El Salvador, they are looking for trainees in React. The only requirement was to know object-oriented programming and intermediate English, which was easy, so I thought, why not apply?
I filled out the form and sent my résumé, I got the link for my test and I was nervous, but I just did it, and you know what... I failed haha, I was shocked but at the same time I was expecting to fail it, but you know what, these are the lessons I learned.
1. Just do it!
I saw the post, I saved it and prepared my résumé at night to send all my information. I took action and I imagined the positive things that could happen if I got the position and did it.
To be honest, I didn't think about my knowledge, expertise, or the type of questions they would ask, I just thought about a great opportunity and I had to take advantage of it.
Sometimes we're just afraid of what's going to be for our future if we fail the test, even being prepared enough to pass it and get the position, our feeling may betray us, so just do it. Even though you fail, in the end, you will realize what are the things you're lacking on and improve them.
2. Don't let the theory aside
Haha, definitely the paragraph above is not a good answer for object-oriented programming. I got technical questions focused on the real concepts of it. I heard about the SOLID principle but I've never analyzed it in depth.
I was also asked about the core concepts of programming, such as abstract classes, overloading functions, superclasses, design patterns, and provide the result of a function and every answer was time-limited, one or two minutes, depending on the question. When I was doing the test, I was freaked out.
I've been studying and focusing on the language and the library, but I haven't studied the basics of programming. It's not enough to write cool and clear functions you learned from your teacher or instructor, you need to know why that function works the way it is and why developers choose that way to do it.
3. Save the questions and create an action plan
My mind was running in circles since the first question, and I understood I was not prepared enough, so I took a screenshot of the questions to get the main idea and study more about it. At least I had to take the advantage of doing the test and gather the information I needed.
I created a quick action plan to follow through and be prepared once the opportunity is available again. Here is what I have:
- a) Identify the main idea or topic from the question
- b) Organize the questions by topic
- c) Research about the topic
- d) Solve the exercises and create three exercises more from the topic
- e) Test my knowledge back
When I didn't understand anything, that was a red flag, and after I imagined all the good things like a fairytale, I placed myself on Earth and I was realistic about my current knowledge level. That's when you need to think: What are the things I am lacking on and how can I overcome them?
4. Don't give up
A test is like a thermometer, you can measure your current temperature, and depending on the result, you need to take a cold shower or just take some pills, the same works with your technical test.
If I failed the test, but that doesn't mean I'm failing as a student, worker, or person. It's just a simple test, I will do it again until I cover what I missed.
An English teacher I had some time ago, told us, "Study and be prepared, the opportunity will come" and that's what I'm doing. Don't worry if you fail some tests while being a beginner, there are opportunities every day, everywhere.