Introduction
If companies are looking to hire developers rather than junior developers, how are you supposed to land your first job? In this article, tech industry experts Matt Lawrence and Mike Karan will guide you in gaining the equivalent experience needed to satisfy these requirements, helping you to navigate this catch-22 situation and become an in-demand developer to help you break into tech!
Topics covered in this article include:
- The difference between a junior developer and a developer
- How to level up to a developer
- Mentorships
- Code reviews
- Portfolio reviews
- Open source contributions
- Content Creation
What is a JR Dev
Mike defines a junior developer as someone who has mastered the fundamentals of HTML, CSS, and JavaScript. They should have completed a front-end developer learning path, such as a bootcamp, online coding course, or an equivalent program. In addition, a junior developer will have a portfolio of projects and experience with version control and be comfortable with technologies like GitHub, including being capable of deploying a project to the web (not at a production level).
So, what's the difference between a junior developer and a developer? Simply put, a developer is a problem solver. To elaborate, a developer can take a project, such as an app that can track passive income, from the initial stages of working out the logic on paper to the final deployment steps (at a production level).
Developers solve problems by:
- Choosing appropriate tech stacks
- Efficiently coding (data structure/algorithms)
- Using best coding practices
- Finishing projects in a reasonable amount of time
A junior developer will need help to come up with a solution to any problem. They must work alongside experienced developers and be hand-held throughout the entire process until they can handle these tasks independently.
How to level up to a developer, as a JR dev
Since companies prefer hiring developers over junior developers, as a junior developer, you must gain equivalent experience to qualify for these positions and compete effectively. It's also in your best interest to stand out from the crowd and make yourself sought-after.
Despite layoffs and hiring freezes, Mike and Matt encourage us that there are still numerous open positions and ample opportunities for savvy and persistent people!
So, how exactly can a junior developer level up?
Here's how you can gain real-world experience and level up to an in-demand developer before entering the workforce:
- Seek mentorships: Connect with experienced professionals who can guide you and provide valuable insights into the industry.
- Participate in code reviews: Engage in peer code reviews to learn best practices and improve your coding skills.
- Improve your portfolio: Seek feedback on your portfolio and work on refining your projects to showcase your skills effectively.
- Contribute to open source projects: Get hands-on experience by participating in open source projects, which can also demonstrate your commitment to learning and collaboration.
- Engage in content creation: Create blog posts, videos, or social media content to share your knowledge, showcase your skills, and build your personal brand (I can vouch for blogging 😉).
In the upcoming article sections, we will examine each of the five methods more closely.
Tip: Internships are a great way to gain the preferred experience for developer positions.
Mentorships
In a broad overview, mentorships are crucial in helping you as a junior developer thrive and succeed in your career. They do so by providing you with valuable insights, guidance, and support, including assistance in navigating the challenges of the tech industry.
To be more specific, mentors can share their knowledge, offer advice on best practices, and provide constructive feedback, enabling you to enhance your skills and increase your chances of landing your first job in tech. Mentorships generally fall into two categories: informal (free) and formal (paid).
- Free mentorship: Mike tells us that junior developers he has spoken to that have achieved success have received mentorship. They managed to find a free mentor within the online community by demonstrating their dedication and proving their worthiness for such guidance.
- Paid mentorship: Matt believes paid mentorships are an excellent option if you are shy or introverted. Opting for a paid mentorship alleviates the need to seek out and build relationships with senior developers in hopes of them becoming your mentor.
If you are interested in free mentorship, you can build relationships on platforms such as Twitter, LinkedIn, and Discord.
If you are interested in paid mentorship, MentorCruise is an excellent option, and Dylan Israel and Erik Hanchett from the self-taught or not podcast are both top mentors on the platform!
If you would like to learn more about MentorCruise, you can read my article covering Dylan Israel's interview: The MentorCruise Podcast
Code reviews
Mike emphasizes the importance of receiving code reviews when you are starting as a developer for a good reason. As you've probably realized by now, there are always multiple ways to code the same project. As a junior developer, you primarily focus on getting the program to work, often not prioritizing best coding practices. Additionally, due to a lack of workforce experience, you may not code with efficiency in mind. Senior developers can quickly identify these "red flag" coding situations, pinpointing where you need improvement, which can provide course direction guidance early in your career, ensuring your future success!
Even as a professional developer in the industry, Mike still receives code reviews! Before his code is deployed to production, to ensure not only best coding practices and efficiency but to make sure it will not conflict with other developers' code.
Even as a junior developer, Matt and Mike encourage you to receive code reviews and give them! That's right! As you are learning a topic, it is fresh in your mind, and you are doing plenty of research on it, making you qualified to teach it! And since senior developers focus on the larger scale, they may miss something fundamental, so your input can provide a fresh perspective!
So, how do you give a code review and provide valuable feedback? I am a Scrimba code reviewer, and I'll share my strategy and a link to some of my reviews.
My strategy for giving code reviews:
- Provide your first impression of their project
- List their issues brought to attention (if any)
- Go over their issues while understanding their approach and provide alternative options
- Provide suggestions and resources for further study
🔗💻 Here is a link to my Scrimba code reviews: scrimba.com/playlist/py3LnWzTn
Platforms where you can give and receive code reviews for FREE, include Scrimba and the HTML All The Things Discord channel.
Portfolio reviews
In today's competitive job market, having a degree, certification, or equivalent qualification is insufficient to get your foot in the door. Mike explains that programmers are problem solvers, and you must prove your ability through your projects. So to gain a competitive edge, create a portfolio showcasing your work, complete with open and accessible code (such as a GitHub repository). Doing so will offer hiring managers a clear demonstration of your work ethic and skills.
Once you have a portfolio, seek an experienced developer to review it. As a junior developer, you must learn your shortcomings and where to improve to ensure future success.
Junior developer portfolios lack by:
- Not enough variation
- Bad design
- Not following best coding practices
An experienced developer in the industry can significantly assist you by pinpointing where you need improvement.
Tips for creating a solid portfolio include:
- Showcasing a variety of projects that demonstrate your skills and expertise
- Prioritizing clean, responsive, and user-friendly design
- Including detailed descriptions of each project, highlighting your role and the technologies used
- Integrating live demos or links to deployed projects
- Providing accessible code samples or links to GitHub repositories
Mike emphasizes the importance of a strong portfolio, which can directly land you a job!
A recruiter and a tech industry expert reviewed my portfolio, which provides valuable insight into what hiring managers are looking for. You can learn about it in my following articles:
Senior UX Microsoft Engineer Shashi Lo provides FREE help for aspiring web developers on Fridays with his "Portfolio Review Friday" on Twitter. Pastel supports the reviews and will resume in August 2023 (As these are free events, availability varies).
Community participation
Mike encourages us to participate in online communities to network with others. A great way to get your foot in the door is through someone in your network! Mike elaborates by explaining that tech is a competitive field, and in the future, someone you know will work at a company and may be in a position to help you get hired! Great places to network include Twitter, LinkedIn, and Discord.
Tips on effectively networking with others include:
- Be genuine and authentic in your interactions
- Build relationships over time, not just for immediate gain
- Offer value and assistance to others before asking for help
- Share your own experiences and knowledge to help others
- Be respectful and considerate of others' opinions and perspectives
Another great way to participate in the community is to contribute to open-source projects. Open-source contributions provide you with real-world experience that can help you get hired!
By working on real-world projects, you can enhance your coding skills and demonstrate your ability to collaborate with a team. This experience showcases your problem-solving skills and adaptability while allowing you to learn from experienced developers. You will also build your reputation and visibility within the developer community and gain experience with various tools, technologies, and coding practices.
Tips on contributing to open-source projects include:
- Start with beginner-friendly issues, such as fixing typos or updating documentation
- Look for projects with "good first issue" or "help wanted" labels to find suitable tasks for beginners
- Join the project's community channels, like forums or chat, to ask questions and learn from others
- Read project documentation and guidelines to understand the project's structure and contribution process
- Be open to feedback and willing to make revisions to your contributions
So, where can you get started with contributing to open-source? Eddie Jaoude’s EddieHub Community is a fantastic place to start! EddieHub is an inclusive open-source community that encourages and promotes communication, best practices, and technical expertise. Here is the Discord link: EddieHub
If you would like to see coverage of an actual coding collaboration on an open-source project, definitely check out this YouTube video with Eddie Jaoude and Kyle (TechSquidTV) working on LinkFree: Collaborating on the Open Source Project LinkFree with Kyle TechSquidTV
Content Creation
Benefits of Content Creation
Mike reconfirms that tech is a competitive industry and that you will greatly benefit by creating content, as it will effectively help you to stand out from the crowd, which can help you to break into tech! You can become a content creator by writing blogs, posting on social media, and creating videos.
Don't be shy or feel you are not yet qualified to teach! As you are learning, you have a lot of value to share because you have a fresh perspective on the topic. Even though there will be others covering the same topics, there will be people who will enjoy your personality and better benefit from your teaching style.
Platforms for Content Creation
You can easily get up and running with writing articles by creating a blog on services such as Hashnode and Dev.to. I post content on both of these platforms in addition to my personal blog.
Tips for Creating Content
- Writing articles: Share your knowledge, experiences, and insights on topics you're learning. This helps you establish yourself as a thought leader and connect with like-minded developers.
- Creating YouTube videos: Produce tutorials, walkthroughs, or vlogs on coding concepts or projects you've worked on. Visual content can be more engaging and allows you to showcase your personality and teaching style.
- Posting on Twitter: Share tips, updates, and thoughts in concise tweets. Engage with other developers, participate in discussions, and join relevant hashtag conversations to expand your network.
- Posting on LinkedIn: Share longer-form content, like articles and project updates, and participate in professional discussions. This platform is ideal for networking with potential employers and showcasing your expertise.
- Discord channels: Join developer communities on Discord to share your content, ask for feedback, and engage in real-time discussions with fellow developers. This can help you build connections and improve your skills through collaboration.
- Importance of consistency and quality: Regularly posting high-quality content can help build an audience and establish credibility.
Success story: Dylan Israel, a self-taught developer, credits his success in breaking into the tech industry to his content creation efforts on YouTube (CodingTutorials360) and his podcast (Self-Taught Or Not). This has not only helped him secure a six-figure income but also helped land him a job at Amazon and beyond!
I can personally attest that content creation can open up numerous opportunities for you. Writing articles has not only led people to approach me with paid offers to write articles and become a paid code reviewer, but I also receive direct messages from hiring managers offering job positions on a regular basis! If I can accomplish this, THEN SO CAN YOU!
Don't wait any longer! Start creating content today, and unlock the countless opportunities that await you on your path to success!
Be sure to listen to the episode!
Episode 243 Helping Junior Developers Succeed
Be sure to check out HTML All The Things on socials!
Scrimba Discount!
- Learn to code using Scrimba with their interactive follow-along code editor
- Join their exclusive discord communities and network to find your first job!
- Use this URL to get 10% off on all their paid plans: https://tinyurl.com/ScrimbaHATT
My other related articles
- How to Get Started Learning Web Development from Scratch
- Creating Opportunity: Personal Branding Strategies for Success
- The Importance of Learning in Public
- LinkFree: More Than Just Your Links, It’s a Tech Social Platform
Conclusion
Even though companies favor hiring developers with prior work experience, there are several strategies for you to level up from a junior developer to an in-demand developer to help you beat the odds!
You can transition from a junior developer to an in-demand developer by seeking mentorships, participating in code and portfolio reviews, contributing to open-source projects, and engaging in content creation. By doing so, you can acquire the experience and skills needed to stand out in the competitive tech industry and fulfill the work experience requirements for various job positions.
You must also be vigilant! Continuously learning, adapting to new technologies, and maintaining a growth mindset are essential for staying up-to-date and remaining competitive. Building a strong personal brand and staying connected with the tech community can lead to more opportunities and long-term success in the competitive tech industry.
Networking is crucial! Be sure to network on Twitter, LinkedIn, Discord, and others. Someone within your network could be your gateway to breaking into the tech industry!
Let's connect! I'm active on LinkedIn and Twitter.
You can read all of my articles on selftaughttxg.com