<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Simon Holdorf</title>
    <description>The latest articles on DEV Community by Simon Holdorf (@simonholdorf).</description>
    <link>https://dev.to/simonholdorf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F203467%2F61060b32-0fe3-443c-99e4-a6333e0e5d4e.jpeg</url>
      <title>DEV Community: Simon Holdorf</title>
      <link>https://dev.to/simonholdorf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/simonholdorf"/>
    <language>en</language>
    <item>
      <title>DevOps is Dead!</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 09 Jan 2023 07:10:36 +0000</pubDate>
      <link>https://dev.to/simonholdorf/devops-is-dead-2n7b</link>
      <guid>https://dev.to/simonholdorf/devops-is-dead-2n7b</guid>
      <description>&lt;p&gt;DevOps is dead ❗ ❗ ❗ &lt;br&gt;
Platform engineering takes over.&lt;/p&gt;

&lt;p&gt;I heard this several times over the last month. &lt;/p&gt;

&lt;p&gt;But is it true? Are companies turning away from DevOps, and should you switch careers???&lt;/p&gt;

&lt;p&gt;I've made a video to set the record straight 👇&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/hN6a2Q6yq0g"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How to Become a Cloud Engineer in 2023</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 02 Jan 2023 15:04:23 +0000</pubDate>
      <link>https://dev.to/simonholdorf/how-to-become-a-cloud-engineer-in-2023-5b81</link>
      <guid>https://dev.to/simonholdorf/how-to-become-a-cloud-engineer-in-2023-5b81</guid>
      <description>&lt;p&gt;In this post, I will show you the steps I would take to become a Cloud Engineer.&lt;br&gt;
So, If you're interested in of the most exciting roles in cloud computing, this roadmap is for you!&lt;br&gt;
If also created a video with more details for each step, providing more resources &amp;amp; advice👇&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/6Yi3c259RE0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: The Role
&lt;/h2&gt;

&lt;p&gt;On a high level, a cloud engineer is responsible for designing, building, and maintaining an organization's cloud computing infrastructure and systems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: The Fundamentals
&lt;/h2&gt;

&lt;p&gt;Don't skip the Fundamentals!&lt;br&gt;
Learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;General Cloud Computing&lt;/li&gt;
&lt;li&gt;Networking&lt;/li&gt;
&lt;li&gt;Operating systems&lt;/li&gt;
&lt;li&gt;Virtualization&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Selecting a Cloud Provider
&lt;/h2&gt;

&lt;p&gt;It is beneficial to have experience with multiple cloud providers as a cloud engineer.&lt;br&gt;
If you are starting, I would highly recommend concentrating on one cloud provider first: AWS, Azure, or GCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Acquiring programming knowledge
&lt;/h2&gt;

&lt;p&gt;As a cloud engineer, it is important to understand at least one programming or scripting language, especially for automating tasks and provision resources in the cloud.&lt;br&gt;
Know your way around Git and a product like GitHub or Gitlab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: Learning DevOps principles &amp;amp; tools
&lt;/h2&gt;

&lt;p&gt;DevOps is a set of practices that aims to improve collaboration between development and operations teams and increase software delivery speed and reliability.&lt;br&gt;
Know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;IaC&lt;/li&gt;
&lt;li&gt;Monitoring &amp;amp; Logging&lt;/li&gt;
&lt;li&gt;Collaboration &amp;amp; Communication&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 6: Gaining Hands-On experience
&lt;/h2&gt;

&lt;p&gt;Seeking opportunities to gain practical, hands-on experience with cloud technologies is essential to becoming a successful cloud engineer.&lt;br&gt;
The first step is to create an account with one of the big cloud providers, AWS, Azure, or GCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step: 7 Earning Certifications
&lt;/h2&gt;

&lt;p&gt;Obtaining a certification can be beneficial for several reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validation of skills&lt;/li&gt;
&lt;li&gt;Improved job prospects&lt;/li&gt;
&lt;li&gt;Professional development&lt;/li&gt;
&lt;li&gt;Increased earning potential&lt;/li&gt;
&lt;li&gt;Fun challenge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To become a successful Cloud Engineer, you need to have a mindset focused on delivering scalable, reliable, and secure solutions.&lt;br&gt;
More details for each step can be found in the video mentioned above!&lt;/p&gt;




&lt;p&gt;If this was helpful to you:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.youtube.com/@litwire" rel="noopener noreferrer"&gt;Subscribe to my YouTube Channel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://litwire.substack.com/" rel="noopener noreferrer"&gt;Sign-Up for my free newsletter&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>What is ChatGPT and why should you care?</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 19 Dec 2022 18:23:41 +0000</pubDate>
      <link>https://dev.to/simonholdorf/what-is-chatgtp-and-why-should-you-care-1jcg</link>
      <guid>https://dev.to/simonholdorf/what-is-chatgtp-and-why-should-you-care-1jcg</guid>
      <description>&lt;p&gt;ChatGPT is a cutting-edge language processing model created by OpenAI, a company famous for its AI-based products like GPT-3 or DALL-E.&lt;/p&gt;

&lt;p&gt;In this video you will learn:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What ChatGPT is capable of&lt;/li&gt;
&lt;li&gt;What ChatGPT is less suited for&lt;/li&gt;
&lt;li&gt;Why ChatGPT can be dangerous&lt;/li&gt;
&lt;li&gt;Will ChatGPT replace programmers?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/SyT4FCyKUiE"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>DevOps in a nutshell | Culture, Workflow &amp; Tools Explained</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 05 Dec 2022 13:50:39 +0000</pubDate>
      <link>https://dev.to/simonholdorf/devops-in-a-nutshell-culture-workflow-tools-explained-3e1g</link>
      <guid>https://dev.to/simonholdorf/devops-in-a-nutshell-culture-workflow-tools-explained-3e1g</guid>
      <description>&lt;p&gt;If you are interested in learning DevOps, check out my latest video explaining the key concepts in easy &amp;amp; understandable way:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/w1-SgahfeZA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
    <item>
      <title>20+ beginner Cloud &amp; DevOps resources that are free!</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Thu, 02 Sep 2021 11:29:11 +0000</pubDate>
      <link>https://dev.to/simonholdorf/20-beginner-cloud-devops-resources-that-are-free-1oe3</link>
      <guid>https://dev.to/simonholdorf/20-beginner-cloud-devops-resources-that-are-free-1oe3</guid>
      <description>&lt;p&gt;If you want to get started with Cloud &amp;amp; DevOps but don't know where I've compiled some incredible resources for you. Of course, not all of them might be relevant for you so pick those where you can improve your skills!&lt;/p&gt;

&lt;p&gt;Start your journey now!&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Introduction to Cloud Computing | Getting started
&lt;/h2&gt;

&lt;p&gt;Introductory course to cloud computing by IBM on course. Great way to get started with the topic!👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.coursera.org/learn/introduction-to-cloud"&gt;https://www.coursera.org/learn/introduction-to-cloud&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2. AWS Foundations Course | Getting started
&lt;/h2&gt;

&lt;p&gt;Learn the fundamentals of the AWS Cloud with this short introduction course. There are many more resources available from AWS and this is a good starting point.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.aws.training/Details/Video?id=49639"&gt;https://www.aws.training/Details/Video?id=49639&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  3. AWS Cloud Practitioner Essentials | Getting started
&lt;/h2&gt;

&lt;p&gt;In this 6-hours long course, you will learn about AWS Cloud concepts, services, security, architecture, pricing, and support. It also helps you prepare for the Certified Cloud Practitioner exam.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.aws.training/Details/eLearning?id=60697"&gt;https://www.aws.training/Details/eLearning?id=60697&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4. MadeByGPS | Getting Started
&lt;/h2&gt;

&lt;p&gt;This awesome repository is based on practical experience going from service desk to cloud engineering. This can be your starting point for an incredible career! 🔥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/madebygps/self-taught-guide-to-cloud-computing"&gt;https://github.com/madebygps/self-taught-guide-to-cloud-computing&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Google Cloud Training | Learning Paths
&lt;/h2&gt;

&lt;p&gt;Google is offering some great and mostly free resources to get you started with cloud computing and its platform.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud.google.com/training"&gt;https://cloud.google.com/training&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Azure | Learning Paths
&lt;/h2&gt;

&lt;p&gt;With these (mostly) free resources from Microsoft, you can grow your skills to build and manage applications in the cloud, on-premises, and at the edge. 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/learn/azure/"&gt;https://docs.microsoft.com/en-us/learn/azure/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Azure DevOps Labs | Hands-On
&lt;/h2&gt;

&lt;p&gt;Azure provides great hands-on labs that will help you to get started with Azure DevOps services. You just need a valid Azure Account (12 months free!) 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://azuredevopslabs.com/default.html"&gt;https://azuredevopslabs.com/default.html&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  8. AWS Workshops | Hands-On
&lt;/h2&gt;

&lt;p&gt;100+ hands-on workshops created by AWS experts 🔥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://workshops.aws/"&gt;https://workshops.aws/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  9. DevOps Exercises | Hands-On
&lt;/h2&gt;

&lt;p&gt;This is a great repo by containing exercises and questions including answers to help you understand DevOps better and even prepare for interviews. 👍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bregman-arie/devops-exercises"&gt;https://github.com/bregman-arie/devops-exercises&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  10. Qwiklabs | Hands-On
&lt;/h2&gt;

&lt;p&gt;Qwiklabs provides a lot of learning materials for the major cloud providers and quite a lot of them are free. You can even join the free GCP program to earn a GCP skill badge 🔥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://go.qwiklabs.com/qwiklabs-free"&gt;https://go.qwiklabs.com/qwiklabs-free&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  11. DevOps - The Hard Way | Hands-On
&lt;/h2&gt;

&lt;p&gt;A great repository containing free labs, documentation, diagrams, and docs for setting up an entire workflow and DevOps environment from a real-world perspective in AWS. 👍&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/AdminTurnedDevOps/DevOps-The-Hard-Way-AWS"&gt;https://github.com/AdminTurnedDevOps/DevOps-The-Hard-Way-AWS&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  12. Tutorialsdojo | Exams, Guides &amp;amp; Cheat Sheets
&lt;/h2&gt;

&lt;p&gt;Tutorialsdojo provides outstanding resources to prepare for AWS and other certification exams and many of them are free! 🔥&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tutorialsdojo.com/"&gt;https://tutorialsdojo.com/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  13. Techworld with Nana | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;Nana is one of my favorite creators around DevOps. She provides top-notch material, definitely sub to her Youtube 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA"&gt;https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  14. GPS | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;Gwyneth provides lots of useful information and steps to enter the world of cloud &amp;amp; DevOps 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCbjgKwnWnGG7sKCPTRgrFcw"&gt;https://www.youtube.com/channel/UCbjgKwnWnGG7sKCPTRgrFcw&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  15. Corey Shafer | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;Corey provides plenty of tutorials regarding, Git, Python, Linux, Terminal Commands, SQL, ... check this out 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g"&gt;https://www.youtube.com/channel/UCCezIgC97PvUuR4_gbFUs5g&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  16. Cloud Advocate | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;Krishna creates videos around the major cloud providers every week, check him out 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCjfE5EmNU1kyf1wwrtYlnGQ"&gt;https://www.youtube.com/channel/UCjfE5EmNU1kyf1wwrtYlnGQ&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  17. FreeCodeCamp | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;The freecodecamp youtube channel provides lots of videos around cloud, programming languages, etc. 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ"&gt;https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  18. Edureka | Youtube Channel
&lt;/h2&gt;

&lt;p&gt;Edureka provides a lot of great video series about cloud, DevOps, and many more topics.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/channel/UCkw4JCwteGrDHIsyIIKo4tQ"&gt;https://www.youtube.com/channel/UCkw4JCwteGrDHIsyIIKo4tQ&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  19. The Cloudcast | Podcast
&lt;/h2&gt;

&lt;p&gt;Co-hosted by Aaron Delp and Brian Gracely, the podcast revolves around cloud computing, AWS, Azure, big data, AI, ML, ...👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.thecloudcast.net/"&gt;https://www.thecloudcast.net/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  20. Cloud Unfiltered Podcast | Podcast
&lt;/h2&gt;

&lt;p&gt;Hosted by Cisco, this podcast is a series of interviews with the people working to move cloud technology and implementation forward.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.cisco.com/c/en/us/solutions/cloud/podcasts.html"&gt;https://www.cisco.com/c/en/us/solutions/cloud/podcasts.html&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  21. Cloud Computing Reddit | Community
&lt;/h2&gt;

&lt;p&gt;This is a group of 16.2K people sharing news, articles, and tools covering cloud computing, grid computing, and distributed computing.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/cloudcomputing/"&gt;https://www.reddit.com/r/cloudcomputing/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  22. AWS Stash Website | Resources
&lt;/h2&gt;

&lt;p&gt;AWS provides a collection of all their videos, keynotes, blogs, whitepapers, tech talks, and more!👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://awsstash.com/"&gt;https://awsstash.com/&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  23. AWS Certifications Reddit | Community
&lt;/h2&gt;

&lt;p&gt;A great and warm place to see how others prepared for the exams. People share their learning, prep material, and cheer each other up.👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/AWSCertifications/"&gt;https://www.reddit.com/r/AWSCertifications/&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Quality over quantity here - only hand-picked, top-notch resources have made it to this list! 💯&lt;/p&gt;

&lt;p&gt;If you like this, kindly suggest following me on &lt;a href="https://twitter.com/simonholdorf"&gt;Twitter&lt;/a&gt; 🧡&lt;/p&gt;

&lt;p&gt;Have other resources? Please share 👇 &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>cloud</category>
      <category>devops</category>
      <category>programming</category>
    </item>
    <item>
      <title>Tips for Getting a Software Developer Internship</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Sat, 27 Feb 2021 07:34:48 +0000</pubDate>
      <link>https://dev.to/simonholdorf/tips-for-getting-a-software-developer-internship-p31</link>
      <guid>https://dev.to/simonholdorf/tips-for-getting-a-software-developer-internship-p31</guid>
      <description>&lt;p&gt;So you've decided that you want to do an internship. Congratulations! It's a big step and will give you valuable experience. Don't worry if you don't have any experience: there are many reasons why someone would hire an intern, even if they don't have previous experience (e.g., the startup is new, or the team wants to teach someone highly motivated).&lt;/p&gt;

&lt;p&gt;The first thing is to decide what kind of company you want to work for. There are two main kinds of companies where interns work: well-established small startups and large established companies. The latter often have more money and resources, so they can be much more fun and exciting places to work, but they also require a more formal dress code and a lot more bureaucracy (even though this varies by department).&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Find Companies That Offer Software Developer Internships&lt;/li&gt;
&lt;li&gt;Don't be afraid to apply even if they do not have any internships posted&lt;/li&gt;
&lt;li&gt;Don't look at the big companies only&lt;/li&gt;
&lt;li&gt;Be creative with your application materials&lt;/li&gt;
&lt;li&gt;Build something impressive&lt;/li&gt;
&lt;li&gt;Be yourself&lt;/li&gt;
&lt;li&gt;Final Thoughts&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Find Companies That Offer Software Developer Internships&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The next step is to find companies that are hiring. It seems like a no-brainer, but you'd be surprised how many developers apply to random companies without doing any research beforehand. Spend some time looking for potential employers and try to figure out if it's the kind of company you want to work for.&lt;/p&gt;

&lt;p&gt;Once you've found some companies that fit your criteria, it's time to look at their job listings. Some of them will advertise an internship position, but many don't even though they are willing to hire new graduates. So how do you find out if a company is offering internships? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here are a few ways:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use &lt;a href="https://www.linkedin.com/"&gt;LinkedIn&lt;/a&gt; (or another professional network) and look around at the profiles of people who work at the company. You can see what kind of work they do there and whether they mention working as an intern before getting hired full-time. If so, this means the company doesn't mind taking on interns and may be willing to offer you one too. &lt;/p&gt;

&lt;p&gt;Another option would be to reach out directly to someone you know or have interacted with in the past who works for that company. They will most likely let you know about any openings there if they can because it's good PR for them! &lt;/p&gt;

&lt;p&gt;Look for information on AngelList about each startup/company and read through every profile page carefully. Some startups might not advertise their internship opportunities directly, but they might have mentioned it somewhere in the business model's description or why they're raising funding. It's worth checking out! &lt;/p&gt;

&lt;p&gt;Sometimes companies give away internships during hackathons, meetups, or conferences where developers get together to build cool stuff over a weekend. Keep an eye out for these events! &lt;/p&gt;

&lt;p&gt;Twitter is another place where people often post about opportunities such as internships. If you find one that looks interesting, try reaching out directly to see if there are any openings there. &lt;/p&gt;

&lt;p&gt;Check out job listing websites like &lt;a href="https://www.themuse.com/"&gt;The Muse&lt;/a&gt; or &lt;a href="https://weworkremotely.com/"&gt;WeWorkRemotely&lt;/a&gt;. You can search by location, keywords (technology used by the company), compensation, etc. &lt;/p&gt;




&lt;h2&gt;
  
  
  Don't be afraid to apply even if they do not have any internships posted&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;It is often true that many software engineering internships get taken up before they are publicly announced. Google is especially notorious for this. However, many other organizations follow the same pattern. Even though these companies may not currently accept interns, there is no harm in applying anyway! &lt;/p&gt;

&lt;p&gt;It also helps you build up your portfolio when you can show that you have applied to such prestigious organizations that may not accept interns.&lt;/p&gt;

&lt;p&gt;Also, remember that small startups accept interns too! Sometimes, it's easier to land an internship at a small startup because of how much more flexible they are than larger corporations, which tend to adhere strictly to their application deadlines and process.&lt;/p&gt;




&lt;h2&gt;
  
  
  Don't look at the big companies only&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;There are other companies out there, and many offer software developers great opportunities. These little-known companies may not be as well known as Google or Facebook, but they can still provide a great place to work and will likely offer you more responsibility than an internship at a big company. &lt;/p&gt;

&lt;p&gt;If you want to gain experience working on a product that has the potential to change the world, then applying for internships at these smaller companies may be your best bet.  &lt;/p&gt;

&lt;p&gt;Spend some time to identify the target companies and then create a list of relevant information about each one of them:&lt;/p&gt;

&lt;p&gt;A solid piece of advice is to research and document each target company's information before sending applications. Many companies provide different types of information depending on what kind of position they are seeking (i.e., software engineer intern vs. software engineer full-time).&lt;/p&gt;

&lt;p&gt;Once you found a company that seems interesting, make sure you understand what they do (you may even want to try using their product), research the team and founders, and prepare answers to common questions like "Why are you interested in working here?" or "What experience do you have with our product?"&lt;/p&gt;




&lt;h2&gt;
  
  
  Be creative with your application materials&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Applying for an internship at a big tech company can be overwhelming because there is so much competition out there and so many people who want to work there. To stand out from the crowd, make sure that what you have in your application package is unique and exciting, not just from the technical perspective but also from a story perspective. &lt;/p&gt;

&lt;p&gt;For example, suppose you're applying at Google or Facebook and tell them about how much research you did in school-related to a specific project they are working on now. In that case, they might find this intriguing and choose to give you an interview.&lt;/p&gt;

&lt;p&gt;However, suppose all of your stories involve activities from when you were 12 years old (e.g., building websites for your parents' business). In that case, it is unlikely that any of these companies will take notice of your application – even if those experiences were technically impressive at the time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Build something impressive&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Another way to make yourself stand out from the crowd is by building a project or creating something extraordinary that shows your skills as a software developer. Here are some &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;cool javascript projects&lt;/a&gt; for beginners for you to build!&lt;/p&gt;

&lt;p&gt;Learning new technology is always good, but more importantly, having a passion and curiosity for technology will help separate yourself from other candidates when applying for jobs. &lt;/p&gt;

&lt;p&gt;Ensure your GitHub profile is active and filled with projects that demonstrate your skills no matter what language(s) you use. Even if this isn't required by most employers yet, putting together some cool projects will set you apart from other applicants as well as show potential employers that you're interested in developing software more than just getting paid by 9-5 every day!&lt;/p&gt;

&lt;p&gt;Join communities like Reddit (&lt;a href="https://www.reddit.com/r/webdev/"&gt;/r/webdev&lt;/a&gt;), &lt;a href="https://quora.com"&gt;Quora&lt;/a&gt;, &lt;a href="https://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; (developer tag), etc. and keep up-to-date with industry trends so that when interviewing with hiring managers, others may hear about your enthusiasm towards developing software products that could potentially convince them into making an offer!&lt;/p&gt;

&lt;p&gt;If you have built an impressive project before arriving into college, don't forget to include it in your application package – this will also help differentiate yourself from other applicants trying to land an internship at one of these tech titans.&lt;/p&gt;




&lt;h2&gt;
  
  
  Be yourself&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You want to make sure you embrace who you are throughout the interview process to leave a lasting impression on potential employers (and hopefully get them interested in talking to you). &lt;/p&gt;

&lt;p&gt;Showing off your personality is something that can help set you apart from all of those other candidates who are competing for the same position. But also keep in mind that your interviewer has seen hundreds if not thousands of applications already, so try not to take it personally if they do not seem excited about your application at first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts&lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Although it's quite challenging to get an internship as a software developer, you can certainly achieve this goal if you are passionate about programming and have good coding skills. &lt;/p&gt;

&lt;p&gt;Keep in mind that persistence is key when searching for an internship. It may take several attempts before you find a suitable one.  In addition to networking with people who work at potential companies, I also advise you to keep your resume up-to-date by regularly practicing coding exercises or building apps on your own time. &lt;/p&gt;

&lt;p&gt;Also, keep learning new technologies and frameworks so that you can demonstrate how much better prepared you are than other candidates when the time comes to apply for an internship position.&lt;/p&gt;

&lt;p&gt;I recommend doing an internship at a big company after your first year of college because it will give you a good feel for how things work in the industry before jumping into the startup world, which has its own set of challenges and benefits.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>8 Things I wish I knew as a Junior Developer</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Fri, 29 Jan 2021 09:03:07 +0000</pubDate>
      <link>https://dev.to/simonholdorf/8-things-i-wish-i-knew-as-a-junior-developer-4g7d</link>
      <guid>https://dev.to/simonholdorf/8-things-i-wish-i-knew-as-a-junior-developer-4g7d</guid>
      <description>&lt;p&gt;Being a junior developer is not easy. You have a lot of work to do, and you're expected to know everything that's going on in your company. These tips will help you get started on the right foot.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Don't be afraid to ask questions
&lt;/h2&gt;

&lt;p&gt;Asking questions is probably one of the most critical skills for any programmer. You should always try to learn something new when working on a problem or feature, even if it's just some new concept that might come in handy later. &lt;/p&gt;

&lt;p&gt;Besides, there are times when you will encounter issues that have already been solved by someone else (such as Stack Overflow). In these cases, don't be afraid to ask for help! It's better to spend 10 minutes googling and asking questions than spending 2 hours debugging an issue that someone else has already solved. &lt;/p&gt;

&lt;p&gt;I think this is true for &lt;a href="https://thesmartcoder.dev/the-road-from-junior-to-senior-developer/"&gt;senior developers&lt;/a&gt;. You never know what obscure problem someone else might run into that will save them time down the road (or even give them ideas for features they could implement). Even if it doesn't help anyone directly, every question asked and answered helps everyone indirectly by increasing our collective knowledge base. &lt;/p&gt;

&lt;p&gt;If your company has a mentorship program or internal forums where you can ask questions, take advantage of them! Even if they aren't related to your specific project or team, asking about general issues will likely still help you out in the long run.  &lt;/p&gt;




&lt;h2&gt;
  
  
  2. Don't worry about seniority
&lt;/h2&gt;

&lt;p&gt;This is probably the most critical point on this list. It's straightforward to get caught up in the idea of seniority and worry about whether or not you are "senior enough" to do a particular task. There is no such thing as being "senior enough" for anything in my experience. If you think you are ready, then go ahead and try it! &lt;/p&gt;

&lt;p&gt;Even if you fail at first, learn from your mistakes and move on. You can always ask for help if you need it. Just remember that seniority is all relative. There will always be someone who has more experience than you, so don't let that hold you back from doing something because of how it will look on your resume or portfolio.  &lt;/p&gt;




&lt;h2&gt;
  
  
  3. Be proactive
&lt;/h2&gt;

&lt;p&gt;To be successful in software development, immensely as a junior developer, it helps to take the initiative when solving problems or implementing features. This means going above and beyond what was asked of you and making sure that things are done the first time correctly (it also makes it easier for other developers to review your code).&lt;/p&gt;

&lt;p&gt;I personally find this approach useful because it allows me to learn more about the problem domain I am working in (which is often a requirement when working with larger projects). Asking questions during these times can be helpful, too, since they often lead to discussions about why individual decisions were made or why certain approaches were taken (this may help guide future decision-making). &lt;/p&gt;

&lt;p&gt;Even if your ideas aren't implemented right away, they might inspire others or even make their way into future versions of the product (I have seen this happen many times before). &lt;/p&gt;

&lt;p&gt;This also helps build trust with your team members since they know that you will do what needs to be done without continually asking them for guidance.  &lt;/p&gt;




&lt;h2&gt;
  
  
  4. Write good code
&lt;/h2&gt;

&lt;p&gt;This may seem obvious, but it's straightforward to get caught up in the idea of shipping features and not worrying about how they are implemented. This is especially true when working on a team with many developers (or even working alone). &lt;/p&gt;

&lt;p&gt;However, writing good code makes it easier for other developers to read and review your work (which saves time in the long run). It also makes it easier for you to understand your own code later on (saving time in the short run). &lt;/p&gt;

&lt;p&gt;If you have never written tests before, this is another area where you can take the initiative and learn more about your language or framework by reading about testing strategies or writing some simple tests yourself. If you write tests, they will help you catch bugs early on instead of debugging them after a feature has been shipped. &lt;/p&gt;




&lt;h2&gt;
  
  
  5. Read code
&lt;/h2&gt;

&lt;p&gt;This one is pretty obvious, but it's still essential. Reading code is a great way to learn how things are done in other projects and languages. It also allows you to see what kinds of problems developers face when writing software, which will help you with problem-solving later on in your career.&lt;/p&gt;

&lt;p&gt;If you ever get stuck on something and need help from someone else, being able to explain the problem is extremely important. This helps with communication between developers as well as collaboration on projects (which should be the primary goal of any developer). Also, reading code may just give you some ideas for your own project! &lt;/p&gt;




&lt;h2&gt;
  
  
  6. Learn from others
&lt;/h2&gt;

&lt;p&gt;This point should be obvious too, but I think it's important enough that I wanted to mention it anyway. Take advantage of opportunities to learn from others! For example, if someone asks a question on Stack Overflow that you know the answer, go ahead and answer it! You might also consider sharing your knowledge by blogging or speaking at meetups/conferences. Even if your answer isn't directly related to your job duties, there is still value in answering questions since you are likely learning something new while doing so (this might help solve future problems that come up as well). &lt;/p&gt;

&lt;p&gt;Also, keep an eye out for articles/videos/podcasts/books that might be relevant to what you are working on. These can often explain why certain decisions were made and how they could be improved upon. &lt;/p&gt;

&lt;p&gt;Finally, don't forget about books! Books are probably one of the best ways to learn new things because they allow you to read at your own pace without being interrupted by meetings or interruptions from coworkers. &lt;/p&gt;

&lt;p&gt;There are so many great books out there that cover a wide range of topics. Ensure that whatever book(s) you choose covers topics relevant to what you do day-to-day!   &lt;/p&gt;




&lt;h2&gt;
  
  
  7. Practice what you learn
&lt;/h2&gt;

&lt;p&gt;This is a great way to solidify your knowledge of a topic, and it's also an easy way to show off what you have learned to others (such as interviewers or potential employers). You could start doing some &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;JavaScript practice projects&lt;/a&gt;, for example.&lt;/p&gt;

&lt;p&gt;It might be a little more difficult if you are working on a large project, but there are still opportunities to practice what you learn. For example, maybe you can implement some features using the latest technology that your company just started using. If not, you can try implementing some small feature using this new technology and sharing it with your team members. &lt;/p&gt;

&lt;p&gt;The point is that even if you aren't able to use the new stuff at work, there are plenty of opportunities outside of work where you can show off what you have learned (such as meetups/conferences or hackathons). You might even consider writing blog posts about the technologies/frameworks that interest you. I have found many useful articles/videos on blogs before!   &lt;/p&gt;




&lt;h2&gt;
  
  
  8. Don't worry about experience
&lt;/h2&gt;

&lt;p&gt;I think this one applies more to junior developers who have recently graduated from college or Bootcamp. It's very easy for junior developers who just graduated to focus too much on building up their resume and acquiring "senior level" experience instead of focusing on learning new things and developing their skillset. &lt;/p&gt;

&lt;p&gt;However, this approach doesn't always work out well in the long run because it leads to junior developers trying to do things they aren't ready for yet (and then getting frustrated when they fail). &lt;/p&gt;

&lt;p&gt;Instead, I would recommend focusing on learning new things regardless of whether or not they will help your resume in the short term. If anything, take advantage of opportunities to build your skillset and give yourself an edge over other candidates during interviews (even if they don't lead directly to a job offer). &lt;/p&gt;

&lt;p&gt;Also, don't worry about whether or not something counts as "senior-level experience". Only worry about whether or not something will help you become a better developer!&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Junior developers should really focus on the fundamentals of programming and building projects while also improving their problem-solving skills. This will help you develop into a better developer over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you like what I write and want to support me and my work, please follow me on &lt;a href="https://twitter.com/simonholdorf"&gt;Twitter&lt;/a&gt; to learn more about programming, making, writing &amp;amp; careers🥰&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>todayilearned</category>
      <category>career</category>
    </item>
    <item>
      <title>Lesser-Known Yet Still Popular JavaScript Frameworks for Front-End Developers</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Thu, 21 Jan 2021 14:25:31 +0000</pubDate>
      <link>https://dev.to/simonholdorf/lesser-known-yet-still-popular-javascript-frameworks-for-front-end-developers-1c53</link>
      <guid>https://dev.to/simonholdorf/lesser-known-yet-still-popular-javascript-frameworks-for-front-end-developers-1c53</guid>
      <description>&lt;p&gt;Not long ago, we used Vanilla JavaScript or jQuery to manipulate the DOM in order to create dynamic web applications. Since then, a lot of very good JavaScript frameworks/libraries have emerged helping us to create even more stunning, user-centric applications.&lt;/p&gt;

&lt;p&gt;In this article, I’m going to show you some powerful but less-known client-side frameworks and libraries for JavaScript. Of course, there are the big three — &lt;a href="https://angular.io/"&gt;Angular&lt;/a&gt;, &lt;a href="https://reactjs.org/"&gt;React&lt;/a&gt;, and &lt;a href="https://vuejs.org/"&gt;Vue&lt;/a&gt; — but let’s have a look at other frameworks as well, like &lt;a href="https://svelte.dev/"&gt;Svelte&lt;/a&gt;, &lt;a href="https://preactjs.com/"&gt;Preact&lt;/a&gt;, or &lt;a href="https://riot.js.org/"&gt;Riot&lt;/a&gt;. Which framework to choose depends on factors like developer skills, project situation, industry demand, and others. So check out these frameworks, and decide for yourself.&lt;/p&gt;




&lt;h2&gt;
  
  
  Svelte
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/5Ig3sdQbcCvtwkkVGjNZda/3ab3abe67a5c4c9b406a331c9ce0014b/lkyp1.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/5Ig3sdQbcCvtwkkVGjNZda/3ab3abe67a5c4c9b406a331c9ce0014b/lkyp1.png" alt="svelte"&gt;&lt;/a&gt;&lt;br&gt;
Svelte is the new kid on the block that constantly gains in popularity among web developers. It’s described as a radical new approach for building user interfaces. Compared to Vue or React, which both rely heavily on the browser to do their work, Svelte uses a compile step during build time, allowing for better performance.&lt;/p&gt;

&lt;p&gt;Svelte aims to deliver an outstanding developer experience by reducing the need for writing extensive boilerplate code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Outstanding performance&lt;/li&gt;
&lt;li&gt;Small bundles&lt;/li&gt;
&lt;li&gt;Accessibility&lt;/li&gt;
&lt;li&gt;Built-in style encapsulation&lt;/li&gt;
&lt;li&gt;Declarative transitions&lt;/li&gt;
&lt;li&gt;No virtual DOM&lt;/li&gt;
&lt;li&gt;Less boilerplate code needed&lt;/li&gt;
&lt;li&gt;Truly reactive&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Ember
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/V6ieK7h7mP0H5mPQ6EDEh/3ba029940b18a14fa8cfcdbaab68d15d/lkyp2.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/V6ieK7h7mP0H5mPQ6EDEh/3ba029940b18a14fa8cfcdbaab68d15d/lkyp2.png" alt="ember"&gt;&lt;/a&gt;&lt;br&gt;
Ember.js is another great client-side framework that makes building web applications pretty fast by trying to take all the repetitive, common tasks away from the developer. It provides access to modern JavaScript features.&lt;br&gt;
It comes with a great CLI tool for fast rebuilds, auto-reload, and a test runner. Ember also has a great router that has been the inspiration for other routers, like React Router. The framework is very performant due to its fast rendering technologies.&lt;/p&gt;

&lt;p&gt;Ember addons give you plenty of plugins to enhance your applications. Ember Concurrency, for example, can be used for efficient state management. Ember Simple Auth is an addon supporting all kinds of authentication, and Ember CLI Deploy keeps your deploy logic maintainable and reusable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build pipeline out of the box&lt;/li&gt;
&lt;li&gt;Best-in-class routing&lt;/li&gt;
&lt;li&gt;Extensive data layer&lt;/li&gt;
&lt;li&gt;Fully-featured testing capabilities&lt;/li&gt;
&lt;li&gt;Six-week release cycle&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Preact
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/4Tjvawboahf0ZxuQUjJioW/7829c737001fbf5c618029308b4d7ce3/lkyp3.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/4Tjvawboahf0ZxuQUjJioW/7829c737001fbf5c618029308b4d7ce3/lkyp3.png" alt="preact"&gt;&lt;/a&gt;&lt;br&gt;
Preact is, as the name already suggests, quite similar to React, but the library is much smaller, only 3Kb. Yet it has the same modern API as React. It provides the thinnest possible virtual DOM abstraction, stable platform features, real event handlers, and can directly be used in the browser without transpilation.&lt;br&gt;
It’s also one of the fastest client-side frameworks available, lightweight, and highly performant.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ES6 classes, hooks, and functional components&lt;/li&gt;
&lt;li&gt;JSX, VDOM, DevTools, SSR&lt;/li&gt;
&lt;li&gt;Ready for server-side rendering&lt;/li&gt;
&lt;li&gt;Modern browser support (IE11+)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Riot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/7zTuzyQAwQCggva8jmFvSV/3eda1a3bdb1d66329d2cb48f5e6b482d/lkyp4.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/7zTuzyQAwQCggva8jmFvSV/3eda1a3bdb1d66329d2cb48f5e6b482d/lkyp4.png" alt="riot"&gt;&lt;/a&gt;&lt;br&gt;
Riot is a simple and elegant component-based UI library. It brings custom elements to all modern browsers without the need for polyfills. Those components glue HTML and JavaScript together, forming reusable components. The syntax is clear and aims to be easily readable by humans.&lt;/p&gt;

&lt;p&gt;At only 6Kb, this library is pretty small. It comes with fewer API methods than the bigger frameworks — which means there’s less to learn to be productive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performant and predictable&lt;/li&gt;
&lt;li&gt;Close to standards&lt;/li&gt;
&lt;li&gt;Tooling-friendly&lt;/li&gt;
&lt;li&gt;Enjoyable syntax&lt;/li&gt;
&lt;li&gt;Small learning curve&lt;/li&gt;
&lt;li&gt;Tiny size&lt;/li&gt;
&lt;li&gt;Powerful, modular ecosystem&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Aurelia
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/1pEccIZ2NQxLG2QOfaiagr/11fe2818e0ff5c0bea2d1bff02ea496e/lkyp5.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/1pEccIZ2NQxLG2QOfaiagr/11fe2818e0ff5c0bea2d1bff02ea496e/lkyp5.png" alt="aurelia"&gt;&lt;/a&gt;&lt;br&gt;
Aurelia is a modern client-side JavaScript framework for building web, mobile, and desktop applications. Applications are built by composing simple components, each made of vanilla JavaScript or Typescript with the corresponding HTML.&lt;br&gt;
Aurelia has great documentation and tutorials to help getting started. It comes with a powerful, reactive binding engine, a templating engine, routing capabilities, plugins, support for server-side rendering, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy to learn&lt;/li&gt;
&lt;li&gt;High performance&lt;/li&gt;
&lt;li&gt;Reactive binding&lt;/li&gt;
&lt;li&gt;Simple testing&lt;/li&gt;
&lt;li&gt;Extensive ecosystem&lt;/li&gt;
&lt;li&gt;Unmatched extensibility&lt;/li&gt;
&lt;li&gt;Routing, composition, and progressive enhancement&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Mithril
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/uWxMnz2ID77AeWiudWz1i/c6cd53100d0f1175d5d6c5cb9171da16/lkyp6.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/uWxMnz2ID77AeWiudWz1i/c6cd53100d0f1175d5d6c5cb9171da16/lkyp6.png" alt="mythril"&gt;&lt;/a&gt;&lt;br&gt;
Mithril.js is a modern client-side JavaScript framework developed for creating single-page applications. It comes with a small bundle size (9,79Kb) and provides routing and XHR utilities.&lt;/p&gt;

&lt;p&gt;It’s used by companies like Nike and Vimeo and supports things like JSX, ES6+, animation, testing, and more.&lt;/p&gt;

&lt;p&gt;It has good documentation to get started — with many co-dependencies and examples to try things out. However, I find it to be slightly behind the other mentioned libraries in terms of docs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Very performant&lt;/li&gt;
&lt;li&gt;Supports virtual DOM&lt;/li&gt;
&lt;li&gt;Lifecycle methods&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I hope you understand there’s more out there than Angular, Vue, and React. Some use cases require different approaches and frameworks. It highly depends on the situation and project.&lt;br&gt;
In the end, you won’t make a mistake by going with one of the big three frameworks. Angular is a valid choice for large enterprise applications and is often paired with Java for full-stack development. React and Vue are also good choices. My advice: Don’t be a fanboy/fangirl/fan person. Try to choose a framework that fits your situation and the project you want to work on. Be open-minded!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you like what I write and want to support me and my work, please follow me on &lt;a href="https://twitter.com/simonholdorf"&gt;Twitter&lt;/a&gt; to learn more about programming, making, writing &amp;amp; careers🥰&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to stay productive as a developer</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 11 Jan 2021 19:53:21 +0000</pubDate>
      <link>https://dev.to/simonholdorf/how-to-stay-productive-as-a-developer-2nc9</link>
      <guid>https://dev.to/simonholdorf/how-to-stay-productive-as-a-developer-2nc9</guid>
      <description>&lt;p&gt;I am a software developer that loves to code. I am also a person that likes to spend time with family and friends, go out for a run, take in a good movie and enjoy the great outdoors. Unfortunately, my work responsibilities make it difficult to do all of these things because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have deadlines&lt;/li&gt;
&lt;li&gt;I need to ensure the quality of my work&lt;/li&gt;
&lt;li&gt;I have multiple projects that require constant attention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since I am not getting paid by the hour (except in some cases), staying productive and healthy as a developer is critical. Here are some things I've learned over the years that help me stay on top of things:&lt;/p&gt;




&lt;h2&gt;
  
  
  1. It's OK to say "no"
&lt;/h2&gt;

&lt;p&gt;I have a problem with saying "yes" too often, especially when the person asking is a co-worker or someone I know socially. If I'm not careful, it will affect my productivity. &lt;/p&gt;

&lt;p&gt;Sometimes it's more efficient to take on less work than it is to rush through everything and start falling behind on deadlines due to fatigue. I'm still learning how to say no but in the meantime, I have found that being upfront about my schedule and priorities helps everyone be better organized and effective, myself included.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. Don't forget about yourself
&lt;/h2&gt;

&lt;p&gt;There are plenty of people out there who aren't afraid to make sacrifices for their families or careers but that doesn't mean you have to be one of them. Having good relationships with your family and friends is important. They help you make better decisions at work and can even protect you from burnout during stressful times. &lt;/p&gt;

&lt;p&gt;When you feel like you are in need of a break, take one. Whether it's lunchtime or the end of the day, just taking 15 minutes for yourself can do wonders for your productivity (and sanity) levels in the long run.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. Consolidate tasks
&lt;/h2&gt;

&lt;p&gt;If you have multiple projects going at one time, try cutting down the number of tasks required on each project so they fit into an achievable timeframe with room for breaks and downtime between projects if necessary.&lt;br&gt;
 &lt;br&gt;
For example, if you are working on four different projects each requiring five hours per week and a full-time job, you may need to reduce them to three or two in order to make it all work.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Prioritize tasks
&lt;/h2&gt;

&lt;p&gt;When you have many different tasks on your schedule, prioritize them by importance and urgency, and put the most important ones first. Be realistic about how much time you can spend on each task without neglecting other responsibilities. &lt;/p&gt;

&lt;p&gt;If something is not a high priority but is taking away from something that is more important, see if there's a way to end or modify it for the good of your overall goals. This will keep things from getting out of control later on.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Make use of tools
&lt;/h2&gt;

&lt;p&gt;There are many tools available online that provide great support for developers such as Google Docs/Drive (for collaboration), Slack (for communication), Buffer (for scheduling social media posts), Trello (for task management), and Github (to manage code revisions). &lt;/p&gt;

&lt;p&gt;These tools allow teams to stay connected without having constant meetings or phone calls all day long: Using these types of tools has actually made me more productive by reducing some of the distractions in my life instead of adding more distractions via email messages/texts/phone calls/meetings etc… &lt;/p&gt;

&lt;p&gt;The key is training others on how these systems work so they also understand why certain functions don't exist within those tools - for example, slack has no direct way to post status updates via Twitter so another tool is needed, for example, Zapier or IFTTT.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. Learn from mistakes
&lt;/h2&gt;

&lt;p&gt;The best way to improve is to learn from your mistakes. If you find yourself working on something that's taking longer than expected, don't just say "well I'll get it done tomorrow," instead take the time to stop, reflect and think about where you went wrong. &lt;/p&gt;

&lt;p&gt;Maybe you didn't plan enough time for testing or maybe you didn't know what was required in the first place so took a "shot in the dark" approach. Either way, try not to repeat that mistake again and if possible, come up with some sort of documentation explaining exactly what needs to be done and how long it should take so others can pick up where you left off without needing a ton of hand-holding or supervision.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. Find a good work/life balance
&lt;/h2&gt;

&lt;p&gt;If you are constantly working late nights and weekends, it's going to affect your personal relationships and your health. If you don't have any free time to do things you enjoy, then you will burn out sooner or later. &lt;/p&gt;

&lt;p&gt;I've been burned out before and in some cases, it was due to personal reasons I could not control (such as the death of a family member) but for the most part, it was from not listening to my body's warning signs when I was overworked. &lt;/p&gt;

&lt;p&gt;To avoid this, make sure you get enough sleep (7 hours is recommended), eat healthy food, exercise regularly, and take breaks during the workday even if others don't seem to notice or care that you're gone - they just may appreciate it more than they realize!&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Make time for fun activities
&lt;/h2&gt;

&lt;p&gt;During hackathons or marathons where we work around the clock on a project for 24+ hours straight, drinking energy drinks and having snacks delivered can help keep us going but sometimes the best thing for productivity is taking a break! &lt;/p&gt;

&lt;p&gt;Taking 15–30 minutes here or there throughout the day for yourself can boost your overall morale which helps in other areas of life such as work, school, and home, etc… It also helps to deal with bad news better if something goes wrong during the day because at least I know there is some downtime coming up in my schedule that will allow me to recover mentally so I'm not carrying those feelings into future tasks.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Learn how to say "no"
&lt;/h2&gt;

&lt;p&gt;This one goes hand-in-hand with #1 above. Saying "yes" too much can lead to burnout just as easily as saying "no" too often. &lt;/p&gt;

&lt;p&gt;Try cutting down what is asked of you by doing more research on what needs to be done before accepting any new responsibilities. This way if it turns out you cannot complete all requests in a timely manner then others won't be waiting around while you try and figure everything out at once. Be upfront about your workload so co-workers/clients understand what's going on instead of simply giving an excuse such as "I'll get it done tomorrow."&lt;/p&gt;

&lt;p&gt;In many cases, people will be respectful if you explain clearly why something isn't possible without going into details unless they ask for more detail first.&lt;/p&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;While it may not be possible to avoid burnout 100% of the time, it's important to recognize when you're starting to feel overwhelmed and take steps to mitigate the situation as soon as possible.&lt;/p&gt;

&lt;p&gt;If you don't, you could end up taking your work home with you, or worse yet, quitting your job altogether.  By knowing the warning signs and how to prevent burnout before it happens, you'll be able to utilize your energy more effectively and enjoy your work more than ever before. &lt;/p&gt;

&lt;p&gt;If there are particular danger signs for burnout that I missed please share them in the comments so we can all learn from each other!&lt;/p&gt;

&lt;p&gt;I've recently created a new platform "The Smart Coder" where we want to create a cool place for developers to hang out, explore new content, find books, courses jobs, and more. We also have talented writers discussing things such as &lt;a href="https://thesmartcoder.dev/java-vs-javascript/"&gt;Java vs. JavaScript&lt;/a&gt; or helping you find &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;javascript projects&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you like what I write and want to support me and my work, please follow me on &lt;a href="https://twitter.com/simonholdorf"&gt;Twitter&lt;/a&gt; to learn more about programming, making, writing &amp;amp; careers🥰&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
    <item>
      <title>10 Awesome Free Courses for Devs by Devs</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 04 Jan 2021 07:22:50 +0000</pubDate>
      <link>https://dev.to/simonholdorf/10-awesome-free-courses-for-devs-by-devs-15ci</link>
      <guid>https://dev.to/simonholdorf/10-awesome-free-courses-for-devs-by-devs-15ci</guid>
      <description>&lt;p&gt;This article was originally published on &lt;a href="https://thesmartcoder.dev/awesome-free-courses-for-devs-by-devs/"&gt;The Smart Coder&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learning to code and becoming a web developer is one of the best decisions you can make these days. And luckily there are tons of material, often in the form of courses to help you with that. To help you discover awesome courses covering different programming languages and technologies, I have curated this list of 10 fantastic courses for beginners. &lt;/p&gt;

&lt;p&gt;I am not affiliated with any of the creators and don't receive any compensation or anything like that. This is just a list of 10 of my favorite courses that I want to share with you!&lt;/p&gt;




&lt;h2&gt;
  
  
  JavaScript 30
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/37uWikpIo57ltrGtpDo4uo/093cdf4cc7b0de023bcdf67329abcaf7/javascript30_orj9f0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/37uWikpIo57ltrGtpDo4uo/093cdf4cc7b0de023bcdf67329abcaf7/javascript30_orj9f0.jpg" alt="JavaScript projects for beginners"&gt;&lt;/a&gt;&lt;br&gt;
Let's start with a real burner. The JavaScript 30 course by the amazing Wes Bos is just awesome. During this course that spans over 30 days, you are going to build 30 &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;vanilla javascript projects&lt;/a&gt;. That means no frameworks, libraries, compilers, or boilerplates. Just plain, vanilla JS. This is an awesome course to practice the basics of JavaScript, add cool things to your portfolio, and become better in JS! Almost 400,000 developers have taken this course and you should be next!&lt;/p&gt;

&lt;p&gt;If you need more inspiration for cool &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;javascript projects&lt;/a&gt; check out this post!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://javascript30.com/"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Beginner's Guide to React w/ Hooks
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/9U3IhLAnSxM"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Many of you know Colt Steele for his fantastic Udemy courses and his boot camp (with job-guarantee!). And because Colt cares for the community he created a free introduction course to React. In almost 2 and a half hours Colt is going to show you the basics of React including &lt;a href="https://thesmartcoder.dev/awesome-react-hooks/"&gt;React Hooks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Functional Components? Check!&lt;br&gt;
JSX? Check!&lt;br&gt;
Props &amp;amp; State? Check, Check!&lt;br&gt;
Styling in React? Also, Check!&lt;/p&gt;

&lt;p&gt;There are of course longer courses that go much more into detail. But for beginners, this course is extremely valuable and a solid foundation to dig deeper into React!&lt;/p&gt;

&lt;p&gt;If you want to learn more about &lt;a href="https://thesmartcoder.dev/awesome-react-hooks/"&gt;React Hooks&lt;/a&gt; and want to become a &lt;a href="https://thesmartcoder.dev/10-tips-and-tricks-that-will-make-you-a-better-reactjs-dev/"&gt;better React Developer&lt;/a&gt;, check out these posts!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=9U3IhLAnSxM"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Vue JS 3 Tutorial for Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/YrxBCBibVo0"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Vue.js is almost as popular as React and even got more stars on GitHub! So learning Vue is always a good choice and this course for beginners by Shaun Pelling (The Net Ninja) might well be your kickstart into a successful developer career!  It teaches Vue.js 3, the brand new version that was released not long ago, and explains the basic concepts very well. It covers topics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;Vue CLI&lt;/li&gt;
&lt;li&gt;Fetching Data&lt;/li&gt;
&lt;li&gt;Composition API (Brand new!)&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Shaun also got a more in-depth course on Udemy (paid) if you want to dig deeper into Vue.js. Here are some more &lt;a href="https://thesmartcoder.dev/10-free-resources-to-kickoff-your-career-as-a-vue-developer/"&gt;free Vue resources&lt;/a&gt; for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=YrxBCBibVo0&amp;amp;list=PL4cUxeGkcC9hYYGbV60Vq3IXYNfDk8At1"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Python for Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/_uQrJ0TkZlc"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Python is one of the hottest programming languages to learn right now. Besides web development, Python is often used for machine learning and data science, professions with high demand, and even higher salaries!&lt;/p&gt;

&lt;p&gt;This course (5 hours long) by Mosh Hamedani who is well-known for his fantastic courses and what he does for the community is a perfect introduction to the Python language. Mosh is going to teach you things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;li&gt;Types&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and much more. He also provides you with three cool Python projects to practice what you learned.&lt;/p&gt;

&lt;p&gt;So if you want a career in ML or Data Science, Python is the right choice and this course can be where it all starts!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=_uQrJ0TkZlc"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Flutter Email Course
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/6Sbh3fl675En1O32n87ntS/62ed844936f8531ab1ed59c5aa5e6c20/codewithandrea_js4dgk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/6Sbh3fl675En1O32n87ntS/62ed844936f8531ab1ed59c5aa5e6c20/codewithandrea_js4dgk.jpg" alt="Flutter Course for Beginners"&gt;&lt;/a&gt;&lt;br&gt;
Flutter is Google's open-source UI Development Kit for building awesome, cross-platform applications in the Dart programming language. According to a recent Stackoverflow survey, Flutter is the #4 most-loved framework by developers.&lt;/p&gt;

&lt;p&gt;But how can you get started with Flutter? Let me introduce you to Andrea Bizzotto, an absolute expert when it comes to Flutter &amp;amp; Dart. And luckily for us, Andrea recently created a free Flutter Course in the form of a newsletter to help you become versatile Flutter developers.&lt;/p&gt;

&lt;p&gt;During 15 days you will get 15 emails, one a day covering different topics. Each email is containing a brief intro, links to the most important resources, and a small challenge to test your knowledge. &lt;/p&gt;

&lt;p&gt;The course covers topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flutter state management&lt;/li&gt;
&lt;li&gt;Data Persistence&lt;/li&gt;
&lt;li&gt;Animations&lt;/li&gt;
&lt;li&gt;Platform Channels,&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's a great way to get started with Flutter and you can enhance your knowledge afterward on your own or by checking out more of Andrea's great courses!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codewithandrea.com/newsletter/"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Node.js Course for Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/RLtyhwFtXQA"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Node.js is slowly becoming the number one choice for many developers when building APIs and writing server-side code. Many corporations integrate Node in their tech stacks because it's based on JavaScript and uses Google's V8 engine. It's also a good choice if you want to become a full-stack developer because you can use a frontend framework like React and code everything in JS.&lt;/p&gt;

&lt;p&gt;In this introductory course, NoobCoder will provide you with a solid overview of the features of Node.js. He covers topics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;File system&lt;/li&gt;
&lt;li&gt;Streams &amp;amp; pipes&lt;/li&gt;
&lt;li&gt;Creating HTTP servers&lt;/li&gt;
&lt;li&gt;Express framework&lt;/li&gt;
&lt;li&gt;User Input Validation&lt;/li&gt;
&lt;li&gt;Routing&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All in all, it's a good start into the world of Node.js. Even though the course is from 2018, most of the things are still valid today. And if you are serious about working with Node.js, you need additional resources and practice anyway.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RLtyhwFtXQA"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  TypeScript Course for Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/BwuLxPH8IDs"&gt;
&lt;/iframe&gt;
&lt;br&gt;
TypeScript is one of the most loved programming languages for many developers according to a recent Stackoverflow survey. It combines the beauty of JavaScript with strong typing and modern compiler features. Angular and Nest.js make heavy use of TypeScript and helped it gaining popularity. &lt;br&gt;
If you haven't tried out TypeScript yet, I recommend you to do so. I know many developers that once they have touched TS never want to go back to writing pure JS.&lt;br&gt;
And if you want to watch a course to learn the basics of TypeScript I got something for you. This course by Maximilian Schwarzmüller (famous for his brilliant Udemy courses) is exactly what you need.&lt;br&gt;
The quality is top-notch (Max-Standard) and the course covers topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Introduction to TS&lt;/li&gt;
&lt;li&gt;Types&lt;/li&gt;
&lt;li&gt;Tuples &amp;amp; Enums&lt;/li&gt;
&lt;li&gt;Functions&lt;/li&gt;
&lt;li&gt;Compilation&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=BwuLxPH8IDs"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  HTML Crash Course for Absolute Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/UB1O30fR-EE"&gt;
&lt;/iframe&gt;
&lt;br&gt;
When you are new to web development, people will often advise you to start with the basics. And by that, they usually mean HTML, CSS, and JavaScript. That often makes sense because when you are building, let's say a house, you won't start with the interior without having at least some walls first. Think of HTML &amp;amp; CSS as the basic structure for any website. &lt;/p&gt;

&lt;p&gt;So if you want to get started with web development and know absolutely nothing about HTML, this great course by Brad Traversy (a.k.a. Traversy Media) is exactly what you need. It's quite short with about 1-hour length but will cover the most basics things about HTML like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing a Text Editor&lt;/li&gt;
&lt;li&gt;HTML Page Structure&lt;/li&gt;
&lt;li&gt;Syntax&lt;/li&gt;
&lt;li&gt;Headings, Paragraphs&lt;/li&gt;
&lt;li&gt;Lists, Tables, Forms, Buttons&lt;/li&gt;
&lt;li&gt;HTML5 Semantic Tags&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=UB1O30fR-EE"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  AWS Certified Cloud Practitioner Training
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/3hLmDS179YE"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Because almost everything runs in the cloud today, the demand for cloud developers, administrators, and people with similar skills is continuously rising. And Amazon Web Services is a major, if not the biggest player in this game. If you have acquired one or more certifications for AWS services your chances for well-payed jobs are even higher. &lt;/p&gt;

&lt;p&gt;And because of this, Andrew Brown, AWS Community Hero, and Cloud Expert created this course (and many more!) for you to prepare for the AWS Certified Cloud Practitioner exam.&lt;/p&gt;

&lt;p&gt;The free course covers topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Basic Cloud Concepts&lt;/li&gt;
&lt;li&gt;AWS Infrastructure&lt;/li&gt;
&lt;li&gt;Getting started with AWS&lt;/li&gt;
&lt;li&gt;EC2, ELB, S3, CloudFront&lt;/li&gt;
&lt;li&gt;Pricing Models &amp;amp; Pricing&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This certificate is often seen as the entry-point for a career in cloud services and might be one of the biggest opportunities for you!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=3hLmDS179YE"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Java Tutorial for Complete Beginners
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/5zDWEX1lFrAJflTHaF68jE/25f86b9fa0e7aa62ef5afbf5dc3b9224/java_course_lbqvmz.jpg" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/5zDWEX1lFrAJflTHaF68jE/25f86b9fa0e7aa62ef5afbf5dc3b9224/java_course_lbqvmz.jpg" alt="Java course for beginners"&gt;&lt;/a&gt;&lt;br&gt;
When you are on Twitter or other social media covering programming topics it always seems that only JavaScript and maybe Python exist in this world. This, of course, is not true. Java is still a fantastic programming language that continuously becomes better and receives new features. It's strongly-typed and run by billions of devices, for example, Android phones or IoT devices. Major corporations have Java as part of their technology stack (a lot of AWS is written in Java!) and the demand and pay for qualified developers is still very high, just look at some job openings.&lt;/p&gt;

&lt;p&gt;This course by John Purcell aims at anyone that has a desire to learn programming without any prior knowledge. It's a whopping 16-hours full of Java knowledge that covers topics such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core Java&lt;/li&gt;
&lt;li&gt;Variables&lt;/li&gt;
&lt;li&gt;Loops&lt;/li&gt;
&lt;li&gt;Arrays&lt;/li&gt;
&lt;li&gt;Methods&lt;/li&gt;
&lt;li&gt;Constructors&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Classes&lt;/li&gt;
&lt;li&gt;Java Collections Framework&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to learn more about the &lt;a href="https://thesmartcoder.dev/java-vs-javascript/"&gt;difference between java and javascript&lt;/a&gt; check out this post.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/java-tutorial/"&gt;Link to course&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This is just a small sample of tons of fantastic courses available. But in the mass of content arises a problem: Where do you find &lt;a href="https://thesmartcoder.dev/courses/"&gt;the best courses for developers&lt;/a&gt; by the best developers? &lt;/p&gt;

&lt;p&gt;There are many platforms like Youtube or Udemy where you can find courses. But some great courses are shared by their creators via social media or on their own, personal home pages solely. This makes it easy to miss out on their wonderful work!&lt;/p&gt;

&lt;p&gt;I've therefore created a new feature for my site, &lt;a href="https://thesmartcoder.dev/"&gt;The Smart Coder&lt;/a&gt; called &lt;a href="https://thesmartcoder.dev/courses/"&gt;DevCourses&lt;/a&gt;. It's a place where developers can discover the best courses for all kinds of topics like JavaScript, React, Vue, Java, AWS, and more! You can find all the courses listed above there plus more. &lt;/p&gt;

&lt;p&gt;DevCourses is built for the community so any course creator can add their course to the site for others to discover it via a &lt;a href="https://thesmartcoder.dev/courses/create-new-course/"&gt;dedicated form&lt;/a&gt;. This way, the list of courses will steadily grow becoming the most comprehensive and high-quality repository for developer courses.&lt;/p&gt;

&lt;p&gt;So if you are the creator of a course for developers, feel free to submit it to the site. And if you know about a good course that should be on the site, contact the creator to submit it.&lt;/p&gt;

&lt;p&gt;This is a feature for the community that lives from the participation of the community.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>vue</category>
    </item>
    <item>
      <title>10 Fantastic Books By Developers For Developers</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Mon, 28 Dec 2020 15:05:01 +0000</pubDate>
      <link>https://dev.to/simonholdorf/10-fantastic-books-by-developers-for-developers-3hgc</link>
      <guid>https://dev.to/simonholdorf/10-fantastic-books-by-developers-for-developers-3hgc</guid>
      <description>&lt;p&gt;Reading books still is a great way to discover and learn new skills, especially for developers, to stay relevant in the fastly changing tech industry. &lt;/p&gt;

&lt;p&gt;In this article, I'll present you with ten fantastic books for developers that have been written by developers. These are not the typical mainstream books you'll find in every "&lt;a href="https://thesmartcoder.dev/10-must-read-books-for-software-engineers/"&gt;must-read books for programmers list&lt;/a&gt;" but handpicked treasures by domain experts with proven track records. &lt;/p&gt;




&lt;h2&gt;
  
  
  Ten Ways To Make Money As A Developer
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/CK9lEuzlZ82FpAV8AiqQi/21ac347fc02a1cf29f4caa158b326e4f/095e0db6-05fa-4bf2-8d19-792faa9a0bac.webp" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/CK9lEuzlZ82FpAV8AiqQi/21ac347fc02a1cf29f4caa158b326e4f/095e0db6-05fa-4bf2-8d19-792faa9a0bac.webp" alt="Ten Ways To Make Money As A Developer"&gt;&lt;/a&gt;&lt;br&gt;
The first book in this post is from the excellent creator and developer Florin Pop. Florin is widely known for his successful Youtube channel, his crazy challenges (10 JavaScript Projects in 10 Hours, for example), and his addiction to everything purple. &lt;br&gt;
But even more so he is a successful creator that knows how to leverage his developer skills to generate different kinds of revenue streams.&lt;/p&gt;

&lt;p&gt;In his new book, Florin is going to show you ten unique ways to make money as a developer. So if you are curious to learn how to make some side money by blogging, building SaaS products, freelancing, mentoring, and more, you should definitely get his book!&lt;/p&gt;

&lt;p&gt;I've also written a post about &lt;a href="https://thesmartcoder.dev/how-to-make-extra-money-as-a-programmer/"&gt;making money programming&lt;/a&gt; some time ago if you want to give it a read.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/SkkZt"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Tech Resume Inside Out
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/1NuCJNamX8rQPGHOLyxLB3/bf3b370c30f829ad493856237f3d2ab5/aa72d346-0ae4-4a93-bb12-7ecd09c2fea0.webp" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/1NuCJNamX8rQPGHOLyxLB3/bf3b370c30f829ad493856237f3d2ab5/aa72d346-0ae4-4a93-bb12-7ecd09c2fea0.webp" alt="The Tech Resume Inside Out"&gt;&lt;/a&gt;&lt;br&gt;
Getting a job in tech is something many people strive for yet don't really know how to create a resume as a real asset that helps them to stand out from the crowd.&lt;/p&gt;

&lt;p&gt;Luckily we have Gergely Orozs who worked for fantastic companies like Uber, Skype, and Microsoft. He used his vast experience of reviewing hundreds of developer resumes to write this fantastic book. In it, Gergely shows you exactly how you can write an outstanding resume. &lt;/p&gt;

&lt;p&gt;Furthermore, he gives specific advice on what recruiters really look for in resumes and what happens when you submit yours to large corporations. Last but not least, his book includes 3 ready-to-submit resume templates for different tech positions. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/gergelyorosz#pTvVe"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Content For Developers
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/7bqydJyj75aYSvCXMNSwjs/f77bc6799e7f09758f3e98d4c3a3c95f/ccb74e79-5959-450f-b138-94d95903507d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/7bqydJyj75aYSvCXMNSwjs/f77bc6799e7f09758f3e98d4c3a3c95f/ccb74e79-5959-450f-b138-94d95903507d.jpg" alt="Content For Developers"&gt;&lt;/a&gt;&lt;br&gt;
Writing is a very beneficial skill for every developer. Be it to market themselves, to write down the learning process, starting a blog, writing documentation, and much more.&lt;/p&gt;

&lt;p&gt;But setting up a good writing content strategy and writing routine isn't that simple. Many developers struggle with writing in an authentic and professional style.&lt;/p&gt;

&lt;p&gt;Maedah Batool, content strategist, speaker, and Node.js Community Committee Outreach is going to show you simple rules and more than 30 professional content tips and tricks that will help you become a better writer!&lt;/p&gt;

&lt;p&gt;Here you can read more about &lt;a href="https://thesmartcoder.dev/5-great-reasons-to-write-as-a-programmer/"&gt;reasons to write as a programmer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://writy.io/"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Building an Effective Dev Portfolio
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/2mHjryk8NYc0Gjll7ZSQU9/4b182f9b4aa36be133cdc7710f38c9db/483b18d1-005c-451b-ab66-dbc638e8c832.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/2mHjryk8NYc0Gjll7ZSQU9/4b182f9b4aa36be133cdc7710f38c9db/483b18d1-005c-451b-ab66-dbc638e8c832.png" alt="Building an Effective Dev Portfolio"&gt;&lt;/a&gt;&lt;br&gt;
Having a portfolio to show to recruiters, clients, and potential employers is a big asset that every developer should consider creating. &lt;/p&gt;

&lt;p&gt;But even if you already have a portfolio or want to create one, it is easy to miss the mark when it comes to helping you get hired or presented with new job opportunities.&lt;/p&gt;

&lt;p&gt;The fantastic Josh Comeau knows this from experience. He reviewed hundreds of portfolio sites and helped countless developers to break into the tech industry with the help of their portfolios.&lt;/p&gt;

&lt;p&gt;All his knowledge and experience he condensed into this free ebook for you to read and learn. I say it again: It's free! So download the book and start using that secret weapon of yours, your portfolio!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.joshwcomeau.com/effective-portfolio/"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Good Parts of AWS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/74vrXapF2AqCMZARLWU0lp/5564b96b599883b84ee5060b551645bf/74cca47d-2d7f-4caf-955c-87c9156d0142.webp" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/74vrXapF2AqCMZARLWU0lp/5564b96b599883b84ee5060b551645bf/74cca47d-2d7f-4caf-955c-87c9156d0142.webp" alt="The Good Parts of AWS"&gt;&lt;/a&gt;&lt;br&gt;
Have you ever browsed the Amazon AWS console and thought: Oh my god, what are all these services and what can I possibly do with them?&lt;/p&gt;

&lt;p&gt;I did. Many times...But then I found this great book by Daniel Vassallo and Josh Pschorr that worked for Amazon AWS for more than 10 years. They do not cover every service Amazon offers but hand-picked ones they have used themselves and that developers should know about.&lt;/p&gt;

&lt;p&gt;And they present to you a technique that helps you make technical decisions like selecting a programming language, framework, database, cloud service, and similar in the context of AWS. A technique that can also be generalized and used in any other technical decision. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/dvassallo#MsVlG"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Standout Developer
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/1vRngorZWrE40dCGwwftzi/ee6fee12d10df4645995cb8bc26870a0/b88ab651-6903-4191-81f3-d8e3164b0489.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/1vRngorZWrE40dCGwwftzi/ee6fee12d10df4645995cb8bc26870a0/b88ab651-6903-4191-81f3-d8e3164b0489.png" alt="The Standout Developer"&gt;&lt;/a&gt;&lt;br&gt;
Randal Kanna, author of this excellent book knows from experience how stressful the job hunt for a position in tech can be. Difficult coding interviews, competing with dozens of CS grads, and people with years of experience are only some of the things that people struggle with.&lt;/p&gt;

&lt;p&gt;Luckily Randall's book can help you with this. Not only will she show you how to craft a resume to help you stand out but also share with you how she got FAMANG companies to reach out to her - not the other way round!&lt;/p&gt;

&lt;p&gt;But that's not all. In this book, you will also learn how to prepare for coding interviews, create a powerful blog, negotiate job offers, and speak at conferences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://randallkanna.com/the-standout-developer/"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Cloud Native Web Development
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/un9zr1T190Awz6h4ATyli/05892436a7c77554a85fa23ed70d32d3/32926ff6-2d6f-457b-9392-57a9eabab122.webp" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/un9zr1T190Awz6h4ATyli/05892436a7c77554a85fa23ed70d32d3/32926ff6-2d6f-457b-9392-57a9eabab122.webp" alt="Cloud Native Web Development"&gt;&lt;/a&gt;&lt;br&gt;
Have you ever wondered what a typical web application these days looks like? Maybe some static HTML, some CSS for styling purposes, and a generic backend for form handling? It's, and that I can already promise you at this point, is a little more complex these days. &lt;/p&gt;

&lt;p&gt;But fear not, the author of this book, Mike Nikles, walks you through an end-to-end process of developing a cloud-native web application. He uses services like Google's Firebase, a combination of Svelte &amp;amp; Sapper for app development, TailWind CSS for styling, and other state-of-the-art resources.&lt;/p&gt;

&lt;p&gt;But instead of providing just theory, this book excels by providing hands-on parts where you, the reader, can collaborate with Mike and other readers via dedicated GitHub repositories. This makes the second part of the book an interactive experience that you shouldn't miss!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.mikenikles.com/cloud-native-web-development"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Coding Career Handbook
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/3UOkbHDdL1LVDqIcl4LVcu/26238074b4837a46873f7499e2615097/book-mock-1.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/3UOkbHDdL1LVDqIcl4LVcu/26238074b4837a46873f7499e2615097/book-mock-1.png" alt="The Coding Career Handbook"&gt;&lt;/a&gt;&lt;br&gt;
Many of you know Shawn Wang, better known as Swyx who changed careers in his early 30s to programming with the help of FreeCodeCamp and countless nights of coding.&lt;/p&gt;

&lt;p&gt;In this outstanding book, Swyx has collected and curated tons of stories of people cracking the coding career. This book doesn't show you how to become a successful and happy coder because there isn't a definitive path that you can just follow along. It rather provides you with a massive amount of experience and tactics that you use to create your very own unique coding career. &lt;/p&gt;

&lt;p&gt;You don't have to take a single piece of advice from this book but can learn from what did work for others and what did not. So for anyone looking for career advice, this is your book! And if you want to know how to go from &lt;a href="https://thesmartcoder.dev/the-road-from-junior-to-senior-developer/"&gt;junior to senior developer&lt;/a&gt; check out this post.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.learninpublic.org/"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Pure React
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/4DlJWpCPIG8Bm5OXEuu5AT/bcf30596b89f014d636c928332303f1e/pure-react-3d-cover-v2.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/4DlJWpCPIG8Bm5OXEuu5AT/bcf30596b89f014d636c928332303f1e/pure-react-3d-cover-v2.png" alt="Pure React"&gt;&lt;/a&gt;&lt;br&gt;
React is probably the most famous and used JavaScript framework on the market right now. And as huge as the popularity of React is the ecosystem with all its libraries, tools, best practices, whatnot.&lt;/p&gt;

&lt;p&gt;Dave Ceddia will teach you how to "think in React" in his fantastic book. He chose a learn by doing approach so you'll definitely get some hands-on practice by building small focused apps. And to test your knowledge and progress, Dave even included some great exercises.&lt;/p&gt;

&lt;p&gt;And the best thing? No TODO-App, I promise! If you want to check out some &lt;a href="https://thesmartcoder.dev/awesome-react-hooks/"&gt;cool react hooks&lt;/a&gt; check out this post.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://daveceddia.com/pure-react/"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Grokking the Java Interview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//images.ctfassets.net/28643bqnqgzl/19VFSHawDotqjidMBp5HWI/f801027ec9a23f415bc4b99117540af0/Cover4.webp" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/19VFSHawDotqjidMBp5HWI/f801027ec9a23f415bc4b99117540af0/Cover4.webp" alt="Grokking the Java Interview"&gt;&lt;/a&gt;&lt;br&gt;
Java still is one of the most used programming languages around the world. Trusted by large corporations (most of the AWS stack is written in Java...) for creating solid applications learning Java is always a good choice. &lt;/p&gt;

&lt;p&gt;But to get a highly paid, exciting position as a Java Developer you are often faced with coding interviews that many aspiring developers struggle with. &lt;/p&gt;

&lt;p&gt;Luckily, Javin Paul, a widely-known Java programmer and blogger, has written a new book that teaches you everything you need to know about fundamental Java topics specifically tailored for coding interviews.&lt;/p&gt;

&lt;p&gt;If you are asking yourself &lt;a href="https://thesmartcoder.dev/java-vs-javascript/"&gt;Java vs JavaScript&lt;/a&gt; - which one is better check out this additional post!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gumroad.com/l/QqjGH"&gt;Link to the book&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Finding the best books for developers
&lt;/h2&gt;

&lt;p&gt;It's very easy today to miss out on awesome books because they are not published via some big player like Amazon. In fact, the market is very fragmented. Some creators use platforms like Gumroad or Podia to sell their books and some use their sites or dedicated landing pages for it.&lt;/p&gt;

&lt;p&gt;This makes it hard for readers to discover books and even harder for creators to market their assets.&lt;/p&gt;

&lt;p&gt;I've therefore launched a new service on my site, &lt;a href="https://thesmartcoder.dev/"&gt;The Smart Coder&lt;/a&gt;, to help creators with marketing and more importantly to help developers discover the &lt;a href="https://thesmartcoder.dev/books/"&gt;best books for developers&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;It's called &lt;a href="https://thesmartcoder.dev/books/"&gt;DevBooks&lt;/a&gt; and you can find all the books from above there. Furthermore, creators can submit their books via a dedicated form. This way, the list of books will grow steadily and eventually resulting in the most comprehensive, highest-quality repository for outstanding developer books.&lt;/p&gt;

&lt;p&gt;So if you are the creator of a book for developers, feel free to submit it to the site. And if you know about a good book that should be on the site, contact the creator to submit it. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>books</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Java vs JavaScript - What is the Difference?</title>
      <dc:creator>Simon Holdorf</dc:creator>
      <pubDate>Sun, 27 Dec 2020 14:26:20 +0000</pubDate>
      <link>https://dev.to/simonholdorf/java-vs-javascript-what-is-the-difference-19eg</link>
      <guid>https://dev.to/simonholdorf/java-vs-javascript-what-is-the-difference-19eg</guid>
      <description>&lt;p&gt;Even today many people are asking the question "What is the difference between Java and Javascript". But not only that. The two terms Java and JavaScript are often used as synonyms, being mistaken or simply thought of as the evolution of the other language, which is completely wrong.&lt;/p&gt;

&lt;p&gt;Therefore, it is time to bring clarity to this matter once and for all. But before we take care of the differences between the programming languages Javascript and Java, let us find out what these two terms mean and what the languages are used for.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Java
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.java.com/"&gt;Java&lt;/a&gt; in this context is a class-based, object-oriented programming language and one of the most popular languages in the world. Together with the Java Development Kit (JDK) and the Java Runtime Environment (JRE) it forms the &lt;a href="https://en.wikipedia.org/wiki/Java_(software_platform)"&gt;Java Technolgy&lt;/a&gt;. The runtime itself consists of several libraries and the Java Virtual Machine (JVM). It is important to know that the JRE can not only run bytecode compiled from Java but also from other programming languages like &lt;a href="https://www.scala-lang.org/"&gt;Scala&lt;/a&gt;, &lt;a href="https://groovy-lang.org/"&gt;Groovy&lt;/a&gt;, or &lt;a href="https://kotlinlang.org/"&gt;Kotlin&lt;/a&gt; (and theoretically from any other languages if a bytecode compiler exists for them). &lt;/p&gt;

&lt;p&gt;Java applications are written in a form that humans can understand, the so-called source code. This source code cannot be run directly and needs to be compiled by the Java Compiler, which is part of the JDK, into bytecode that computers can understand. The machines running the bytecode are typically virtual machines. This means that the code isn't directly run by the hardware but by software on the target platform. This virtualization enables platform-independence, a big feature of Java. Applications written in Java can run on almost any device and computer architecture if a corresponding runtime environment is installed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who invented Java?
&lt;/h3&gt;

&lt;p&gt;Java was originally invented by James Gosling in the early 1990s during his time at Sun Microsystems because he was not satisfied with the capabilities of C++. The first prototype was called Oak (Object Application Kernel) and it was targeted towards interactive television and other entertainment devices. The original compiler was written in C and shortly after the language was renamed to Java and the focus shifted to the World Wide Web. &lt;/p&gt;

&lt;p&gt;Since 2010 Java belongs to the Oracle Corporation as part of the acquisition of Sun Microsystems. &lt;/p&gt;




&lt;h2&gt;
  
  
  What is JavaScript
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/JavaScript"&gt;JavaScript&lt;/a&gt; is a scripting language that is standardized as &lt;a href="https://www.ecma-international.org/publications/standards/Ecma-262.htm"&gt;ECMAScript&lt;/a&gt; and described as interpreted, dynamical typed, object-oriented but class-less. Since ECMAScript 6, JavaScript can compete with other object-oriented languages because of the introduction of prototypes. In JavaScript, one can write code either object-oriented, procedural, or functional - whatever fits best.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who invented JavaScript?
&lt;/h3&gt;

&lt;p&gt;In 1995, Brendan Eich created JavaScript (originally it was called LiveScript) during his time at Netscape with the purpose of dynamical HTML in web browsers to analyze user interactions and changing, generating, and updating content. Basically to extend the capabilities of HTML and CSS at that time. &lt;/p&gt;

&lt;h3&gt;
  
  
  What does js mean?
&lt;/h3&gt;

&lt;p&gt;People often use the term js as an abbreviation of the term "JavaScript". Also, many libraries and frameworks like &lt;a href="https://nextjs.org/"&gt;Next.js&lt;/a&gt;, &lt;a href="https://vuejs.org/"&gt;Vue.js&lt;/a&gt;, or &lt;a href="https://reactjs.org/"&gt;Reactjs&lt;/a&gt; use this to indicate that they are written in JavaScript. &lt;/p&gt;

&lt;h3&gt;
  
  
  Is JavaScript an interpreted language?
&lt;/h3&gt;

&lt;p&gt;This is a question often raised during interviews for software engineering jobs. Originally JavaScript was designed as an interpreted, high-level and dynamic programming language. Interpreted in this context means that the source code can directly be executed by the interpreter, line by line. In contrast, Java (or C++) is a compiled language meaning that the source code cannot be run directly but has to be compiled into bytecode by a compiler before. &lt;/p&gt;

&lt;p&gt;So many people are going to tell you that JavaScript is indeed an interpreted language as per the language specification. However, this isn't a definitive answer anymore. With the rise of the &lt;a href="https://v8.dev/"&gt;V8 engine&lt;/a&gt; that powers Google's Chrome Browser the clear differentiation between interpreted and compiled became somewhat blurry. V8 compiles the JavaScript source code into native machine code before executing it and other modern JS implementations like &lt;a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino"&gt;Rhino&lt;/a&gt; (which is actually written in Java!) or &lt;a href="https://wiki.mozilla.org/JavaScript:TraceMonkey"&gt;TraceMonkey&lt;/a&gt; do similar things.&lt;/p&gt;

&lt;p&gt;So while JavaScript, in theory, is an interpreted language the actual implementations are using features of interpreters and compilers to combine the best of both worlds. &lt;/p&gt;

&lt;p&gt;So is JavaScript an interpreted language? Yes. Is JavaScript a compiled language? Also yes. It's just a matter of perspective.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Java used for
&lt;/h2&gt;

&lt;p&gt;In general, the programming language Java is used to write code in a human-readable way that gets compiled into bytecode that runs on virtual machines on any kind of device. Especially with the rise of the Internet-of-Things, the numbers have skyrocketed. In fact, Java runs on billions of devices today. Due to its nature of being platform-independent, Java is also used for many applications. &lt;/p&gt;

&lt;p&gt;Here are some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API backends&lt;/li&gt;
&lt;li&gt;Machine Learning backends&lt;/li&gt;
&lt;li&gt;Storage backends&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Processing backends in the financial industry&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Native Android Applications&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Industrial Control Systems&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Big corporations use Java as a fundamental piece of their tech-stack. For example, most of Amazon's stack including AWS is based on and written in Java.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does Java do?
&lt;/h3&gt;

&lt;p&gt;Java as a programming language - as already said before - is used to write programming code that gets compiled and executed on machines. Java on your computer (and what this question often refers to) means the Java Runtime Environment, the JRE. It does nothing on its own but provides the infrastructure to run Java-based applications on your local computer or on virtual machines distributed over a network.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need Java?
&lt;/h3&gt;

&lt;p&gt;This question often relates to the question if you need to install Java on your computer. While it is not necessary to have it installed in general, many applications today rely on the Java Runtime Environment to function. So, if you want to install an application that is written in Java - yes, you need to install the Java Runtime Environment. But you don't need to install the JDK or have knowledge of the Java programming language for that! The main reason to know about the programming language Java is if you want to become a Java developer.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is Javascript used for
&lt;/h2&gt;

&lt;p&gt;JavaScript makes websites interactive and powers web servers and APIs. While the usage of JS, in the beginning, was limited to browsers (the clients), as of today it can also be used on the server-side, for example using node.js. On websites, JavaScript handles things like submitting forms, validating user input, executing third-party scripts, calling APIs for data. In short, creating interactive applications. Without JavaScript, most websites would be what we call static websites.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need JavaScript?
&lt;/h3&gt;

&lt;p&gt;Almost all websites today need your browser to execute JavaScript to function properly. Without JS, there would be no Facebook, no Twitter, no Amazon, no Instagram...Basically, everything that is interactive on these websites is powered by JavaScript. While you can deactivate JavaScript in your browser it is not wise to do so because you won't enjoy a pleasant experience for the majority of websites anymore. There was a time when JavaScript was condemned as evil and people suggested to block its execution. But as of today, JavaScript is an integral part of the internet and modern browsers take care of all security-related aspects of executing JS.&lt;/p&gt;

&lt;p&gt;Like with Java, you cannot install the programming language JavaScript on your computer. Some applications like web servers that are written in JS need a runtime environment, for example, node.js to work. But for the average user that's not necessary.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is the difference between Java and JavaScript?
&lt;/h2&gt;

&lt;p&gt;I hope you already have gotten a good understanding of the differences between JavaScript and Java by now. Besides the name and both being programming languages, JavaScript and Java are fundamentally different. Java is mainly used to write applications that run on a virtual machine via the Java Runtime Environment. JavaScript is used to write code that gets mainly executed by a browser to create interactive websites and applications.&lt;/p&gt;

&lt;p&gt;Java is a compiled, strictly typed language and JavaScript is an interpreted, dynamically typed language. However, as you've already read, the line between interpreted and compiled languages became somewhat blurry in the last years.&lt;/p&gt;

&lt;p&gt;The syntax of Java is also quite different in comparison to the JavaScript syntax:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Java syntax&lt;/strong&gt;&lt;br&gt;
&lt;a href="//images.ctfassets.net/28643bqnqgzl/rMiW9kPtWOhwUak5YyDKV/edb871dfe8414727dc6dee85c8f91676/java_syntax.png" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/rMiW9kPtWOhwUak5YyDKV/edb871dfe8414727dc6dee85c8f91676/java_syntax.png" alt="java syntax"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JavaScript syntax&lt;/strong&gt;&lt;br&gt;
&lt;a href="//images.ctfassets.net/28643bqnqgzl/3uQ5XrrLSHDAA1M2FqVov/95e7b085bdcba5ac7058a77fd4310d50/javascript_syntax.PNG" class="article-body-image-wrapper"&gt;&lt;img src="//images.ctfassets.net/28643bqnqgzl/3uQ5XrrLSHDAA1M2FqVov/95e7b085bdcba5ac7058a77fd4310d50/javascript_syntax.PNG" alt="javascript syntax"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Is Java short for JavaScript?
&lt;/h3&gt;

&lt;p&gt;Absolutely not! Besides the similar name, these are two fundamentally different programming languages. The reason for this confusion and that it is still existing today is for a historical reason. Because there have been copyright issues with the original name of JS, LiveScript, Netscape decided to rename the language to JavaScript to profit from the popularity of Java at that time. But Java is actually much closer to C++ than to JavaScript.&lt;/p&gt;
&lt;h3&gt;
  
  
  What is a Java Developer?
&lt;/h3&gt;

&lt;p&gt;A Java Developer is a software developer or engineer that specializes in or has some decent knowledge of the Java programming language to use it for writing applications with it. This can either be professional as part of their daily work or just as a hobby. Because Java is mainly used for writing server-side applications (the back-end) people are often referring to Java Developers as Backend developers.&lt;/p&gt;

&lt;p&gt;Because many corporations all over the world use Java as a part of their tech-stack and the language itself is very popular, Java Developers are in high demand and in general well-paid.&lt;/p&gt;
&lt;h3&gt;
  
  
  What is a JavaScript Developer?
&lt;/h3&gt;

&lt;p&gt;A JavaScript Developer is someone that knows how to write applications using the programming language JavaScript. The term "JavaScript Developer" is often used as a synonym for a software developer, a software engineer, or even a web developer. In the world of JavaScript people and companies often differentiate between JavaScript developers for the client-side (frontend developer) and the server-side (backend developer). Some even have job descriptions for React Developers or Vue Developers indicating that they are looking for engineers that know specific JavaScript frameworks. &lt;/p&gt;

&lt;p&gt;Due to so many websites and applications running with JavaScript, web developers are in very high demand and generally well-paid. Because JS can be used on the client-side and the server-side, job opportunities are huge these days.&lt;/p&gt;


&lt;h2&gt;
  
  
  Java vs. JavaScript - Which is better?
&lt;/h2&gt;

&lt;p&gt;For this question, only one valid answer exists: It depends. Because the use cases and general conception of JavaScript vs. Java are so fundamentally different there really isn't one better than the other.&lt;/p&gt;

&lt;p&gt;Java has some advantages over JavaScript and vice versa. Java is regularly taught as part of computer science degrees while JavaScript developers are often self-taught. And some people find JavaScript easier to learn general programming. But the best approach is to be open-minded about both languages and always decide on a per case basis.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What language is the best for the project or company?&lt;/li&gt;
&lt;li&gt;Do I want to work on the client-side, server-side, or both (as a full-stack developer)?&lt;/li&gt;
&lt;li&gt;How many resources like learning materials, tutorials, courses, libraries, frameworks, etc exist for the languages?&lt;/li&gt;
&lt;li&gt;How does the job market in my country or city look like? Are there more jobs for Java or JavaScript developers available?&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Wpeym1_lmPo"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Here is a great video for you that also explains some of the key differences!&lt;/p&gt;

&lt;p&gt;So obviously no language is better than the other and the best way to learn either JavaScript or Java is to actually write code. And there are many resources available, some for free, some you have to pay to support your learning. If you are looking for projects that you can build with JavaScript, here are some great &lt;a href="https://thesmartcoder.dev/9-awesome-projects-you-can-build-with-vanilla-javascript/"&gt;javascript projects&lt;/a&gt;. And if you are looking for &lt;a href="https://thesmartcoder.dev/10-must-read-books-for-software-engineers/"&gt;a collection of programming books&lt;/a&gt; we got you covered as well!&lt;/p&gt;

&lt;p&gt;This post was originally published on &lt;a href="https://thesmartcoder.dev/"&gt;The Smart Coder&lt;/a&gt; by my friend Ann Fraser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you like what I write and want to support me and my work, please follow me on &lt;a href="https://twitter.com/simonholdorf"&gt;Twitter&lt;/a&gt; to learn more about programming, making, writing &amp;amp; careers🥰&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>java</category>
      <category>webdev</category>
      <category>todayilearned</category>
    </item>
  </channel>
</rss>
