Expert Advice for Developers Beginning Their Tech Careers
Introduction
Want insider tips to advance your tech career? This article shares expert advice for developers just starting out! Learn how to gain essential skills by leveraging AI tools, seeking mentorship from experienced developers, creating code templates, deepening your understanding of development tools, managing imposter syndrome, working with a team, and enhancing your skills by completing projects to propel your growth and success in the industry!
Topics covered in this article include:
Learning Your Tools
Maximizing AI Tools in Your Workflow
Surrounding Yourself with Experienced Developers
Creating and Using Code Starters
In-Depth Understanding of Your Development Tools
Embracing and Managing Imposter Syndrome
Boosting Your Skills by Completing Projects
Learn Your Tools
If your mouse battery died, could you code with just your keyboard? That's just scratching the surface of Mike's "learning your tools" concept, which is his first tip for you in becoming a professional developer. Learning your tools in depth will help you become more productive. Mike specifically encourages you to learn how to use your code editor effectively.
For example, mastering keyboard shortcuts can significantly speed up your workflow by allowing you to quickly navigate through your code, refactor code, and manage files without touching the mouse. Customizing your editor with extensions and plugins tailored to your specific needs can enhance functionality, such as linting for error detection, auto-completion for faster coding, and integrated terminal access for running commands directly within the editor. Also, understanding how to use version control integrations within your editor can streamline your development process by making it easier to commit changes, resolve conflicts, and collaborate with others.
VS Code, an open-source editor created by Microsoft, is popular among developers because it offers a highly customizable environment, a vast library of extensions, and robust features like IntelliSense, debugging, and integrated Git support. Oh yeah, did I forget to mention it's FREE?
If you choose to use the VS Code editor, you might find following Jesse Hall (a.k.a. codeSTACKr) helpful. He has plenty of FREE content on YouTube to help you get started.
Jesse also created a comprehensive course that will turn you into a VS Code superhero! At the time of this article's release, the course costs $9 to $24 USD, depending on whether you want the Digital Ebook, 2.5 hours of video, or both. I purchased the course, and I highly recommend it!
Another tool Mike highly recommends to speed up your workflow is Supermaven, which Jacob Jackson founded. Supermaven is an advanced AI-powered code completion tool designed to enhance developer productivity with fast, high-quality code suggestions. Supermaven has demonstrated superior speed and lower latency in performance tests compared to competitors like GitHub Copilot, Codeium, Tabnine, and Cursor. Its unique approach of analyzing the sequence of edits rather than just files helps it quickly understand what you're trying to achieve, making it an excellent tool for refactoring and other coding tasks.
Mike, who has used both GitHub Copilot and Supermaven, confirms Supermaven's superior speed and efficiency. He highlights that Supermaven's ability to autocomplete code specific to his project has significantly boosted his productivity and learning process.
Supermaven offers a free tier! If you're interested in learning more about Supermaven, you can read my review article: Supermaven: The FREE GitHub Copilot Alternative
Maximizing AI Tools in Your Workflow
The time of Skynet has arrived, and you must learn to work with AI to make it in the tech industry—or be terminated!
Developers who learn to work with AI will continue to grow in their careers, using the technology to boost their skills, productivity, and creativity. However, those who don't adapt may fall behind as the industry places increasing value on AI integration. This skill gap could lead to fewer job opportunities or even job loss, so it's important for you to embrace AI in order to stay competitive.
Although AI was not around when Mike started to learn web development, he highly recommends that you learn how to work with it effectively to maximize your workflow. AI has changed how we learn and work, offering new ways to grow efficiently. Mike strongly suggests learning to use AI well because it can be a personal mentor available 24/7. It can answer coding questions, review code, and speed up your learning.
However, it's crucial to be aware of its limitations. AI can sometimes provide incorrect information, and over-reliance on it can hinder your ability to produce high-quality work independently.
By mastering AI tools, you can enhance your abilities, gain a competitive edge, and more effectively navigate the fast-paced changes in the tech industry.
I have been using AI as a pair programmer, successfully built a React Star Wars Ahsoka website, and covered the entire process in an article series.
Here are the key insights I can share with you to help you effectively and productively use AI:
Use AI as Your Mentor: Treat AI as a personal, tireless mentor to answer coding questions and provide guidance.
Learn How to Separate Files: Utilize AI to help structure your projects by separating files for data, functions, components, and images.
Build Code Beyond Your Current Knowledge: Leverage AI to write code that exceeds your current skill level, enhancing your learning process.
Understand Dependencies: Recognize that some libraries rely on others and use AI to navigate these dependencies effectively.
Ask for Explanations: Regularly ask AI to explain how the code works to deepen your understanding and improve your coding skills.
Add Comments: Use AI to add comments to your code, making it easier to understand and maintain.
Verify AI Suggestions: Always verify the information provided by AI to avoid potential misinformation.
Avoid Over-Reliance: Use AI as a tool, not a crutch, to ensure you can produce high-quality work independently.
Be Clear and Precise: To get the best results, make your AI prompts as clear and precise as possible.
By mastering AI tools, you can enhance your abilities, gain a competitive edge, and more effectively navigate the fast-paced changes in the tech industry!
Surround Yourself with Experienced Developers
When it comes to web development, If you're the smartest person in your network group, it's time to expand it! You can only get so far by yourself and learning from online resources. Surrounding yourself with experienced developers can help you grow faster by providing advanced knowledge, different viewpoints, constructive feedback, and potential employment opportunities!
It sure sounds good, but how do I expand my network? In my experience, joining online social groups is an easy way to start. Check out Twitter, LinkedIn, and Discord groups. Once you've joined a few, start engaging actively by participating in discussions, sharing your knowledge, asking questions, and offering help to others. This approach will help you learn and make you more noticeable to experienced developers, leading to the natural growth of your network.
💡 Tip: Create thank you posts tagging the speakers and including key conversation points. This approach will show gratitude for their time, reinforce and share their wisdom, and help grow your network.
Once you've become comfortable participating in online events, participate in video meetings. Video meetings can vary by group and individual settings and platforms such as Zoom, Google Meet, and Skype. Active Twitter members often contact each other through one-on-one calls, known as Coffee Chats. These informal conversations typically last around 15-30 minutes and provide an opportunity to discuss industry trends, share experiences, seek advice, and build professional relationships in a relaxed setting.
Finally, nothing beats meeting and conversing in person! So, attending meetups, conferences, and other gatherings is another excellent way to grow your network. These face-to-face interactions allow for deeper connections, spontaneous conversations, and opportunities that might not arise in a virtual setting. They also provide an atmosphere where you can meet people outside your current network, which will help you grow it better!
I recently attended my first in-person Code & Coffee meetup and can share the following advice to help you make the most of yours:
Prepare Your Elevator Pitch: Write and practice a concise elevator pitch that includes your name, tech goals, and interests.
Engage Actively: Participate in discussions, ask questions, and offer help to others to make the most of your networking opportunities.
Showcase Your Projects: Bring a computer to showcase your work and get feedback from experienced developers.
Make Connections: Connect with attendees on other social platforms and exchange contact information (Twitter, LinkedIn, Discord, etc.).
Familiarize with the Venue: Know how to navigate and exit the venue to avoid any potential embarrassment.
From left to right: Steven Troy Gittens, Sam, Richard Choi, myself, and James Q. Quick.
Start expanding your network today by joining online groups and attending local meetups. The connections you make and the knowledge you gain will be invaluable to your growth as a developer!
Creating and Using Code Starters
As you code out projects, Mike advises you to be mindful of repetitious patterns in your work as you come across them. Repetitious patterns are great opportunities for you to create code snippets and starters. For example, consider a React component, such as a small card containing an image and some text. Something this generic could easily be used on various projects, and adding it along with similar repetitious components to a custom library of your creation can save you much time in the future!
Creating a custom library is also great for building your skill set! Special podcast guest Puru built the neo confetti library, enabling you to easily add a component to your project that creates confetti explosions and works across all frameworks! In creating the library, Puru needed to learn how to make it open source, submit it to NPM so it is installable, and maintain it, which made him a better developer. He also grew his network as other developers started to use the neo confetti library and connect with him.
Building code snippets and starters and taking it further by creating a custom library will streamline your workflow and improve your development skills. This process will expose you to new challenges and learning opportunities, making you a more experienced developer. Additionally, sharing your library with the community can significantly expand your professional network, as other developers will recognize your contributions and connect with you. This increased visibility will also boost your online presence, opening up further opportunities for collaboration and career growth.
In-Depth Understanding of Your Development Tools
As I am sure you already know, there are many ways to build the same website with many different tools. Mike explains that most developers, including himself, can get a lot done with just the surface level of the tools they use to build applications and projects—Mike is currently learning Svelte in-depth. He explains that you will stand out from other developers and become a better programmer if you understand your development tools in-depth.
Another advantage of gaining an in-depth knowledge of your development tools is becoming a more efficient programmer. Mike warns that "surface-level developers" are easily prone to creating inefficient apps with security vulnerabilities. So, take the time to learn your development tools in-depth to set yourself apart from other developers. Mastering these tools will give you a competitive edge in the job market!
I realize that I take Netlify for granted when I push my projects to GitHub and have them deploy automatically, as Netlify handles all the heavy lifting by building them. If you took the time to learn how this build process works and could articulate it clearly, you would gain a competitive advantage over other developers who rely on it without understanding the process!
Embracing and Managing Imposter Syndrome
When does imposter syndrome end? It doesn't. As you reach new levels throughout your career, you will continue to experience imposter syndrome. To best handle this situation, Mike advises you to learn how to embrace and manage this fact.
Embracing imposter syndrome doesn't mean giving in to it. Instead, view it as a chance to motivate yourself to keep learning. So, try not to see imposter syndrome as something negative. Instead, use it as an opportunity to do something positive!
As a self-taught developer, I have plenty of insights into imposter syndrome and can offer guidance to help you further:
Don't compare yourself to others
As a developer, you will always need to learn more
Focus on what you can control and do that; don't stress over what you can't control
Not everyone will cheer you on
Friends and family might not understand your achievements
Don't compare yourself to others
Everyone learns differently and has unique skill sets, family obligations, and other responsibilities. I'm sure you understand my point. The only person you should compare yourself to is yourself: your skill set from yesterday, last week, and last month. You are not in a competition. Take the time you need to learn properly without rushing.
Having a solid foundation at each coding level that you reach will give you confidence and help offset imposter syndrome.
As a developer, you will always need to learn more
In the ever-changing tech industry landscape, you must continually learn to stay current and remain employable. Understanding this and maintaining a growth mindset will help you keep imposter syndrome in check.
Focus on what you can control; don't stress over what you can't.
The economy, current job market, discrimination, and similar factors are not within your control. Do not stress over things you cannot change. Instead, focus on what you can control and be productive with it. You can practice coding, study, continue learning, build portfolio projects, network with others, build your online presence, and more.
Focus on building your skillset and your network. By doing so, you will be prepared to seize opportunities when they arise!
Not everyone will cheer you on
You will never make everyone happy, and everyone will not cheer you on. You will have to grow tough skin and learn to deal with negative attitudes toward you.
Don't depend on others to make you happy; you need to be in control of your happiness!
Friends and family might not understand your achievements
There is a good chance that your close friends, family, and relatives are not web developers. So, it is easy to get discouraged when you do not receive praise from them for your accomplishments.
Remember that your worth and progress are not defined by others' recognition but by your own growth and achievements.
💡 Key Points: Taking control of your journey, embracing your progress, and letting your achievements speak for themselves will help you continue embracing and managing imposter syndrome. Remember not to compare yourself to others, always be open to learning more, focus on what you can control, and don't stress over what you can't. Understand that only some will cheer you on; friends and family might only sometimes understand your achievements.
Boost Your Skills by Completing Projects
The best way to learn how to code is to code; the best projects to code are projects you are passionate about! One of Mike's regrets is not coding out enough passion projects before he entered the tech workforce. You can learn a lot, including essential programming concepts, best practices, and more, without it feeling like work because you are having fun! This is especially true when others work with you on joint projects. Collaborating with other developers on passion projects helps you learn essential skills like version control, deployments, and testing. These skills are crucial when you enter the workforce and can prevent you from feeling overwhelmed.
A great real-world example of learning by collaboration is Shahi Lo's—Senior UX Engineer at Microsoft—Gridiron Survivor project. Shashi's Gridiron Survivor project combines the excitement of football with software development education. It offers a platform for developers to engage in a survivor-style fantasy football game while building their coding skills and understanding project management. The project emphasizes learning through doing, covering full-stack development, testing, code reviews, and agile methodologies. It also serves as a mentorship platform, teaching participants effective communication, teamwork, and quality assurance through rigorous testing and review processes. Developed publicly, the project showcases its process, challenges, and learning moments, aiming to educate and inspire the tech community. Shashi aims to help junior developers transition smoothly into professional roles by proving their capabilities through real-world project experience.
If you want to learn more about Gridiron Survivor, check out Shashi's upcoming HTML ALL The Thinks Podcast special guest episode and companion article!
Be sure to listen to the Podcast episode!
🎙 Things I Wish I Knew Before Becoming a Web Developer
Be sure to check out HTML All The Things on socials!
Learn with Scrimba!
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 our affiliate link for a 10% discount!! (Discount valid until the end of 2024)
Click the link and take a look around at the new Scrimba 2.0!
Make an account
You'll then have the option to upgrade to pro content (and you should see our 20% discount listed!)
Discount is for new accounts only
This article contains affiliate links, which means we may receive a commission on any purchases made through these links at no additional cost to you. This helps support our work and allows us to continue providing valuable content. Thank you for your support!
Sponsored content: The original publisher kindly sponsored this article, allowing me to share my expertise and knowledge on this topic.
My other related articles
Mastering React with AI Pair Programming: Building a Star Wars Ahsoka Website - article series
Empowering Web Developers with Spartan Strength: AI as Your Ultimate Pair Programmer
Kickstart Your Coding Journey: A Guide to Free Web Development Resources
Conclusion
Mastering your development tools is crucial for boosting productivity and efficiency. By becoming proficient with your code editor and other essential tools, you can streamline your workflow and accomplish tasks more quickly.
Using AI tools can significantly enhance your coding skills. AI can act as a mentor, helping you solve problems, review code, and learn new concepts faster. Embracing AI in your workflow can give you a competitive edge.
Surround yourself with experienced developers to gain valuable insights and opportunities. Networking with seasoned professionals can provide advanced knowledge, different perspectives, and potential job leads. Engaging with a community of developers can accelerate your growth.
By creating and using code starters, you can make your work smoother and help you improve your skills. By developing reusable code snippets and libraries, you can save time on repetitive tasks and focus on more complex challenges. This practice also helps you build a robust toolkit for future projects.
To stand out and create great apps, it's essential to understand your development tools deeply. Going beyond surface-level knowledge allows you to make more efficient, secure, and high-quality applications. This in-depth understanding sets you apart from other developers.
Addressing imposter syndrome is essential for personal growth! Recognize that feeling like an imposter is a shared experience, even among seasoned professionals. Use it as motivation to keep learning and improving. Embracing this mindset will help you grow more confident in your abilities.
Completing projects, especially those you're passionate about, can help you learn and collaborate effectively with others. Working on real-world projects allows you to apply your skills, learn new ones, and gain practical experience. Collaborating with others on these projects can teach you valuable teamwork and communication skills.
Try implementing these strategies to fuel your growth and success in the tech industry!
Let's connect! I'm active on LinkedIn and Twitter.
You can read all of my articles on selftaughttxg.com
Subscribe to my newsletter
Read articles from Michael Larocca directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Michael Larocca
Michael Larocca
Hello, I'm Michael. Like many people, I am an aspiring self-taught web developer. My goal for this blog is to document and share the progress of my self-taught coding journey.