{"id":5444,"date":"2024-06-07T10:55:49","date_gmt":"2024-06-07T10:55:49","guid":{"rendered":"https:\/\/favtutor.com\/articles\/?p=5444"},"modified":"2024-06-07T15:25:30","modified_gmt":"2024-06-07T15:25:30","slug":"junior-developer-initial-mistakes","status":"publish","type":"post","link":"https:\/\/favtutor.com\/articles\/junior-developer-initial-mistakes\/","title":{"rendered":"Common Mistakes Junior Developers Make (and How to Avoid Them)"},"content":{"rendered":"\n<p>Being a junior developer is a phase, a rite of passage that we all pass through. This phase is the starting point that made the masters of the trade that you and I know. Today, I share some ideas from my experience on common things that juniors do and think. Seniority is not measured by years of experience, but by many other key points that are touched on here. <\/p>\n\n\n\n<p>Let\u2019s start with the first point \u2013 having a narrow view of the programming language you are learning.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Your Job Is To Solve Problems<\/strong><\/h2>\n\n\n\n<p>Juniors often get so involved in learning the programming language that they are learning without really understanding that a career in programming is more than just coding on their laptops. There are a lot of factors that define senior developers, and they are not their coding skills. <\/p>\n\n\n\n<p>Programming is partially working with computers, but it\u2019s more with humans. It might sound contradictory, but you have to always remember that your job is not to code. <\/p>\n\n\n\n<p><strong>Your job is to solve problems. You are solving problems of 2 kinds of people: stakeholders and end users. Whatever you are developing or doing using your coding skills must always solve business problems &#8211; to make money for the business owner and to solve a life problem for the end user. <\/strong><\/p>\n\n\n\n<p>So, you should open your mind to see the big picture of the business instead of having a fixed and narrow mindset of the programming language that you are using. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" width=\"802\" height=\"746\" src=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/image__14_.png\" alt=\"mindset of junior developers\" class=\"wp-image-5446\" style=\"width:802px;height:auto\" srcset=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/image__14_.png 802w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/image__14_-768x714.png 768w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/image__14_-750x698.png 750w\" sizes=\"(max-width: 802px) 100vw, 802px\" \/><figcaption class=\"wp-element-caption\">(source: <a href=\"https:\/\/workchronicles.substack.com\/p\/comic-temporary-fix-5f9\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">WorkChronicles<\/a>)<\/figcaption><\/figure>\n<\/div>\n\n\n<p>This will allow you to be more interested in what your colleagues are doing \u2013 the designers, the marketers, the frontend developers, the backend developers, the DevOps engineers and the business owners themselves. I recommend you watch my video on YouTube where I discuss the production workflow in software development:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"jeg_video_container jeg_video_content\"><iframe title=\"Software Development - The Production Workflow\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/VzhbMfAsMV8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Master of programming language, not human language<\/strong><\/h2>\n\n\n\n<p>You must master 2 languages: your lovely programming language, and human language. Since a career in programming is about solving people\u2019s problems, it\u2019s a must to master your communication skills. Although communication in life is more about body language than words, a career in programming requires both.<\/p>\n\n\n\n<p>Imagine how it sucks to work in a company with a single highly ranked developer, like a software architect, who is the only one in the company who knows how all the system is connected and how all the pipelines are connected and built, and there is no documentation to guide other developers, especially newly onboarded ones. <\/p>\n\n\n\n<p><strong>Being able to speak eloquently, precisely with direct and concise language is a must if you don\u2019t want to be stuck in the junior role title all your work time in your company. <\/strong><\/p>\n\n\n\n<p>Use a professional language to speak to your managers and other developers. Learn to read more, so you can speak better. One speaks only what they read. Reading popular technical documentation will build your ability to write documentation yourself.<\/p>\n\n\n\n<p>Communication is also not only about documenting your work to other engineers but also about speaking to your managers and the business owners. These people do not care about fancy language like \u201cdependency injection\u201d, or the \u201capp router API\u201d. The only thing that they care about is results. It\u2019s not about what you did, but about what results you achieved. <\/p>\n\n\n\n<p>Think in terms of metrics, automating tasks, saving time, saving money, boosting performance, improving user experience, or similar results. This is what your coding skills revolve around, and this is what your communication should be about with professionals like stakeholders and business owners.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Stuck in the &#8216;Tutoring Hell&#8217;<\/strong><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"953\" height=\"511\" src=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/hell.jpg\" alt=\"Tutoring hell from new developers\" class=\"wp-image-5447\" srcset=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/hell.jpg 953w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/hell-768x412.jpg 768w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/hell-750x402.jpg 750w\" sizes=\"(max-width: 953px) 100vw, 953px\" \/><\/figure>\n<\/div>\n\n\n<p>\u201c<em>The road to hell is paved with another YouTube tutorial and another Udemy course<\/em>\u201d \u2013 wise developer.<\/p>\n\n\n\n<p>Since most of us are indoctrinated at school to believe that learning happens by only attending lectures and lessons, it is easy to get lost on YouTube or Udemy from one video to another, or one course to another. This phenomenon is called \u201ctutorial hell,\u201d where you feel you are in the hell of coding after someone else without developing the courage to fail and find solutions on your own. <\/p>\n\n\n\n<p>How do you get out of tutorial hell? Simply go and build something! Escaping tutorial hell requires a shift in mindset and approach. <\/p>\n\n\n\n<p><strong>The structured, guided environment of tutorials provides comfort but can also become a crutch, preventing you from developing the critical problem-solving skills necessary in the real world. <\/strong><\/p>\n\n\n\n<p>Instead of passively consuming content, start by identifying a project that excites you\u2014something small and manageable to begin with.<\/p>\n\n\n\n<p>When you dive into building your projects, you confront real-world challenges that force you to think critically and creatively. You\u2019ll encounter bugs and obstacles that aren\u2019t covered in tutorials, compelling you to research, experiment, and learn independently.<\/p>\n\n\n\n<p>This process might be frustrating at times, but it\u2019s also incredibly rewarding and a true test of your capabilities.<\/p>\n\n\n\n<p>In the real world, there is no online instructor who\u2019s going to help you. You must find solutions yourself. This might involve reading documentation, scouring forums like Stack Overflow, or collaborating with peers. By tackling problems head-on, you develop resilience and adaptability, which are essential traits for any successful developer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Build in Private<\/strong><\/h2>\n\n\n\n<p>One of the things that many junior developers might fall into is enclosing themselves in an isolated shell, learning and building projects in private. I tried to convince you earlier that coding is not merely about coding. Opportunities in life do not necessarily come to you because of what you know, but more about who you know. <\/p>\n\n\n\n<p><strong>So, it is recommended that you build your network and start sharing your journey of what you are learning or what you are building in public.<\/strong> Building in public is more than just a trendy buzzword; it\u2019s a strategic move that can significantly impact your career and personal growth. <\/p>\n\n\n\n<p>When you share your progress, challenges, and successes openly, you invite a wide array of professionals into your sphere. Product managers, business owners, developers, designers, founders, and co-founders all can take notice. <\/p>\n\n\n\n<p>These connections can lead to invaluable feedback, mentorship, and even collaboration opportunities that might never come your way if you remain hidden behind closed doors.<\/p>\n\n\n\n<p>Moreover, by documenting your journey, you create a portfolio that showcases not just your technical skills but also your problem-solving abilities, perseverance, and growth mindset. This transparency can be particularly appealing to potential employers or clients, as it demonstrates your commitment to continuous learning and improvement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hello, I\u2019m a junior developer looking for a job!<\/strong><\/h2>\n\n\n\n<p>Junior developers often expose themselves to the world and introduce themselves as \u201cjunior\u201d developers. <\/p>\n\n\n\n<p>There is no shame In being a junior in any field, but constantly talking and mentioning that on a resume, a cover letter and social media will set you in the lowest pyramid of dominance. Whether you like it or not, you are NOT the only person looking to get employed for that role. <\/p>\n\n\n\n<p><strong>Telling recruiters, who often have no idea of the technical details of the job, that you are a junior will most likely result in a NO as a response. <\/strong><\/p>\n\n\n\n<p>Although being a junior is not something to be ashamed of, but the harsh reality is that nobody wants to work with juniors. How should you introduce yourself when you are truly a junior developer? Simply \u201cdeveloper\u201d. Period. To get out of the junior label, you have to work on real-life projects.<\/p>\n\n\n\n<p>Showcase your skills through personal projects, open-source contributions, and any freelance work you\u2019ve done. This demonstrates your ability to apply your knowledge in practical situations.<\/p>\n\n\n\n<p>Look for internships, volunteer opportunities, or part-time roles where you can gain hands-on experience. Even small projects can make a big difference in building your credibility. If you want to take it to the next level, build a SaaS or even your company. Try it, it\u2019s easier than you think.<\/p>\n\n\n\n<p>Advertising yourself as a junior developer will suffocate your career growth in the long run. People will attach a label on you based on different factors like what your skills, your achievements, and most importantly: how you see yourself and how you describe yourself. <\/p>\n\n\n\n<p>When you join a company with the junior label attached to your title, it will be almost impossible to remove that stigma because this is human nature. Always appear stronger than you actually are.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>My code just works!<\/strong><\/h2>\n\n\n\n<p>The last thing I would like to discuss is a very common practice among the community \u2013 copy + paste. There\u2019s nothing wrong with copying content from websites like stackoverflow, but to get out of the junior developer label, you should understand every line of code that you copy.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"671\" height=\"887\" src=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/programmerhumor-io-linux-memes-programming-memes-84c00a290c991e2.jpg\" alt=\"Working code meme\" class=\"wp-image-5448\"\/><\/figure>\n<\/div>\n\n\n<p>Other technical indicators of junior developers include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Neglecting data structures and algorithms:<\/strong> Although they are not used often, but there will come a time when you need them, and if you don\u2019t, you\u2019ll pay a big debt.<\/li>\n\n\n\n<li><strong>Neglecting Git:<\/strong> Git is a version control system that makes contributions and working in a team possible. Every developer must <a href=\"https:\/\/favtutor.com\/articles\/git-commands-for-teams\/\">learn git before becoming a part of a software development team<\/a>. <\/li>\n\n\n\n<li><strong>Bad variable names:<\/strong> I know that naming variables is the hardest thing in software development, but let\u2019s make this more tolerable by creating descriptive variable names. Instead of using \u201cdata1\u201d or \u201cdata2\u201d, make it more descriptive to make the code self-explanatory.<\/li>\n\n\n\n<li><strong>Neglecting testing:<\/strong> juniors usually are not aware of the importance of test coverage like unit testing, integration testing, API testing and so on, and then they try to implement testing all at once, and here is the catastrophe!<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1030\" height=\"1080\" src=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/meme3.jpg\" alt=\"software testing meme\" class=\"wp-image-5454\" srcset=\"https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/meme3.jpg 1030w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/meme3-768x805.jpg 768w, https:\/\/favtutor.com\/articles\/wp-content\/uploads\/2024\/06\/meme3-750x786.jpg 750w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n<\/div>\n\n\n<p>Testing is probably not what you want to learn, but you should learn it. That\u2019s why I recommend you check out <a href=\"https:\/\/www.youtube.com\/playlist?list=PLh6Npm3WLthpz3l5QQNF4MVkktAgNaXNm\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">my testing series on YouTube<\/a>.<\/p>\n\n\n\n<p>So, today we discussed the importance of having a broad view of the software development process, develop communication skills with our fellow engineers and with the business owners. We also discussed some technical points and how to address them. See you in the next one!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s discuss some of the initial mistakes that junior developers make that they should fix to become great in their jobs.<\/p>\n","protected":false},"author":24,"featured_media":5451,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jnews-multi-image_gallery":[],"jnews_single_post":null,"jnews_primary_category":{"id":"","hide":""},"footnotes":""},"categories":[42],"tags":[82,202],"class_list":["post-5444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trending","tag-coding","tag-programming"],"_links":{"self":[{"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/posts\/5444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/comments?post=5444"}],"version-history":[{"count":4,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/posts\/5444\/revisions"}],"predecessor-version":[{"id":5466,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/posts\/5444\/revisions\/5466"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/media\/5451"}],"wp:attachment":[{"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/media?parent=5444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/categories?post=5444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/favtutor.com\/articles\/wp-json\/wp\/v2\/tags?post=5444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}