<?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: Eddy Vinck</title>
    <description>The latest articles on DEV Community by Eddy Vinck (@eddyvinck).</description>
    <link>https://dev.to/eddyvinck</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%2F95922%2F2e59cbf6-b802-4fa5-9b31-d83b644a23ed.png</url>
      <title>DEV Community: Eddy Vinck</title>
      <link>https://dev.to/eddyvinck</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eddyvinck"/>
    <language>en</language>
    <item>
      <title>I made a free tool for blog cover images</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Sun, 15 Dec 2024 17:15:15 +0000</pubDate>
      <link>https://dev.to/eddyvinck/i-made-a-free-tool-for-blog-cover-images-38b8</link>
      <guid>https://dev.to/eddyvinck/i-made-a-free-tool-for-blog-cover-images-38b8</guid>
      <description>&lt;p&gt;I created a free tool to make images for your articles and websites. It’s called &lt;a href="https://ogimagemaker.com" rel="noopener noreferrer"&gt;OG Image Maker&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I built it with React.js, and it works by creating an SVG programmatically which you can then download as a PNG.&lt;/p&gt;

&lt;p&gt;Here are some OG images you can edit using the website:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp7mdwcd5a1boem8nwhy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp7mdwcd5a1boem8nwhy.png" alt="layouts with title, tag, readtime, author, and main image in the bottom centered" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmeem0jksef1a73e2hk6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmeem0jksef1a73e2hk6.png" alt="layout with logo, tag, title, author, main image on the right center, button" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyorn4n1rnjfhw5138ff0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyorn4n1rnjfhw5138ff0.png" alt="layouts with title, tag, readtime, author, and main image" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fioll8r02rn0eqk5knmr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fioll8r02rn0eqk5knmr2.png" alt="layout with logo, title, subtitle" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can edit the text, the colors, images, a button, the background. Pretty much everything!&lt;/p&gt;

&lt;p&gt;And it’s 100% free, without any watermarks, and you don’t need an account.&lt;/p&gt;

&lt;p&gt;Go check it out at &lt;a href="https://ogimagemaker.com" rel="noopener noreferrer"&gt;https://ogimagemaker.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>react</category>
    </item>
    <item>
      <title>Juggling a Developer Job, Part-Time SaaS and Conference Speaking</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Tue, 09 Jul 2024 19:22:00 +0000</pubDate>
      <link>https://dev.to/eddyvinck/juggling-a-developer-job-part-time-saas-and-conference-speaking-5i5</link>
      <guid>https://dev.to/eddyvinck/juggling-a-developer-job-part-time-saas-and-conference-speaking-5i5</guid>
      <description>&lt;p&gt;_This was originally posted on &lt;a href="https://www.eddyvinck.com/blog/juggling-job-saas-and-conference-speaking/" rel="noopener noreferrer"&gt;my website's blog&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Launching a side business is no small thing, especially when you're juggling a job and a personal life. I've recently started with this challenging journey with my blogging SaaS, Blog Recorder. It's been a couple of weeks since the launch, and I'm proud to say it's been quite successful for a small, part-time business.&lt;/p&gt;

&lt;h2&gt;
  
  
  The early success
&lt;/h2&gt;

&lt;p&gt;I've managed to secure six paying customers, with four opting for annual subscriptions and two on a monthly basis. This has brought me to a modest $75 in monthly recurring revenue, and I've attracted over 120 users in total. To me that is a huge win, and every new customer and piece of feedback is a cause for celebration.&lt;/p&gt;

&lt;h2&gt;
  
  
  The grind of part-time entrepreneurship
&lt;/h2&gt;

&lt;p&gt;I work 32 hours a week at my day job as a software developer, and I dedicate my other time to my business. That's nights, weekends, and a full dedicated day off. It's a grind, but it's really fulfilling. I'm also passionate about conference speaking, which I've been trying to maintain alongside my SaaS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Balancing work, speaking, and personal life
&lt;/h2&gt;

&lt;p&gt;The balance is tough. Preparing for a conference talk while running a business and working part-time is taxing. I'm flying to Wisconsin for THAT Conference, an event I'm excited about, but it has required a lot of legwork to find a sponsor to help cover travel costs.&lt;/p&gt;

&lt;p&gt;Thankfully, the conference organizers have been supportive, offering a good deal on my hotel stay. And surprisingly, I've also been given the opportunity to be on the list of sponsors for the conference, which includes a table to promote Blog Recorder. They really didn't need to do that, and I'm really thankful for this chance. It will be the first time I'm sponsoring an event and promoting something myself, so I'm curious how it will go.&lt;/p&gt;

&lt;h2&gt;
  
  
  The reality of overcommitment
&lt;/h2&gt;

&lt;p&gt;Despite the excitement, I've come to realize that I may have underestimated the amount of work I can handle over an extended period. From launching the product to learning how to handle international sales tax with my accountant has been a lot to manage. I'm learning that in the long term I need to cut back and focus on fewer tasks to maintain a sustainable pace if I keep doing this outside of my developer job.&lt;/p&gt;

&lt;h2&gt;
  
  
  The importance of self-care
&lt;/h2&gt;

&lt;p&gt;One crucial lesson I've learned is the importance of self-care. Ensuring I get a full eight hours of sleep and not slipping into hermit mode are top priorities. I'm no longer skipping the gym to get a few extra hours of work in, which is something I intentionally did to work on my launch.&lt;/p&gt;

&lt;p&gt;Socializing is also key. I want to make sure I stay in contact with friends and family.&lt;/p&gt;

&lt;h2&gt;
  
  
  Preparing for the conference
&lt;/h2&gt;

&lt;p&gt;As for the conference, I am creating an outline for my talk, creating a demo application for a small product, and polishing my slides. I'm not too worried about giving the talk itself as I'm confident in my speaking abilities, but the preparation is key and is still a lot of work for the upcoming weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intentionality and focus
&lt;/h2&gt;

&lt;p&gt;In the end, it's about being intentional with my time and energy. Saying no to many good things to focus on the right things is hard but necessary. As a part-time entrepreneur, conference speaker, partner, and individual, focusing on what truly matters is the key to success and a long-term sustainable work-life balance.&lt;/p&gt;

&lt;p&gt;In conclusion, managing part-time SaaS, conference speaking and a developer job is really challenging sometimes, but it is also something that makes me happy. It requires a good balance of work, passion projects, and personal life. With intentionality, focus, and taking care of yourself, it is definitely possible. But choosing these things means saying no to a lot of other things.&lt;/p&gt;

&lt;h2&gt;
  
  
  And before you ask..
&lt;/h2&gt;

&lt;p&gt;Yes, this post was created using &lt;a href="https://blogrecorder.com" rel="noopener noreferrer"&gt;Blog Recorder&lt;/a&gt;! It can export to markdown, so crossposting to Dev.to is super easy! I'll be sharing my articles here more often 🥳&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>ai</category>
      <category>react</category>
    </item>
    <item>
      <title>I created an e-book about developer job searching - Get a free sample!</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Mon, 20 Sep 2021 17:13:54 +0000</pubDate>
      <link>https://dev.to/eddyvinck/i-created-an-e-book-about-developer-job-searching-get-a-free-sample-3pe2</link>
      <guid>https://dev.to/eddyvinck/i-created-an-e-book-about-developer-job-searching-get-a-free-sample-3pe2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Developer Job Searching: The Not So Technical Parts&lt;/strong&gt; is the resource I wish I had when I started searching for developer jobs.&lt;/p&gt;

&lt;p&gt;It includes &lt;strong&gt;everything that I have learned about job searching&lt;/strong&gt; since I started learning how to code 5 years ago.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It launches tomorrow!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can get a free sample here: &lt;a href="https://eddyvinck.gumroad.com/l/pSKPZ" rel="noopener noreferrer"&gt;https://eddyvinck.gumroad.com/l/pSKPZ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like it, you can still save 40% by pre-ordering here: &lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching/pre-sale" rel="noopener noreferrer"&gt;https://eddyvinck.gumroad.com/l/developer-job-searching/pre-sale&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo73odgefz4md7sgrwbwz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo73odgefz4md7sgrwbwz.png" alt="e-book cover image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a pre-order, the e-book costs just &lt;strong&gt;$11.40&lt;/strong&gt;, and the Complete Package costs only &lt;strong&gt;$21&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Tomorrow, after the launch, the e-book will be &lt;strong&gt;$19&lt;/strong&gt;, and the Complete Package will be &lt;strong&gt;$35&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Save 40%:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching/pre-sale" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1xifa0u5rezzlioyj5i7.png" alt="I want this e-book!"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How To Choose The Right Frontend Framework</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Sat, 11 Sep 2021 14:55:06 +0000</pubDate>
      <link>https://dev.to/eddyvinck/how-to-choose-the-right-frontend-framework-1ben</link>
      <guid>https://dev.to/eddyvinck/how-to-choose-the-right-frontend-framework-1ben</guid>
      <description>&lt;p&gt;Should you learn React, Vue, Angular? Or is something like Svelte a better choice?&lt;/p&gt;

&lt;p&gt;This question plagues many frontend developers looking to break into the industry.&lt;/p&gt;

&lt;p&gt;I've seen this question asked and answered hundreds of times online.&lt;/p&gt;

&lt;h2&gt;
  
  
  Most of the advice on social media is not very helpful
&lt;/h2&gt;

&lt;p&gt;That's a pretty bold claim, but hear me out: the advice is not helpful because it most likely does not apply to your circumstances.&lt;/p&gt;

&lt;p&gt;When people are comparing frameworks, they are often comparing one of the following things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Amount of GitHub stars&lt;/li&gt;
&lt;li&gt;Amount of NPM downloads&lt;/li&gt;
&lt;li&gt;Amount of code required to build something&lt;/li&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's pretty much always one of those things. Or people are just advocating for their favorite framework.&lt;/p&gt;

&lt;p&gt;Those comparisons are all valid and can help you make a decision, but in my opinion there is a better way to tackle this question.&lt;/p&gt;

&lt;p&gt;The area where most of the popularity comparisons fall flat, however, is that there is not a single one framework that is the most popular in every part of the world. Whereas in some areas it could be React, in other areas it might be Vue (or any other framework).&lt;/p&gt;

&lt;h2&gt;
  
  
  Finding out what framework to learn
&lt;/h2&gt;

&lt;p&gt;You should choose a framework that aligns with your goals. &lt;/p&gt;

&lt;p&gt;Chances are that if you are reading this article you are an aspiring or entry-level developer. &lt;/p&gt;

&lt;p&gt;If that is the case, then wouldn't it make more sense to choose the frontend framework that will most likely get you a job? I'm assuming that is why you are reading this in the first place.&lt;/p&gt;

&lt;p&gt;So how do we find out what framework will get you a job?&lt;/p&gt;

&lt;p&gt;Simple: You need to find out what companies are hiring for. You have to do market research.&lt;/p&gt;

&lt;p&gt;The easiest way would be to look at job posts for companies in your area. &lt;/p&gt;

&lt;p&gt;You can do this by going to websites like &lt;a href="https://indeed.com"&gt;Indeed&lt;/a&gt; or your local equivalent. &lt;/p&gt;

&lt;p&gt;Some companies don't hire via websites like that though, so I would advise you to also look at the individual websites of companies in your area or the area where you would like to work.&lt;/p&gt;

&lt;p&gt;If companies in your area are organising Meetups / developer networking events via &lt;a href="https://meetup.com"&gt;meetup.com&lt;/a&gt; or other platforms that would also be a great way to find out what you should learn.&lt;/p&gt;

&lt;p&gt;After doing this research you should take some time to think about what companies you would like to work for. Then learn the framework that is most commonly used amongst those companies.&lt;/p&gt;

&lt;h2&gt;
  
  
  You can learn more than one framework
&lt;/h2&gt;

&lt;p&gt;Maybe after doing your market research you come to the conclusion that companies aren't hiring for the framework you would really like to learn.&lt;/p&gt;

&lt;p&gt;My advice would be to still learn the framework that is most desired by those potential employers. Build some projects. Get a job. Get real world experience. &lt;/p&gt;

&lt;p&gt;You can always learn other frameworks once you have gotten your foot in the door.&lt;/p&gt;

&lt;h2&gt;
  
  
  What companies to apply for?
&lt;/h2&gt;

&lt;p&gt;I recently wrote an article called &lt;a href="https://dev.to/eddyvinck/transform-your-career-and-personal-life-finding-a-great-job-nh2"&gt;Transform Your Career And Personal Life: Finding A Great Job&lt;/a&gt; that could help.&lt;/p&gt;

&lt;p&gt;I also am writing an eBook about this subject. It's called &lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching"&gt;Developer Job Searching: The Not So Technical Parts&lt;/a&gt;. Right now you can get it for 40% off. It releases September 21st.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5o_0TiQy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uc0nj21luz8k06c8h5iz.png" alt="Link to the eBook"&gt;&lt;/a&gt;&lt;br&gt;
Click 👆 for more information&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>career</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Transform Your Career And Personal Life: Finding A Great Job</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Tue, 07 Sep 2021 13:05:01 +0000</pubDate>
      <link>https://dev.to/eddyvinck/transform-your-career-and-personal-life-finding-a-great-job-nh2</link>
      <guid>https://dev.to/eddyvinck/transform-your-career-and-personal-life-finding-a-great-job-nh2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Nobody wants a bad job.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But what exactly is a bad job? That definition is actually up to you, as it is very personal.&lt;/p&gt;

&lt;p&gt;So what &lt;em&gt;do&lt;/em&gt; you want? Do you want to become the best developer you can be? &lt;/p&gt;

&lt;p&gt;Then you need a job that continuously challenges you, as opposed to one where you do the same thing over and over.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6798BFSL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9eksg36mtjbk02s8m1u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6798BFSL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i9eksg36mtjbk02s8m1u.png" alt="Chart showing that the wrong job may initially grow your skillset, but it will even out over time. Another chart showing more progress in the same amount of time at a great job."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you really have 10 years of experience, if you do the exact same type of work every year?&lt;/p&gt;

&lt;p&gt;A great job, by contrast, will grow your skills continuously over time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How do you find a great developer job?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You need to decide what a great job means &lt;em&gt;to you.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A great job could mean:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More money&lt;/li&gt;
&lt;li&gt;Better working conditions&lt;/li&gt;
&lt;li&gt;Good benefits&lt;/li&gt;
&lt;li&gt;Remote job&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it's important to think about why you want those things in the first place. &lt;strong&gt;Why does it matter to you?&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  More money
&lt;/h3&gt;

&lt;p&gt;Having more money means more security. You also don't have to worry about money so much, so you can focus on the other parts of your life.&lt;/p&gt;

&lt;h3&gt;
  
  
  Better working conditions
&lt;/h3&gt;

&lt;p&gt;Some jobs are very chaotic. But it doesn't have to be that way.&lt;/p&gt;

&lt;p&gt;There are jobs out there where you barely, if ever, need to work overtime. That depends on your role too, of course.&lt;/p&gt;

&lt;p&gt;Less overtime means you will have more time for family, friends, and hobbies.&lt;/p&gt;

&lt;p&gt;Or maybe you would like to build your own business? Not all jobs allow you to have "side hustles." &lt;/p&gt;

&lt;p&gt;If that is something you want, then you need to identify which potential employers let you do your own thing in your own time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Good benefits
&lt;/h3&gt;

&lt;p&gt;Maybe you don't have social healthcare in your country. You could find a company that offers this.&lt;/p&gt;

&lt;p&gt;Maybe you don't want to buy a car? You could find a company that leases a car for you 🚗&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote job
&lt;/h3&gt;

&lt;p&gt;A great way to save more time is to find a company that isn't too far from where you live.&lt;/p&gt;

&lt;p&gt;Not having a commute at all would save you even more time!&lt;/p&gt;

&lt;h2&gt;
  
  
  Market research
&lt;/h2&gt;

&lt;p&gt;Now you have thought about the things you look for in a job it is time for some market research.&lt;/p&gt;

&lt;p&gt;You could just scroll on job posting websites and apply to every single job you see.&lt;/p&gt;

&lt;p&gt;Or you could be smart about your approach.&lt;/p&gt;

&lt;p&gt;Companies like talking about themselves, and especially about the things that makes them great. &lt;/p&gt;

&lt;p&gt;You can check job posting websites, company websites, company social media accounts.&lt;/p&gt;

&lt;p&gt;It's more effort to go through all these things, but it provides you with a few benefits.&lt;/p&gt;

&lt;p&gt;First of all, you know more about the company you are applying for. This will help you during your interviews.&lt;/p&gt;

&lt;p&gt;Secondly, you will be able to make a more informed decision of wether you even want to apply for that company at all! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You could save yourself hundreds of hours of interviewing by only applying to &lt;em&gt;the right&lt;/em&gt; jobs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--O0ciCKPO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ef05nqobgp9fly00swmu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--O0ciCKPO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ef05nqobgp9fly00swmu.png" alt="Venn diagram showing your great job is where your personal needs match some of the aspects of a job"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The image above oversimplifies your job search a lot, but that is what it comes down to: finding a job that matches your personal needs. The more those circles overlap, the better the job is for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;In conclusion, finding a great job is hard, but ultimately worth every bit of effort. After all, why would you want to spend so much time interviewing or working for the wrong companies?&lt;/p&gt;

&lt;p&gt;I hope this article got you thinking at least a little about how to approach your future job searches.&lt;/p&gt;

&lt;p&gt;I wrote a lot more about this subject in &lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching"&gt;&lt;strong&gt;Developer Job Searching: The Not So Technical Parts&lt;/strong&gt;&lt;/a&gt;, the eBook that covers how to find a great job you will love.&lt;/p&gt;

&lt;p&gt;I'm still putting the finishing touches on the book. Right now, you can pre-order it at a 40% discount.&lt;/p&gt;

&lt;p&gt;If you want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Stop wasting your time with the wrong employers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learn how to identify companies that match your needs&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spend less time filling in online job application forms&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Start your probation period the right way&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then &lt;strong&gt;&lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching"&gt;Developer Job Searching: The Not So Technical Parts&lt;/a&gt;&lt;/strong&gt; is for &lt;u&gt;you&lt;/u&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://eddyvinck.gumroad.com/l/developer-job-searching"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5o_0TiQy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uc0nj21luz8k06c8h5iz.png" alt="Link to the eBook"&gt;&lt;/a&gt;&lt;br&gt;
Click 👆 for more information&lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Why I think the upcoming CSS Container queries are GAME CHANGING 🔥🔥</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Fri, 26 Mar 2021 16:32:57 +0000</pubDate>
      <link>https://dev.to/eddyvinck/why-i-think-the-upcoming-css-container-queries-are-game-changing-d4o</link>
      <guid>https://dev.to/eddyvinck/why-i-think-the-upcoming-css-container-queries-are-game-changing-d4o</guid>
      <description>&lt;p&gt;I saw &lt;a href="https://twitter.com/Una/status/1375419967718449155" rel="noopener noreferrer"&gt;this tweet by Una&lt;/a&gt; where she announced that CSS container queries are now available under a flag in Chrome &lt;em&gt;Canary&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Here are my thoughts on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a container query?
&lt;/h2&gt;

&lt;p&gt;A container query is similar to a CSS media query, except regular media queries can only check the state of the browser window / viewport. Container queries check things like the current width of a HTML element, which opens up a lot of possibilities.&lt;/p&gt;

&lt;p&gt;🚨 &lt;strong&gt;Disclaimer&lt;/strong&gt;: I haven't tested these container queries yet, but this is how I &lt;em&gt;think&lt;/em&gt; they will impact our developer experience 💯&lt;/p&gt;

&lt;h2&gt;
  
  
  A use for container queries
&lt;/h2&gt;

&lt;p&gt;Let's say you have a form where the labels of the inputs should be on the left when there is space for it + some other things related to the width of the form.&lt;/p&gt;

&lt;p&gt;Not an easy task with regular media (viewport) queries if your form doesn't always span the complete width of the page!&lt;/p&gt;

&lt;p&gt;Maybe you can pull it off with things like CSS Flexbox and some smart ways of dealing with wrapping, but maybe you want some other styles to be different when the component becomes smaller.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folucr6un489fmtibvpwm.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Folucr6un489fmtibvpwm.jpeg" alt="Form spanning the full width of the page with labels left of the inputs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0mzb02foi7gjkfp7l4f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0mzb02foi7gjkfp7l4f.png" alt="Form spanning half the width of the page"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Especially difficult if you need to "syncronize" multiple style changes based on that wrapping point.&lt;/p&gt;

&lt;p&gt;That's currently only possible if you add JS into the mix to check if the width or height changed. &lt;/p&gt;

&lt;p&gt;You could then add or remove CSS classes with JS. Not ideal!&lt;/p&gt;

&lt;h2&gt;
  
  
  Container queries in the component era
&lt;/h2&gt;

&lt;p&gt;Especially in the current "component era" of frontend, it becomes invaluable to be able to scope styles to container size of the component.&lt;/p&gt;

&lt;p&gt;Parent layout components no longer need to tweak its children components' CSS in certain scenarios.&lt;/p&gt;

&lt;p&gt;And with with ever changing requirements of projects it becomes really handy to define all those styles within the component based on its container size.&lt;/p&gt;

&lt;p&gt;Say you make a form component intended to be half the width of the page. Some time passes, and now a colleague has to reuse that component for the full width of another page.&lt;/p&gt;

&lt;p&gt;They need to find all the CSS they need to tweak and update that CSS from the parent component.&lt;/p&gt;

&lt;p&gt;But let's say the component also needs to be used in other parent components. Now you have to duplicate that full page CSS or find solution to reuse it easily (component composition maybe?)&lt;/p&gt;

&lt;p&gt;Way more complex (if you ask me) than defining all those styles within the component!&lt;/p&gt;




&lt;p&gt;This post was adapted from my original Twitter thread. Feel free to discuss it there as well!&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1375480037726642191-221" src="https://platform.twitter.com/embed/Tweet.html?id=1375480037726642191"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1375480037726642191-221');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1375480037726642191&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You can subscribe to my newsletter &lt;a href="https://www.eddyvinck.com/newsletter" rel="noopener noreferrer"&gt;here&lt;/a&gt;. It's free!&lt;/em&gt;&lt;/p&gt;




</description>
      <category>css</category>
      <category>webdev</category>
      <category>programming</category>
      <category>containerqueries</category>
    </item>
    <item>
      <title>Should services like AWS be cheaper for people outside the US?</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Thu, 24 Dec 2020 09:07:40 +0000</pubDate>
      <link>https://dev.to/eddyvinck/should-services-like-aws-be-cheaper-for-people-outside-the-us-d01</link>
      <guid>https://dev.to/eddyvinck/should-services-like-aws-be-cheaper-for-people-outside-the-us-d01</guid>
      <description>&lt;p&gt;I've been thinking about this.&lt;/p&gt;

&lt;p&gt;The prices are often based on salaries in highly paid countries.&lt;/p&gt;

&lt;p&gt;My country (The Netherlands) is far from poor, don't get me wrong, but we make WAY less than some developers in the United States make.&lt;/p&gt;

&lt;p&gt;If a US developer makes $120k and a service costs them $30 monthly it doesn't seem like a big deal.&lt;/p&gt;

&lt;p&gt;That same service can effectively be 3 times more expensive if you make a third of what the US dev makes.&lt;/p&gt;

&lt;p&gt;Should SaaS / PaaS / etc. have purchasing power parity? (PPP)&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>aws</category>
      <category>saas</category>
      <category>money</category>
    </item>
    <item>
      <title>My Web Development Study Plan For 2021</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Fri, 18 Dec 2020 09:27:26 +0000</pubDate>
      <link>https://dev.to/eddyvinck/my-web-development-study-plan-for-2021-5b57</link>
      <guid>https://dev.to/eddyvinck/my-web-development-study-plan-for-2021-5b57</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally posted on my &lt;a href="https://www.eddyvinck.com/blog/my-2021-web-developer-study-plan/"&gt;personal website&lt;/a&gt;. You can subscribe to my newsletter &lt;a href="https://www.eddyvinck.com/newsletter"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;As 2020 is coming to an end, I have been reflecting on how much I have learned this year.&lt;/p&gt;

&lt;p&gt;For many, including me, it has been a rather difficult year. Unsurprisingly, this has had an impact on what I have been able to learn or build.&lt;/p&gt;

&lt;p&gt;Looking towards 2021 with the intention of further improving myself as a developer I have written a list of things I want to study.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning
&lt;/h2&gt;

&lt;p&gt;I have many things I want to learn. The things I want to learn generally fall into the following categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fundamentals and getting better at things I already know and use&lt;/li&gt;
&lt;li&gt;Promising tools and concepts that I've been keepign an eye on&lt;/li&gt;
&lt;li&gt;Things that will allow me to create things I cannot create with my current skillset&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer: This list is ambitious&lt;/strong&gt;. Especially since I will be moving into my own house next year. It's unlikely I will be able to do all of it, and that's okay.&lt;/p&gt;

&lt;h3&gt;
  
  
  Back to basics
&lt;/h3&gt;

&lt;p&gt;The fundamentals of the web, JavaScript and programming will always be relevant. I find that even as someone who has been coding for about 5 years that I still benefit from going back to the basics.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These are the fundamentals that I want to study (again)&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Event loop&lt;/li&gt;
&lt;li&gt;Design patterns&lt;/li&gt;
&lt;li&gt;Prototypes and classes&lt;/li&gt;
&lt;li&gt;Regular functions vs. arrow functions&lt;/li&gt;
&lt;li&gt;Learn more about how web pages are rendered&lt;/li&gt;
&lt;li&gt;Promises and &lt;code&gt;async&lt;/code&gt; / &lt;code&gt;await&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;How the internet works (generally)&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Refreshers
&lt;/h3&gt;

&lt;p&gt;It's good to know the tools you use. I want to brush up on things that I use frequently or want to start using more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These are the things I want to brush up on&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go through all the ReactJS documentation again&lt;/li&gt;
&lt;li&gt;Setting up GraphQL servers&lt;/li&gt;
&lt;li&gt;Unit testing with &lt;a href="https://testing-library.com/docs/react-testing-library/intro"&gt;React Testing Library&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;End to end testing with &lt;a href="https://www.cypress.io/"&gt;Cypress&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Chrome devtools - what's new that I'm not using yet?&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Going outside of my comfort zone
&lt;/h3&gt;

&lt;p&gt;Up until this year I have mostly been "just" a frontend developer. In an effort to go outside of my comfort zone I have been venturing into the backend, but only slightly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I want to get more familiar with backend in 2021.&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Authentication with JWT (JSON Web Tokens)&lt;/li&gt;
&lt;li&gt;API Gateways&lt;/li&gt;
&lt;li&gt;Restful APIs (I have mostly done GraphQL at this point)&lt;/li&gt;
&lt;li&gt;PostgresQL with Sequelize&lt;/li&gt;
&lt;li&gt;Server logging best practices beyond &lt;code&gt;console.log&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Docker and Docker Compose&lt;/li&gt;
&lt;li&gt;Get more familiar with Postman (or Insomnia which is a free alternative)&lt;/li&gt;
&lt;li&gt;Authentication library like PassportJS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Serverless and JAMstack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Serverless and JAMstack are things that aren't going away anytime soon. I have some general knowledge about it, but I haven't really taken the time yet to dive deeper into these concepts and build something with it. Now that this way of building has matured I think it's time to give it a fair shot.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;NextJS: it's a framework for React that is designed to work great for JAMstack projects. I'll probably be taking Wes Bos' Advanced React course when he updates it since I already purchased it.&lt;/li&gt;
&lt;li&gt;A headless CMS like KeystoneJS, Strapi or similar. Probably one of the cheaper ones since some are &lt;em&gt;really&lt;/em&gt; expensive.&lt;/li&gt;
&lt;li&gt;AWS Lambda and other Amazon services that might come in handy.&lt;/li&gt;
&lt;li&gt;Something with a database. Not sure what yet.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are also things in frontend that I want to check out but haven't yet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These are my frontend picks:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;TailwindCSS&lt;/li&gt;
&lt;li&gt;XState: a state management library&lt;/li&gt;
&lt;li&gt;React Hook Form&lt;/li&gt;
&lt;li&gt;Styled System: a helper library for Styled Components, which I already use&lt;/li&gt;
&lt;li&gt;Design systems&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Courses
&lt;/h3&gt;

&lt;p&gt;I have a Frontend Masters subscription and I will be using it of course.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;These are the courses I want to check out next year:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;JavaScript Hard Parts v2&lt;/li&gt;
&lt;li&gt;JavaScript Recent Parts&lt;/li&gt;
&lt;li&gt;JavaScript New Hard Parts&lt;/li&gt;
&lt;li&gt;Production Grade TypeScript&lt;/li&gt;
&lt;li&gt;Production Ready NextJS&lt;/li&gt;
&lt;li&gt;Intro to Containers&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Maybe I'll also take a look at the Computer Science Learning Path.&lt;/p&gt;

&lt;p&gt;If I can get through the courses above I will also be checking out some of the serverless / JAMstack courses on there.&lt;/p&gt;



Not sponsored by the way (but I definitely could be because I recommend them so often.)



&lt;h3&gt;
  
  
  Additional things to learn
&lt;/h3&gt;

&lt;p&gt;These are things related to my field, but not particularly to my role. These are just things that interest me generally.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How to write good content&lt;/li&gt;
&lt;li&gt;Search Engine Optimization (SEO)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Doing
&lt;/h2&gt;

&lt;p&gt;Learning is very important, but to truly learn you must also do.&lt;/p&gt;

&lt;p&gt;I would like to start a larger side project in 2021. I'm not sure what it is going to be yet.&lt;/p&gt;

&lt;p&gt;I'd like to have a project that has either a proper backend that I can use to learn more about backend or a serverless setup. Or maybe I will build something serverless, but have a serverless application that works together with some sort of backend I can build.&lt;/p&gt;

&lt;h2&gt;
  
  
  A busy year ahead
&lt;/h2&gt;

&lt;p&gt;In 2020 I definitely overworked myself a couple times to a point where I &lt;em&gt;needed&lt;/em&gt; a longer break. I'd love to avoid that in 2021.&lt;/p&gt;

&lt;p&gt;Not that taking breaks is a bad thing, but ideally I should not overwork myself to the point where I don't want to do any coding outside of work for a couple of months. I'd like to be more consistent with programming throughout the year.&lt;/p&gt;

&lt;p&gt;With that in mind, I don't think I will be able do all the things in this list.&lt;/p&gt;

&lt;p&gt;I will be moving into my own house and learn a lot of things related to that, so I'll also have less time to work on web development outside of work.&lt;/p&gt;

&lt;p&gt;I can always move things to 2022 if I don't get to them in 2021.&lt;/p&gt;

&lt;p&gt;Happy holidays!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was originally posted on my &lt;a href="https://www.eddyvinck.com/blog/my-2021-web-developer-study-plan/"&gt;personal website&lt;/a&gt;. You can subscribe to my newsletter &lt;a href="https://www.eddyvinck.com/newsletter"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Using CSS Counters is easy as 1, 2, 3</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Wed, 20 May 2020 17:21:30 +0000</pubDate>
      <link>https://dev.to/eddyvinck/using-css-counters-is-easy-as-1-2-3-357k</link>
      <guid>https://dev.to/eddyvinck/using-css-counters-is-easy-as-1-2-3-357k</guid>
      <description>&lt;p&gt;Don't you just love it when you can do things with just CSS? No JavaScript at all? CSS Counters are awesome and could prove useful to you one day.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;How to use CSS Counters?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Instead of writing this HTML:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;1. First section&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some really interesting content&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;2. Second section&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some really interesting content&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You could write the following to achieve the same result:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"simple-example"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;First section&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some really interesting content&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Second section&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Some really interesting content&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes it easier to add more sections later or even change the order without editing the text itself manually!&lt;/p&gt;

&lt;p&gt;All you need is the following CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nc"&gt;.simple-example&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c"&gt;/* start or reset the counter */&lt;/span&gt;
  &lt;span class="nl"&gt;counter-reset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sectionCount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.simple-example&lt;/span&gt; &lt;span class="nt"&gt;h1&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
  &lt;span class="c"&gt;/* counter = counter + 1 */&lt;/span&gt;
  &lt;span class="nl"&gt;counter-increment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;sectionCount&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nc"&gt;.simple-example&lt;/span&gt; &lt;span class="nt"&gt;h1&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; 
  &lt;span class="c"&gt;/* display the number and a . before the heading */&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sectionCount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="s1"&gt;". "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With this CSS the output will become &lt;code&gt;"1. First section"&lt;/code&gt; instead of &lt;code&gt;"First section"&lt;/code&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Advanced example&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Check out the demo here: &lt;a href="https://codepen.io/EddyVinck/pen/OJyrBJj" rel="noopener noreferrer"&gt;https://codepen.io/EddyVinck/pen/OJyrBJj&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l3lc03z0dwyhkjr8hY/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l3lc03z0dwyhkjr8hY/giphy.gif" alt="CSS Counters"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This demo has utilizes two counters at the same time to achieve the desired effect. You can add new rules to the list and the numbers will be updated automatically!&lt;/p&gt;

&lt;h3&gt;
  
  
  HTML
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"paper"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Terms and conditions&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Terms&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;ol&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Software: a digital product&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Acceptance: By using the Website ...&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/ol&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;
    Conditions
  &lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;ol&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"conditions"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Distribution: You will not distribute your license&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Authentication: You will not share your account&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;Follow Eddy Vinck on Twitter if you found this helpful. 🐦&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/ol&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  CSS
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nt"&gt;section&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;counter-reset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;heading&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;h2&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;counter-increment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;heading&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;h2&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;heading&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="s1"&gt;". "&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;padding-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;counter-reset&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ruleNumber&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;list-style&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;none&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;counter-increment&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;ruleNumber&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;relative&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;padding-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;40px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;ol&lt;/span&gt; &lt;span class="nt"&gt;li&lt;/span&gt;&lt;span class="nd"&gt;::before&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;absolute&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;content&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;heading&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="s1"&gt;"."&lt;/span&gt;&lt;span class="n"&gt;counter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ruleNumber&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="s1"&gt;"."&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;p&gt;CSS is awesome, but you already knew that. I hope you will be able to use CSS counters yourself in the future.&lt;/p&gt;

&lt;p&gt;If you found this article helpful you can follow me on Twitter: &lt;a href="https://twitter.com/veinq_" rel="noopener noreferrer"&gt;@Veinq_&lt;/a&gt;. I post smaller tips including CSS and JavaScript on there as well.&lt;/p&gt;

&lt;p&gt;Here is one of my latest tips people really enjoyed.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1261260706617442305-567" src="https://platform.twitter.com/embed/Tweet.html?id=1261260706617442305"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1261260706617442305-567');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1261260706617442305&amp;amp;theme=dark"
  }



&lt;/p&gt;

</description>
      <category>css</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What are your favorite productivity tools and apps?</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Wed, 15 Apr 2020 13:59:53 +0000</pubDate>
      <link>https://dev.to/eddyvinck/what-are-your-favorite-productivity-tools-and-apps-2nnn</link>
      <guid>https://dev.to/eddyvinck/what-are-your-favorite-productivity-tools-and-apps-2nnn</guid>
      <description>&lt;p&gt;We all look up to those around us who are really productive. What are the tools you use to be a productive developer?&lt;/p&gt;

&lt;p&gt;Anything from command-line shortcuts to apps. What are the things or processes that boost your output at the end of the day? &lt;/p&gt;

&lt;p&gt;Feel free to also reach out on Twitter:&lt;/p&gt;

&lt;p&gt;Liquid error: internal&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>What kind of music do you listen to when working from home? 🏡🎶</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Mon, 16 Mar 2020 13:57:30 +0000</pubDate>
      <link>https://dev.to/eddyvinck/what-kind-of-music-do-you-listen-to-when-working-from-home-1i86</link>
      <guid>https://dev.to/eddyvinck/what-kind-of-music-do-you-listen-to-when-working-from-home-1i86</guid>
      <description>&lt;p&gt;And what other tips do you have for working from home? &lt;/p&gt;

&lt;p&gt;Liquid error: internal&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>productivity</category>
      <category>remote</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>How to use a SSH key for GitHub on unix based systems (Linux or Mac)</title>
      <dc:creator>Eddy Vinck</dc:creator>
      <pubDate>Sat, 01 Feb 2020 19:17:02 +0000</pubDate>
      <link>https://dev.to/eddyvinck/how-to-use-an-ssh-key-for-github-on-unix-based-systems-3e0g</link>
      <guid>https://dev.to/eddyvinck/how-to-use-an-ssh-key-for-github-on-unix-based-systems-3e0g</guid>
      <description>&lt;p&gt;Navigate to &lt;code&gt;~/.ssh&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh-keygen &lt;span class="nt"&gt;-t&lt;/span&gt; rsa &lt;span class="nt"&gt;-b&lt;/span&gt; 4096 &lt;span class="nt"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;"your@email.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When asked to give your key a name I recommend naming it after the service you are using it for, so for me this will be &lt;code&gt;github&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Create &lt;code&gt;~/.ssh/config&lt;/code&gt; with the following content&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/github
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add the contents of the public key file (&lt;code&gt;~/.ssh/github.pub&lt;/code&gt;) to your GitHub account &lt;a href="https://github.com/settings/keys"&gt;https://github.com/settings/keys&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Done! Now you don't have to specify which SSH key you want to use when using SSH to interface with GitHub.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---f-4R9GF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zp5u16tpq5vrl62z4inz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---f-4R9GF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zp5u16tpq5vrl62z4inz.png" alt="connecting with SSH without specifying which key to use"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is how I do it. &lt;/p&gt;

&lt;p&gt;Bonus: If you use multiple accounts you can do this in your config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# account myfirstaccount (username)
Host github.com-myfirstaccount
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-myfirstaccount

# account mysecondaccount
Host github.com-mysecondaccount
  HostName github.com
  User git
  IdentityFile ~/.ssh/github-mysecondaccount
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
