<?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: Jules Libert</title>
    <description>The latest articles on DEV Community by Jules Libert (@blqke).</description>
    <link>https://dev.to/blqke</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%2F1085423%2Fb22679f2-f2d1-461c-a5f7-c285d9ee8f85.png</url>
      <title>DEV Community: Jules Libert</title>
      <link>https://dev.to/blqke</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/blqke"/>
    <language>en</language>
    <item>
      <title>Just some advice for new devs in 2025</title>
      <dc:creator>Jules Libert</dc:creator>
      <pubDate>Fri, 25 Apr 2025 22:01:40 +0000</pubDate>
      <link>https://dev.to/blqke/just-some-advice-for-new-devs-in-2025-2kdc</link>
      <guid>https://dev.to/blqke/just-some-advice-for-new-devs-in-2025-2kdc</guid>
      <description>&lt;p&gt;Here's a response to a former colleague who’s earlier in their career than I am and asked me for advice about being a dev in 2025. It got me thinking, especially in the age of AI. It's really raw, not SEO-friendly at all, but if someone stumbles across this, hopefully it helps.&lt;/p&gt;




&lt;p&gt;I took some time to give you something honest and useful, no bullshit. I believe that if you seriously apply these things, you’ll grow fast and strong as a dev:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Side projects&lt;/strong&gt;: This is key. What you build outside of work reflects your real motivation. It’s where you can experiment, mess up, learn, and grow freely.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus on real user use cases&lt;/strong&gt;. In an AI-driven world, understanding real user needs is what makes you valuable. That’s the human side machines can’t replace.&lt;/li&gt;
&lt;li&gt;Learn &lt;strong&gt;design patterns&lt;/strong&gt;. They help you write better code and collaborate more effectively. Since you're focused on web dev, a great place to start: &lt;a href="https://www.patterns.dev/" rel="noopener noreferrer"&gt;https://www.patterns.dev/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Focus on &lt;strong&gt;problem-solving skills&lt;/strong&gt;. That’s more important than just knowing syntax. Read about mental models and cognitive biases. These will level up how you think and debug:
&lt;a href="https://en.wikipedia.org/wiki/Problem_solving" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Problem_solving&lt;/a&gt;
&lt;a href="https://en.wikipedia.org/wiki/Mental_model" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Mental_model&lt;/a&gt;
&lt;a href="https://en.wikipedia.org/wiki/Cognitive_bias" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Cognitive_bias&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;​ This is a masterpiece: &lt;a href="https://medium.com/@yegg/mental-models-i-find-repeatedly-useful-936f1cc405d" rel="noopener noreferrer"&gt;https://medium.com/@yegg/mental-models-i-find-repeatedly-useful-936f1cc405d&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Don’t overuse &lt;strong&gt;AI. Don’t rely on it to do what you don’t understand&lt;/strong&gt;. Use it to go faster at what you already can do, use it to learn. It’s a tool, not a shortcut for learning.&lt;/li&gt;
&lt;li&gt;Know yourself technically. &lt;strong&gt;Map out what you already know, and what you need to learn&lt;/strong&gt;. This helps build direction and clarity. A resource I wish had existed when I started: &lt;a href="https://roadmap.sh/" rel="noopener noreferrer"&gt;https://roadmap.sh/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn the fundamentals&lt;/strong&gt;. Really understand how the web works. Learn clean code principles. Stick to basics like KISS, DRY, YAGNI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code is not the most important thing&lt;/strong&gt;. What matters is the outcome. Testing is a big thing, but also learn to prioritize impact over perfection. Apply Occam’s Razor and the Pareto principle: go simple, go effective. &lt;a href="https://en.wikipedia.org/wiki/Occam's_razor" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Occam%27s_razor&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Pareto_principle" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Pareto_principle&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Invest in &lt;strong&gt;good communication&lt;/strong&gt;. It’s the one skill that will still matter when LLMs write most of the code. The people who communicate best with others (and with LLMs) will stand out.&lt;/li&gt;
&lt;li&gt;Do code reviews. &lt;strong&gt;Read other people’s code&lt;/strong&gt;. If you can, contribute to open source. Not doing more open source earlier in my career is something I regret.&lt;/li&gt;
&lt;li&gt;Stay curious. Always &lt;strong&gt;keep learning&lt;/strong&gt;. Tech evolves fast, if you love what you do and have « deliberate practice » &lt;a href="https://www.sciencedirect.com/topics/psychology/deliberate-practice#:~:text=Deliberate%20practice%20is%20defined%20as,often%20performed%20without%20immediate%20reward" rel="noopener noreferrer"&gt;https://www.sciencedirect.com/topics/psychology/deliberate-practice#:~:text=Deliberate%20practice%20is%20defined%20as,often%20performed%20without%20immediate%20reward&lt;/a&gt; -&amp;gt; You will stand out&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be coachable&lt;/strong&gt;. When you get constructive feedback, use it. Don’t defend your ego. Progress depends on your ability to take it in and grow from it. Im saying that because when I started I was not always listening to feedbacks (maybe due to &lt;a href="https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect" rel="noopener noreferrer"&gt;https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect&lt;/a&gt; )&lt;/li&gt;
&lt;li&gt;Stay humble. &lt;strong&gt;You’ll never know everything&lt;/strong&gt;. The more years I spend in this field, the more I realize how little I know.&lt;/li&gt;
&lt;li&gt;This is everything I wish someone had clearly told me when I was starting out. If anything here resonates, feel free to reach out ! And feel free to share these bullet points to anyone as well :)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Take care ! Jules&lt;/p&gt;

</description>
      <category>learning</category>
      <category>programming</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>Productivity tip: Remapping caps lock to hyper key</title>
      <dc:creator>Jules Libert</dc:creator>
      <pubDate>Mon, 21 Oct 2024 13:27:50 +0000</pubDate>
      <link>https://dev.to/blqke/remapping-caps-lock-to-hyper-key-c7g</link>
      <guid>https://dev.to/blqke/remapping-caps-lock-to-hyper-key-c7g</guid>
      <description>&lt;p&gt;Here's a tip that has been a huge time-saver for me on MacOS. I only discovered it recently, but it's generally well-known among self-respecting Vim developers: remapping the Caps Lock ⇪ key.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  What ?
&lt;/h2&gt;

&lt;p&gt;Caps Lock ⇪ key is rarely used, so why not repurpose it?&lt;/p&gt;

&lt;p&gt;The idea is to remap Caps Lock ⇪ to hyper key, meaning a key combination like cmd+option+ctrl+shift on Mac.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why ?
&lt;/h2&gt;

&lt;p&gt;This combination is generally never used by apps because it's too complex for users. But by mapping it to hyper key, we gain access to an entirely new layer of shortcuts.&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%2Fqsxvpmciny7irsagia39.gif" 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%2Fqsxvpmciny7irsagia39.gif" alt="It is mind-blowing !" width="480" height="270"&gt;&lt;/a&gt;&lt;br&gt;
By combining the ease of assigning shortcuts to a variety of commands with &lt;a href="https://www.raycast.com/" rel="noopener noreferrer"&gt;Raycast&lt;/a&gt;, I can now access my most-used apps super quickly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Use cases
&lt;/h2&gt;

&lt;p&gt;When I started, I've created over 20 shortcuts in less than an hour. Thanks to some mnemonic devices, there's no need to memorize them. Adopted in a flash !&lt;/p&gt;

&lt;p&gt;I feel like I have superpowers now, accessing everything I need with just a few keystrokes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + A&lt;/code&gt;  Web browser (&lt;a href="https://www.google.com/search?q=akiflow&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8" rel="noopener noreferrer"&gt;&lt;strong&gt;A&lt;/strong&gt;rc&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + K&lt;/code&gt;  &lt;a href="https://akiflow.com" rel="noopener noreferrer"&gt;Akiflow&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + B&lt;/code&gt;  &lt;a href="https://beeper.com" rel="noopener noreferrer"&gt;Beeper&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + C&lt;/code&gt;  Visual Studio &lt;strong&gt;C&lt;/strong&gt;ode&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + P&lt;/code&gt;  &lt;a href="https://www.raycast.com/thomas/visual-studio-code" rel="noopener noreferrer"&gt;Recent Projects&lt;/a&gt; (from VSCode)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + F&lt;/code&gt;  &lt;strong&gt;F&lt;/strong&gt;igma&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + M&lt;/code&gt;  &lt;strong&gt;M&lt;/strong&gt;ail (&lt;a href="https://mimestream.com/" rel="noopener noreferrer"&gt;Mimestream&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + N&lt;/code&gt;  &lt;strong&gt;N&lt;/strong&gt;otion&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + ,&lt;/code&gt;  &lt;a href="https://www.raycast.com/extensions/calendar" rel="noopener noreferrer"&gt;See my Schedule&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + T&lt;/code&gt;  &lt;strong&gt;T&lt;/strong&gt;erminal&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + L&lt;/code&gt;  &lt;strong&gt;L&lt;/strong&gt;inear&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + V&lt;/code&gt;  &lt;a href="https://www.raycast.com/extensions/clipboard-history" rel="noopener noreferrer"&gt;Clipboard History&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + G&lt;/code&gt;  &lt;strong&gt;G&lt;/strong&gt;itHub&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + W&lt;/code&gt;  &lt;a href="https://www.raycast.com/rolandleth/kill-process" rel="noopener noreferrer"&gt;Kill a process&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + S&lt;/code&gt;  File &lt;strong&gt;S&lt;/strong&gt;earch by Raycast&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + I&lt;/code&gt;  &lt;a href="https://www.raycast.com/benvp/audio-device" rel="noopener noreferrer"&gt;Set &lt;strong&gt;I&lt;/strong&gt;nput audio device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + O&lt;/code&gt;  &lt;a href="https://www.raycast.com/benvp/audio-device" rel="noopener noreferrer"&gt;Set &lt;strong&gt;O&lt;/strong&gt;utput audio device&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + R&lt;/code&gt;  &lt;a href="https://superwhisper.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;R&lt;/strong&gt;ecord my voice and paste transcription&lt;/a&gt; with superwhisper&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + =&lt;/code&gt;  Make current Window larger&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + -&lt;/code&gt;  Make current Window smaller&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPSLOCK + ←/→/↓/↑&lt;/code&gt;  Move the active tab to a given direction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inside VSCode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;CAPS + D&lt;/code&gt;  Find previous occurrence (inverse of &lt;code&gt;cmd+D&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;CAPS + Enter&lt;/code&gt;  &lt;a href="https://marketplace.visualstudio.com/items?itemName=metaseed.metago" rel="noopener noreferrer"&gt;Smart Select&lt;/a&gt; from the cursor&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Shift + Enter&lt;/code&gt;  Move current cursor to &lt;a href="https://marketplace.visualstudio.com/items?itemName=metaseed.metago" rel="noopener noreferrer"&gt;Smart Select&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  How ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;edit&lt;/strong&gt;: You can now do that natively inside Raycast ! &lt;a href="https://www.youtube.com/watch?v=3UaOst_nqu8" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=3UaOst_nqu8&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To remap Caps Lock, I use &lt;a href="https://hyperkey.app/" rel="noopener noreferrer"&gt;Hyperkey&lt;/a&gt;, which is free and made by &lt;a href="https://ryanhanson.dev/" rel="noopener noreferrer"&gt;Ryan Hanson&lt;/a&gt;. There might be other similar tools for Mac or Windows.&lt;/p&gt;

&lt;p&gt;To install, &lt;a href="https://hyperkey.app/" rel="noopener noreferrer"&gt;download it directly from their site&lt;/a&gt; or use&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--cask&lt;/span&gt; hyperkey
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's a small change with a big impact for me. Give it a try !&lt;/p&gt;

&lt;p&gt;Hope it helps,&lt;br&gt;
Jules&lt;/p&gt;

&lt;p&gt;&lt;a href="https://juleslibert.com/en/thoughts/remapping-capslock-to-hyperkey" rel="noopener noreferrer"&gt;Read the same article on my website&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>vscode</category>
      <category>raycast</category>
      <category>shortcuts</category>
    </item>
  </channel>
</rss>
