MuTasim

Never be like Joe

•⌛ 9 min read•

Joe ;D

In the city of Techland, lived a cool guy named Joe. He led a fairly ordinary life, and after graduating from high school, he believed that university was useless and that it was time to start earning money. The initial thoughts that crossed his mind were influenced by some misguided advice he had received from his unemployed friends, suggesting that he become a programmer because they claimed programmers earned millions of dollars per month. Thus, as an "average Joe in IT", he took his first step by enrolling in an online programming course.

Surprisingly, Joe fell in love with coding, especially when his first "Hello World" program executed without any errors. He believed he was on the right track and began building basic projects by following video tutorials. Joe gained confidence in his skills and proudly listed everything from Microsoft PowerPoint to Python and Java on his resume.

Feeling ready, Joe began applying for positions, spamming his resume everywhere. However, as time passed—first a month, then two, and eventually a year—no company responded to him. Clearly, Joe's approach wasn't yielding the desired results. No one wants to end up like Joe, and there are valuable lessons to learn from his experience.

Let's now examine some of the mistakes that Joe made.

Mistake #1

The first and most significant mistake that Joe made was entering the field of IT solely based on the recommendation of his unemployed friends (which, in contemporary cases, could also involve parents). Choosing programming only for its salary is a major misstep and a disadvantage for him. If programming were the only means to achieve such earnings, there would be eight billion individuals like Joe in this world. In my humble opinion, deciding on one's path, career, and future identity must be an individual's choice and not influenced by others.

A valuable lesson from the Disney movie "Soul" was Joe's (btw, his name is also Joe, but he's not like our Joe) dialogue with his mom about his career. His mom tried to convey that music may not sustain him financially, and Joe's response was profound: "Even if it cannot feed me, I will not eat. This is not about my career. It’s my reason for living." This highlights how some people are genuinely interested and passionate about pursuits that become their life's purpose.

Let's do some basic math. Recent research indicates that the world's life expectancy in 2024 is 73 years. If an average Joe (having that long life) spends the initial years of their life learning life basics (from school or college) until 18-19, a significant life decision follows: choosing a career. Who do I want to become? A programmer? Doctor? Engineer? Teacher? Or perhaps an artist because I truly enjoy it. This decision involves another 4-5 years of university (or college, or any form of courses or self-study). After this, they continue with a career they are passionate about for the rest of their life. Total time spent: 23-24 years, leaving 50 (73-23) years, or adjusting for potential disabilities, perhaps subtracting 10 years from the end of life, as many prefer not to work at that age and spend their later years in relaxation. How many years are left for pursuing a job, building a career, becoming famous, doing what you love, and being who you want to be? Roughly 40 years. Quite impressive.

Now, imagine spending 40 years doing something you don't like. Oops... That's why it is crucial to prioritize doing things you love and are passionate about. If I were Joe, instead of solely relying on my friends' advice, I would consider their input, try various things, conduct research, and discover what truly interests me. It might lead to a genuine passion for surgery and a desire to become a doctor. Each person's nature is unique, and no one knows what's best for you except yourself (often guided by your inner child).

So, I believe we've thoroughly discussed Joe's first mistake. Let's explore more.

Mistake #2

Continuing our discussion on Joe's journey, let's explore another scenario. Suppose Joe chose IT because he genuinely liked it and was passionate about the field. What could possibly go wrong in this case? You might assume everything else was fine, given the common perception nowadays that IT is a suitable career choice. However, Joe's mistake here lies in not mastering the basics. No, I'm not referring to intricate concepts like traversing trees; rather, Joe overlooked the fundamental programming concepts.

After just one week into his learning journey, Joe exclaimed, "Bro, I already know the basics. I want to get into more fun stuff." This is a sentiment often echoed by many average Joes when they successfully write their first "Hello World" program.

You might believe that you are an expert and have surpassed the basics, but it's crucial not to rush through or skip them altogether. Neglecting the basics can result in significant gaps in your knowledge, making it much more challenging to grasp more advanced topics. Joe should have paused at the basics, delved deeper into understanding them, and focused on building a solid foundation. In programming, the fundamentals are immensely important. An analogy can be drawn from the real world: a building with a weak foundation can be easily destroyed by a simple wind or earthquake. Similarly, a programmer without a strong foundation may find themselves struggling and possibly even failing in their endeavors.

Mistake #3

Another significant mistake that Joe made was coding instead of programming. This misconception is widespread, where people often think that coding is synonymous with programming. However, coding is never equal to programming; in simple terms, a coder !== programmer. Coding is a part of programming; it involves writing lines of code, but programming includes coding, problem-solving, designing systems, collaboration, long-term thinking, debugging, and various other things.

Consider this example: Joe wanted to create a simple web-based calculator. Instead of immediately diving into setting up VS Code with HTML and JS files, Joe should have taken a step back and formulated a plan. He should have defined a simple design and outlined the steps to follow. Questions such as "What happens when a user divides by 0?" and "How should I handle that, and where should I display an error message?" need careful consideration. Is using 'eval' the right approach, or is it considered dangerous and not recommended? These are the types of questions Joe should have addressed in his planning phase.

Once Joe had a solid plan in place, he could proceed to code. After completing his code, he should have ensured that everything was organized into files and presented in a clear manner. This is because code is not meant solely for the coder to read; it should also be understandable to others.

"Every programmer can be a good coder, but a coder alone is not a programmer."

Mistake #4

The next mistake in Joe's journey was spamming his resume. Unfortunately, this is a common practice not just for Joe but also among many average Joes in the industry. But why spamming? If you get a few rejections, it usually means you might not be fully prepared yet (of course, exceptions always exist, but let's not focus on those in this blog).

While it might seem counterintuitive, wouldn't it be better to focus on mastering your skills and building more complex projects before reapplying?

A few days ago, I saw a job vacancy posted, and within a short period, it received 1000 applications, plus 4 people actively monitoring the posting. Holy cow, what's going on? Does this suggest a bad job market? No, definitely not; the market is normal. It only seems challenging due to the saturation of average Joes. I'm confident that among those 1,000 applicants, more than 90% are similar to our Joe. This belief is reinforced by my recent reading about the observations of an HR professional from a US company. They noted that a significant number of resumes resembled bots, and many candidates didn't have a normal resume yet. It completely makes sense why the job market might appear unfavorable.

If you're not an average Joe and you also applied, the chance that an HR representative will notice your resume among that 90% of Joes is merely 1% out of 100%. Another issue is that normal, talented individuals struggle to find jobs because of the overwhelming presence of average Joes, leading them to unfairly blame the job market.

Conclusion

So, I guess we criticized Joe enough. Overall, I want to say: do not be like Joe! But how to avoid? Let’s take some notes:

  • Learn continuously; never stop learning. Programming is not something that you can finish in 1-2 years and be done. Trust me, if you stop programming for a few months, you will mostly forget it, and during that time, numerous new technologies may emerge. This is about programming; you need to stay up to date. Also, be careful with fundamentals while learning new things; sharpen them first.
  • Get your degree (at least a bachelor's). Trust me, you may think it’s useless, but it’s necessary if you want to grow within the industry.
  • Quality over quantity: Instead of spamming resumes, focus on quality applications. Tailor your resume and cover letter to each position, emphasizing relevant skills and experiences.
  • Try to build a strong network. We talked about Joes spamming resumes, which makes it harder for you to find a job. That’s why having connections can help you. You may have heard the quote: “Your network is your net worth,” there's even a book by this name. Cool, right? Honestly, sometimes, it's not just about what you know but who you know.

So, I guess that's all for this blog. All the best on your journey in the ever-evolving world of IT. ❤️