<?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: José Ferreira</title>
    <description>The latest articles on DEV Community by José Ferreira (@codeferreira).</description>
    <link>https://dev.to/codeferreira</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%2F452207%2F532d3ea3-bfcb-45fb-9a30-2e09915c6379.png</url>
      <title>DEV Community: José Ferreira</title>
      <link>https://dev.to/codeferreira</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/codeferreira"/>
    <language>en</language>
    <item>
      <title>Splitting the Difference: My Journey into Ergonomic Keyboards and Pain-Free Productivity</title>
      <dc:creator>José Ferreira</dc:creator>
      <pubDate>Fri, 23 Aug 2024 12:54:52 +0000</pubDate>
      <link>https://dev.to/codeferreira/splitting-the-difference-my-journey-into-ergonomic-keyboards-and-pain-free-productivity-22kb</link>
      <guid>https://dev.to/codeferreira/splitting-the-difference-my-journey-into-ergonomic-keyboards-and-pain-free-productivity-22kb</guid>
      <description>&lt;p&gt;For years, the relentless discomfort of wrist and shoulder pain plagued me, a consequence of countless hours spent hunched over a traditional keyboard. As a software developer, typing is an inseparable part of my daily routine, and the pain began to significantly hinder my productivity and well-being. Reaching a point where even lifting a cup of coffee became a challenge, and simple tasks like washing dishes turned into agonizing ordeals, I knew I needed a solution. While seeking medical treatment for tendinitis, I also discovered the world of ergonomic keyboards, specifically split keyboards, and it's been a transformative experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Embracing the Split: A Learning Curve with Rewarding Results
&lt;/h3&gt;

&lt;p&gt;Transitioning to a split keyboard wasn't without its initial hurdles. The separation of the keyboard into two halves demanded a rewiring of my brain and muscle memory, ingrained from years of using traditional keyboard layouts. My fingers felt lost, and typing became an awkward dance of trial and error. However, with dedicated practice and a dash of perseverance, the initial awkwardness subsided, replaced by a newfound sense of comfort and efficiency.&lt;/p&gt;

&lt;p&gt;A special thanks to Felipe (&lt;a href="https://instagram.com/tupinikeebs" rel="noopener noreferrer"&gt;@tupinikeebs&lt;/a&gt; on Instagram), the skilled artisan who built my keyboard. His guidance and patience were invaluable throughout the process, from choosing the right components to achieve my ergonomic goals to navigating the myriad options of colors, keycaps, and switches.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ergonomic Advantages: A Farewell to Pain
&lt;/h3&gt;

&lt;p&gt;The ergonomic design of the split keyboard is the true game-changer in my battle against tendinitis. It allows my arms and wrists to rest in a natural, relaxed position, significantly reducing strain and discomfort. The ability to adjust the angle and distance of each keyboard half further personalizes the experience, ensuring optimal comfort for my body's unique needs. While the keyboard hasn't magically erased my tendinitis, it has played a crucial role in mitigating pain and allowing me to type for extended periods without the debilitating discomfort I once experienced.&lt;/p&gt;

&lt;p&gt;The split keyboard design, with its gentle arc on each row, encourages a more open hand and shoulder position, further contributing to a comfortable and sustainable typing posture.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s77q1kg43eh2qszvvk4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2s77q1kg43eh2qszvvk4.png" alt="splited keyboard" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While I was never a speed demon typist, averaging around 70 words per minute, the split keyboard hasn't negatively impacted my typing speed. In fact, during moments of flow, I've even reached speeds close to 90 WPM. For me, the focus has always been on accuracy and comfort rather than raw speed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcafvh8gz89imaax813s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frcafvh8gz89imaax813s.png" alt="keybr statistics" width="800" height="164"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;First 4 days of practice statistics. Not sure how keybr actually count the time&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Customization is Key: Layers, Macros, and Efficiency
&lt;/h3&gt;

&lt;p&gt;Beyond the ergonomic advantages, split keyboards offer a level of customization that traditional keyboards simply can't match. Through the power of layers and macros, I've transformed my keyboard into a productivity powerhouse.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- Layers:&lt;/strong&gt; Think of layers as having multiple keyboards in one. With a simple keystroke, I can switch between different key mappings, each tailored to specific tasks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Normal Layer:&lt;/strong&gt; This is my default layer with the standard key layout for the Sofle v2.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv7ghtpoext5zkzhk541u.png" alt="zmk normal layer" width="800" height="440"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Symbol Layer:&lt;/strong&gt; Provides quick access to a wide range of symbols, numbers, and function keys. 
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyowekewexfgahsa5vn25.png" alt="zmk symbol layer" width="800" height="445"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Miscellaneous Layer:&lt;/strong&gt; Houses arrow keys, Bluetooth controls, and various shortcuts.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxqb8c7c8u3naj615tfv.png" alt="zmk misc layer" width="800" height="452"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Yabai Layer:&lt;/strong&gt; Dedicated to my window management system, offering effortless control over window placement and organization.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftg0p54mwpg38ym73ms85.png" alt="zmk yabai layer" width="800" height="457"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;- Macros:&lt;/strong&gt; Repetitive tasks become a breeze with macros, allowing me to program complex sequences of keystrokes into a single key press. While I haven't fully explored the potential of macros yet, I'm excited to discover ways to further optimize my workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mouse: Finding its Place
&lt;/h3&gt;

&lt;p&gt;With the split keyboard encouraging a more keyboard-centric approach, the mouse has taken on a less prominent role. Initially, I experimented with placing the mouse between the two keyboard halves, but it didn't feel entirely natural. As I tend to keep the keyboard halves widely spaced, there's limited space for the mouse on the right side of the mousepad. While I'm considering alternatives like the Apple Magic Trackpad or an ergonomic vertical mouse, for now, the mouse resides comfortably in the middle, readily accessible when needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rotary Encoders: Small Twists, Big Impact
&lt;/h3&gt;

&lt;p&gt;The two rotary encoders on my keyboard have proven to be surprisingly useful additions. The left encoder controls volume, with rotation increasing/decreasing volume and a press muting the sound. The right encoder handles page up/down functions on rotation and play/pause with a click. These simple additions have streamlined my interaction with the computer, further minimizing the need for a mouse.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gaming: A Challenge to Overcome
&lt;/h3&gt;

&lt;p&gt;Gaming on the split keyboard presents a unique challenge. Years of muscle memory associated with traditional keyboard layouts make it difficult to adapt to the new configuration, especially in fast-paced games that require quick reflexes. The staggered layout of the split keyboard, while ergonomic, occasionally leads to misclicks as my fingers adjust to the slightly different positioning of keys. For now, I've opted to keep my trusty old keyboard for gaming sessions, but I'm determined to explore ways to bridge the gap and bring the ergonomic comfort of the split keyboard to my gaming experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  A Continuous Journey of Optimization
&lt;/h3&gt;

&lt;p&gt;My split keyboard journey is an ongoing process of exploration and refinement. I'm constantly discovering new ways to optimize my setup and tailor it to my evolving needs. As I delve deeper into the world of ZMK configuration, I'm particularly interested in exploring ways to add an extra layer for Tmux and Neovim shortcuts, further enhancing my development workflow.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Split Keyboard Setup
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F401md8ojh62bd318ehgp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F401md8ojh62bd318ehgp.png" alt="keyboard sofle v2" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Board:&lt;/strong&gt; Sofle v2&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Switch:&lt;/strong&gt; Outemu Silent Tactile Lemon v2 (chosen for their quiet operation and tactile feedback)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keycaps:&lt;/strong&gt; XDA PBT White (JPN Profile) (offering a comfortable sculpted profile)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Case:&lt;/strong&gt; Custom 3D printed (allowing for personalization and a unique aesthetic)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connectivity:&lt;/strong&gt; Full Wireless (providing freedom of movement and a clutter-free desk)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Battery:&lt;/strong&gt; 230 mAh (~2 week autonomy)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Configuration:&lt;/strong&gt; ZMK (an open-source firmware with extensive customization options - check out my config here: &lt;a href="https://github.com/codeferreira/zmk-config" rel="noopener noreferrer"&gt;https://github.com/codeferreira/zmk-config&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  A Split Decision Worth Making
&lt;/h3&gt;

&lt;p&gt;Investing in a split keyboard has been a transformative experience. It's not just about the alleviation of pain and discomfort; it's about optimizing my workflow, boosting productivity, and ultimately, enhancing my overall well-being. If you're struggling with wrist or shoulder pain, or simply seeking a more comfortable and efficient typing experience, I encourage you to explore the world of ergonomic keyboards. You might just discover the perfect split decision for you!&lt;/p&gt;

</description>
      <category>keyboard</category>
      <category>gear</category>
    </item>
    <item>
      <title>Boost Your Developer Skills with Project-Based Learning</title>
      <dc:creator>José Ferreira</dc:creator>
      <pubDate>Tue, 28 May 2024 20:10:27 +0000</pubDate>
      <link>https://dev.to/codeferreira/boost-your-developer-skills-with-project-based-learning-1ddb</link>
      <guid>https://dev.to/codeferreira/boost-your-developer-skills-with-project-based-learning-1ddb</guid>
      <description>&lt;h2&gt;
  
  
  How Project-Based Learning Can Help Developers Improve Their Logical Thinking and Finish Projects
&lt;/h2&gt;

&lt;p&gt;As developers, we often find ourselves stuck in the rut of learning theory without actually applying it. This can lead to a lack of confidence and a pile of unfinished projects. But what if there was a way to boost your logical thinking and develop the habit of seeing things through to completion? Enter project-based learning (PBL).&lt;/p&gt;

&lt;p&gt;Project-based learning is a powerful approach that focuses on hands-on projects to help you understand and apply concepts in real-world scenarios. For me, this method has been a game-changer, turning abstract knowledge into tangible skills. In this post, I'll share how PBL can help you as a developer, improve your logical thinking, and, most importantly, get you to finish what you start.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Project-Based Learning (PBL)?
&lt;/h3&gt;

&lt;p&gt;Project-based learning is an educational approach where learning occurs through engaging with projects. Unlike traditional learning methods that often emphasize theory, PBL focuses on practical application. You learn by doing, solving real-world problems, and creating actual products.&lt;/p&gt;

&lt;p&gt;In the context of software development, PBL can mean building a web app, developing a game, or, in my case, creating a Manga Tracker with a web scraper. The key elements that make PBL effective include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Real-world relevance:&lt;/strong&gt; Projects are based on real-world challenges, making the learning process more engaging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Active exploration:&lt;/strong&gt; You actively research, design, and develop solutions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaboration:&lt;/strong&gt; Often, PBL involves working with others, which enhances learning through shared knowledge and experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reflection:&lt;/strong&gt; Continuous reflection helps solidify what you’ve learned and how you can improve.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Benefits of Project-Based Learning for Developers
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Improves Logical Thinking
&lt;/h4&gt;

&lt;p&gt;When you’re working on a project, you’re constantly solving problems. This continuous problem-solving process sharpens your logical thinking. For instance, in my Manga Tracker project, I had to figure out how to build a web scraper to download the most recent manga chapters directly to my Kindle. Each piece of the project presented its own challenges, from handling the web scraping process to transforming images into a PDF and sending it via email.&lt;/p&gt;

&lt;p&gt;By building the Manga Tracker multiple times using different languages—first with JavaScript and Puppeteer, then Golang, and finally Rust—I used a familiar project to learn new programming languages. This approach forced me to think critically and make decisions at every step, significantly improving my logical thinking skills.&lt;/p&gt;

&lt;h4&gt;
  
  
  Promotes Practical Skills
&lt;/h4&gt;

&lt;p&gt;PBL isn’t just about thinking; it’s about doing. You apply theoretical knowledge in practical scenarios, which helps you understand concepts more deeply. By working on real projects, you get hands-on experience with the tools and technologies that are crucial in your field. For example, while working on the Manga Tracker, I gained practical experience in web scraping, data transformation, and email automation—skills that are directly applicable to many other areas in development.&lt;/p&gt;

&lt;h4&gt;
  
  
  Boosts Confidence and Motivation
&lt;/h4&gt;

&lt;p&gt;There’s nothing quite like the sense of accomplishment that comes from finishing a project. It boosts your confidence and keeps you motivated. Having completed projects to show prospective employers or clients is a huge plus. For example, my Manga Tracker wasn’t what landed me a job, but a mobile app I developed to help remember medicines did. These projects showcased my skills and helped me gain trust even when I didn't have much professional experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developing a Habit of Finishing Projects
&lt;/h3&gt;

&lt;p&gt;One of the biggest challenges developers face is finishing what they start. Here’s how PBL can help you develop this crucial habit:&lt;/p&gt;

&lt;h4&gt;
  
  
  Setting Realistic Goals and Deadlines
&lt;/h4&gt;

&lt;p&gt;Breaking down your project into manageable chunks with clear, achievable goals and deadlines can make a big difference. It helps prevent overwhelm and keeps you focused on making steady progress.&lt;/p&gt;

&lt;h4&gt;
  
  
  Iterative Development and Feedback
&lt;/h4&gt;

&lt;p&gt;Working iteratively—developing small parts of your project, seeking feedback, and refining your approach—keeps you on track. It also ensures you’re moving in the right direction and allows for adjustments along the way.&lt;/p&gt;

&lt;h4&gt;
  
  
  Overcoming Common Obstacles
&lt;/h4&gt;

&lt;p&gt;Procrastination and perfectionism are common obstacles that can derail your projects. By setting clear priorities and focusing on iterative development, you can overcome these challenges and keep moving forward.&lt;/p&gt;

&lt;h3&gt;
  
  
  Structuring a Simple Project: The Manga Tracker Example
&lt;/h3&gt;

&lt;p&gt;One of the projects I often use to learn new things is my Manga Tracker. The main challenge wasn't keeping my reading list up to date but building a web scraper to download the most recent manga chapters directly to my Kindle. I’ll break down this project in another blog post, but for now, let's use it as an example of how to structure a simple project.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step-by-Step Guide to Project-Based Learning
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Choose a Project Based on Your Interests:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; I love reading manga, so I came up with the idea of a Manga Tracker to keep track of my reads and quickly download all manga chapters directly to my Kindle.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Write Down Ideas:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; I brainstormed everything about the Manga Tracker, including tracking my reading list and the web scraper for downloading manga. I wrote down all ideas, no matter how difficult or trivial they seemed.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Select Key Items:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; From the list, I picked three core functionalities: the reading list tracker, the web scraper to gather manga images, and the PDF creator to send the manga to my Kindle. This helped me focus on essential features without getting overwhelmed.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Plan Each Item:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; For the web scraper, I detailed steps like identifying the manga on a scans site, downloading chapter images, converting them to PDF, and automating the email process to Kindle. This planning phase cleared my mind and created a roadmap.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Start Small and Iterate:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; I began by implementing the web scraper in JavaScript with Puppeteer, then iteratively improved it by adding features and seeking feedback. Later, I rebuilt it in Golang and Rust to learn new languages.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Share Your Progress:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Example:&lt;/strong&gt; I shared updates on LinkedIn and other platforms, even when the project was incomplete. Sharing helped me stay motivated and get feedback. Most of my early projects are archived now, but I still build things for myself and share them, like my Pomodoro Timer for MacOS using Tauri and React.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By following these steps, you can turn vague ideas into concrete projects and develop a habit of finishing what you start.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sharing Your Projects
&lt;/h3&gt;

&lt;p&gt;No matter where you are in your project, share something about it. Post an image, write a blog post, or share on social media. Let people know you’re building something, even if you think it looks ugly or incomplete. Sharing helps you stay motivated and provides valuable feedback. For example, my early projects helped me gain trust even when I didn't have much professional experience. Recently, I built a simple TUI app for managing tasks directly from my terminal and I'm planning on sharing it online.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Project-based learning has been a key part of my growth as a developer. It’s helped me improve my logical thinking, develop practical skills, and finish what I start. I encourage you to find a project that excites you, break it down into manageable parts, and start building. Share&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
      <category>learning</category>
    </item>
    <item>
      <title>Embracing a Blogging Voyage After 8 Years in Code</title>
      <dc:creator>José Ferreira</dc:creator>
      <pubDate>Thu, 18 Apr 2024 18:12:34 +0000</pubDate>
      <link>https://dev.to/codeferreira/embracing-a-blogging-voyage-after-7-years-in-code-2l3g</link>
      <guid>https://dev.to/codeferreira/embracing-a-blogging-voyage-after-7-years-in-code-2l3g</guid>
      <description>&lt;p&gt;As a software developer, I have spent the past 8 years focusing on my career, including project thinking, freelancing, and finding the best company to work for based on my goals.&lt;/p&gt;

&lt;p&gt;Throughout this journey, I have developed many skills directly related to my daily work. However, there has always been one thing I wanted to do but lacked the confidence for: creating content. I have never written a blog post, shared my thoughts, or contributed to the developer community in a meaningful way. But now, after 7 years as a professional developer and over 10 years of studying code, I have finally decided to start blogging. My motivation for doing so is not because I believe I have valuable lessons to share, but because I want to make this blog a place where I can store my ideas, like a journal of my adventures as a programmer.&lt;/p&gt;

&lt;p&gt;I don't intend for this blog to become a tech trend blog. Instead, it is my way of facing my fear of exposure and hoping that, in the process, it becomes a valuable resource for me to look back on in the coming years and think, "Wow, I've really evolved."&lt;/p&gt;

&lt;h2&gt;
  
  
  Strengthening Communication and Thought Process
&lt;/h2&gt;

&lt;p&gt;Blogging provides a platform for me to improve my communication skills, thought process, and English language proficiency, as English is not my native language.&lt;/p&gt;

&lt;p&gt;As developers, we often immerse ourselves in code, tackling complex problems and delving into technical details. However, it is equally important to be able to express our thoughts, ideas, and solutions effectively.&lt;/p&gt;

&lt;p&gt;Writing blog posts compels me to organize my ideas, structure my thoughts, and present them coherently. This exercise not only enhances my ability to communicate clearly but also helps refine my thought process. Explaining technical concepts and solutions in a simplified manner requires a deep understanding of the subject matter, which in turn strengthens my own knowledge and expertise.&lt;/p&gt;

&lt;p&gt;I firmly believe that when we teach someone, we also learn twice as much.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building a Personal Brand and Networking
&lt;/h2&gt;

&lt;p&gt;Finally, starting a blog allows me to build a personal brand and expand my professional network. In today's competitive job market, having a strong personal brand can set one apart from other candidates. By consistently creating valuable content, I can showcase my expertise, problem-solving skills, and passion for software development.&lt;/p&gt;

&lt;p&gt;Additionally, blogging provides an opportunity to connect with like-minded individuals in the developer community. By engaging with readers, receiving feedback, and participating in discussions, I can expand my network and establish valuable professional relationships.&lt;/p&gt;

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

&lt;p&gt;TL;DR: For those of you who don't want to put up with my rambling – I don't blame you!&lt;/p&gt;

&lt;p&gt;After 7 years of focusing solely on coding, I have made the decision to start blogging. By sharing my knowledge and experiences, I hope to contribute to the developer community, strengthen my communication skills, and build a personal brand.&lt;/p&gt;

&lt;p&gt;Blogging is not only a means of giving back but also a way to continue learning and growing as a software developer.&lt;/p&gt;

&lt;p&gt;I am excited to embark on this new journey and see where it takes me in my career and personal growth. By documenting my thoughts and experiences, I will not only be able to reflect on my own growth but also inspire and educate others who may be on a similar path.&lt;/p&gt;

&lt;p&gt;So, join me on this blogging voyage as we embark on a new chapter of growth, learning, and collaboration.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>career</category>
      <category>coding</category>
      <category>community</category>
    </item>
  </channel>
</rss>
