<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Career development  - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Career development  - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 10:49:32 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/career-development/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ What Does a Creative Technologist Do? ]]>
                </title>
                <description>
                    <![CDATA[ On paper, I studied computer science. However, most of my passions were artistic: writing, storytelling, and content creation. Over time, I found myself blending both worlds without recognizing it. Then I came across the term Creative Technologist an... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-does-a-creative-technologist-do/</link>
                <guid isPermaLink="false">68d43e64c21b03de37bb4dce</guid>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ creativity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Ifeoma Udu ]]>
                </dc:creator>
                <pubDate>Wed, 24 Sep 2025 18:54:28 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1758739716707/5b3242ab-e42a-4a2c-832d-15954dcbaa3c.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>On paper, I studied computer science. However, most of my passions were artistic: writing, storytelling, and content creation. Over time, I found myself blending both worlds without recognizing it.</p>
<p>Then I came across the term Creative Technologist and realized, "Oh, so that's what I've been doing."<br>Even though my tech career path isn't totally defined yet (the tech world is constantly evolving), I've discovered a niche where my skills naturally fit together: merging code, culture, and creativity.</p>
<p>That is what being a creative technologist entails. If you've ever wondered if you could combine technical talents with creativity, this article will explain what the role is, what skills are required, and why it's becoming more important than ever.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-what-does-a-creative-technologist-do">What Does a Creative Technologist Do?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-key-skills-every-creative-technologist-needs-with-examples">Key Skills Every Creative Technologist Needs (with Examples)</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-is-this-different-from-ux">How Is This Different From UX?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-creative-technologists-matter-more-than-ever">Why Creative Technologists Matter More Than Ever</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></p>
</li>
</ul>
<p><a target="_blank" href="https://answerthepublic.com/reports/bceccd49-bf7a-4aeb-832d-35d9c638553d"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1757756705919/50dccdd9-4f76-4a07-8148-eb9db36af8be.jpeg" alt="Visualization showing common search questions about creative technologists." class="image--center mx-auto" width="1080" height="491" loading="lazy"></a></p>
<h2 id="heading-what-does-a-creative-technologist-do">What Does a Creative Technologist Do?</h2>
<p>A creative technologist is someone who combines technical knowledge with creative intuition to turn ideas into usable digital experiences. Think of a creative technologist as a bridge builder, someone who links storytelling, design, and technology to enable innovation.</p>
<p>Some people jokingly label them "jacks of all trades." In actuality, they are more like translators, ensuring that creativity and code communicate well.</p>
<h2 id="heading-key-skills-every-creative-technologist-needs-with-examples">Key Skills Every Creative Technologist Needs (with Examples)</h2>
<p>Unlike traditional roles, a creative technologist’s skill set is hybrid and exploratory. Here are some of the most important skills, with examples from my own journey:</p>
<h3 id="heading-technical-know-how">Technical Know-How</h3>
<p>A creative technologist must have enough technical knowledge to work across multiple mediums. This is not about knowing every programming language, but about being able to choose the best tool for the job. It's the toolset that enables experimenting.</p>
<ul>
<li><p>Web development (HTML, CSS, JavaScript, or frameworks like React and Django)</p>
</li>
<li><p>Mobile app development (Flutter, React Native, or Swift/Kotlin basics)</p>
</li>
<li><p>Design and prototyping tools (Figma, Canva, or Adobe Suite)</p>
</li>
<li><p>Low-code/no-code platforms (WordPress, Wix, Webflow, or Bubble)</p>
</li>
</ul>
<p><em>Example:</em>** In my own projects, I’ve switched between Python/Django for custom builds and WordPress/Wix for quick websites. Having that range of technical fluency means I can adapt to different project needs without being stuck in one medium.</p>
<h3 id="heading-creative-prototyping">Creative Prototyping</h3>
<p>This is the process of immediately turning ideas into real experiments, rather than waiting for a finished product. It's less about the tool and more about the mindset: hacking, sketching, and testing to discover what's feasible.</p>
<p><em>Example:</em>** For my undergraduate project, I built a prototype African literature e-book reader using Python and Django. It wasn’t just code, it was an experiment in accessibility and cultural preservation.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1757757175953/685cf83b-9370-4a95-bb47-9ffc104ece11.jpeg" alt="685cf83b-9370-4a95-bb47-9ffc104ece11" class="image--center mx-auto" width="657" height="900" loading="lazy"></p>
<h3 id="heading-cultural-and-contextual-thinking">Cultural and Contextual Thinking</h3>
<p>Identifying points of intersection between technology and culture, as well as asking how products serve human needs beyond functionality.</p>
<p><strong>Example:</strong> On my Substack blogs (The Pop Radar and Story &amp; Scene), I wrote about how pop culture sparks tech innovations, like Jennifer Lopez’s dress influencing the creation of Google Images.</p>
<h3 id="heading-translating-between-worlds">Translating Between Worlds</h3>
<p>Acting as a bridge between highly technical teams (developers) and highly creative teams (designers, writers, marketers).</p>
<p><strong>Example:</strong> I worked with startups where I turned business ideas into creative assets, like building branded websites with Wix and WordPress, while also shaping their visual storytelling through graphics and video.</p>
<h3 id="heading-storytelling-and-experimentation-with-technology">Storytelling and Experimentation with Technology</h3>
<p>Creative technologists use tools, from design and video to AI, AR, and Web3, to communicate ideas in fresh ways and to explore how new technologies can expand the creative process.</p>
<p><strong>Example:</strong> I’ve collaborated with AI tools like ChatGPT and DALL·E in content production. I used them for research, brainstorming ideas, and shaping the plot for a social media brand identity ad. I’ve also created humorous explainers on Web3 that broke down intimidating tech concepts using cultural analogies. In both cases, technology became a way to experiment, simplify, and tell better stories.</p>
<p>If you’re wondering how to start building these skills, you don’t need a formal education. Many creative technologists begin by experimenting on their own, taking online courses, prototyping small projects, writing about culture and tech, or contributing to open-source work. What matters most is curiosity and a willingness to explore where creativity and technology overlap.</p>
<h2 id="heading-how-is-this-different-from-ux">How Is This Different From UX?</h2>
<p>It’s a fair question because creative technologists and UX designers often work side by side. But the focus is slightly different:</p>
<ul>
<li><p><strong>UX/UI designers</strong> are concerned about usability and aesthetics. Their main job is to ensure that a product is user-friendly, accessible, and visually appealing. They conduct user research, generate wireframes, design interfaces, and test how real users interact with a product.</p>
</li>
<li><p><strong>Creative technologists</strong> sit at the intersection of creativity and technology. Instead of simply improving an app's flow, they tackle bigger questions: What could this product be?  How does it connect with culture? What new technology or mediums could make this experience more interesting?</p>
<p>  They experiment, prototype, and occasionally even code to make ideas a reality.</p>
</li>
</ul>
<p>Think of it this way:</p>
<ul>
<li><p>A UX designer might redesign a fintech app to make it easier to use.</p>
</li>
<li><p>A creative technologist might question why everything in the Nigerian tech ecosystem is fintech, then prototype an app that connects new homeowners with nearby handymen, plumbers, electricians, and other essential services.</p>
</li>
</ul>
<p>By paying attention to cultural and everyday needs, creative technologists can spark innovation in areas that are often overlooked. While UX is a defined role with clear processes, creative technologist is an umbrella role that blends design, code, experimentation, and cultural insight.</p>
<h2 id="heading-why-creative-technologists-matter-more-than-ever"><strong>Why Creative Technologists Matter More Than Ever</strong></h2>
<p>So why is this hybrid role even necessary? The tech world is rapidly evolving. With AI automating many repetitive coding and design activities, the future belongs to those who can bridge the gap across disciplines.</p>
<p>To put it simply, a creative technologist is someone who can translate abstract creative thoughts into practical products, understands the culture in which technology exists, and can construct or prototype when necessary. In a world where roles are increasingly multidisciplinary, this blend of skills isn’t optional, it’s essential. Designers may concentrate on interfaces, developers on backend logic, and writers on narrative. However, the creative technologist sits at the intersection, ensuring that all of these pieces come together to build something innovative and human-centered.</p>
<p>Because the role is fluid, there isn’t a standard “creative technologist salary.” Pay varies depending on the core job, such as design, development, or innovation strategy. Someone in an agency, for example, may be paid like a UX designer, whereas in a huge tech business, they may be compensated more like a product developer or innovation lead.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>“Creative technologist” isn’t a rigid job title. It’s an umbrella term for anyone combining creativity and technology in meaningful ways. Whether through coding, design, research, or storytelling, the value lies in bridging gaps, asking new questions, and building solutions that resonate with people.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Stop Chasing Productivity and Start Moving with Purpose ]]>
                </title>
                <description>
                    <![CDATA[ Most people know how to set goals. And many understand that developing good habits is key to reaching those goals. Yet, despite this knowledge, it's still easy to feel stuck – or worse, in motion with ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-set-goals-using-the-path-framework/</link>
                <guid isPermaLink="false">68654987cd4d0c286c5cc497</guid>
                
                    <category>
                        <![CDATA[ goals ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Productivity ]]>
                    </category>
                
                    <category>
                        <![CDATA[ habits ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Brandon Wozniewicz ]]>
                </dc:creator>
                <pubDate>Wed, 02 Jul 2025 15:00:23 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1750868906416/7cba189f-0c53-4beb-a0d6-cbb034fc73bb.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Most people know how to set goals. And many understand that developing good habits is key to reaching those goals. Yet, despite this knowledge, it's still easy to feel stuck – or worse, in motion without direction.</p>
<p>We chase productivity without asking a deeper question: <em>Are my actions actually moving me toward who I want to become?</em> Being busy feels good. It's a quick hit of dopamine every time we check something off our to-do list – even if that list has nothing to do with our actual goals.</p>
<p>In my own pursuit of reaching my goals, I began developing a simple framework to help me align my daily actions with the person I wanted to be. This isn't a radically new concept here. It is more like a refined mental model that’s built from things you've probably heard and read before. But it’s designed to fit together in a clear, usable way.</p>
<p>The goal is to help bridge the gap between big-picture intentions and everyday behavior. I call it <strong>PATH</strong>.</p>
<p>It stands for:</p>
<ul>
<li><p><strong>Purpose</strong> – your <em>why</em></p>
</li>
<li><p><strong>Aspirations</strong> – the vision of who you want to become</p>
</li>
<li><p><strong>Targets</strong> – clear, measurable goals</p>
</li>
<li><p><strong>Habits</strong> – the consistent actions that support those goals</p>
</li>
</ul>
<p>This is the framework I use to stay oriented. Not just to be productive, but to be <em>intentional</em>. I still get off track, but I find my way back a bit quicker.</p>
<p>In this article, you’ll learn how to apply the PATH framework to clarify your direction, set meaningful goals, and build habits that stick.</p>
<h3 id="heading-table-of-contents">Table of Contents</h3>
<ol>
<li><p><a href="#heading-busy-doesnt-mean-effective">Busy Doesn't Mean Effective</a></p>
</li>
<li><p><a href="#heading-the-power-of-frameworks">The Power of Frameworks</a></p>
</li>
<li><p><a href="#heading-a-framework-for-reaching-your-goals">A Framework For Reaching Your Goals</a></p>
</li>
<li><p><a href="#heading-complexity-and-difficulty-are-not-synonyms">Complexity and Difficulty Are Not Synonyms</a></p>
</li>
<li><p><a href="#heading-summary">Summary</a></p>
</li>
</ol>
<h2 id="heading-busy-doesnt-mean-effective">Busy Doesn't Mean Effective</h2>
<p>Being busy can feel like progress. Sometimes it is – you're moving toward your goals, checking boxes, staying active. But other times, it's just noise. A way to avoid sitting still. A way to avoid asking the harder question: <em>Is this making a meaningful difference?</em></p>
<p>Sometimes, we chase productivity not because we're clear, but because, in fact, we're <em>uncertain</em>. And doing something – anything – feels better than acknowledging we might be lost.</p>
<p>On the other hand, you can have clear goals and develop effective habits. But if someone asked you why you picked those goals, would you have an answer? Why do you want to lose ten pounds? Why do you want to start that company? What are you really aiming for?</p>
<p>Here's a thought experiment: Imagine your funeral. You get to pick one person to give your eulogy – and they can only say one sentence about you. What do you hope they'll say?</p>
<p>This is a personal question. And I know my answer very clearly. Do you know yours?</p>
<h2 id="heading-the-power-of-frameworks">The Power of Frameworks</h2>
<blockquote>
<p>You do not rise to the level of your goals. You fall to the level of your systems.</p>
<p>— James Clear</p>
</blockquote>
<p>In programming, a framework is predefined code that helps developers build software more efficiently and effectively. It abstracts away the implementation details of common problems – things you <em>could</em> handle yourself, but probably don't need to. The tradeoff? You give up some flexibility in exchange for speed. In other words, frameworks help you solve your problem faster by <em>deciding a few things for you</em>.</p>
<p>Developers lean on frameworks like React or .NET because they help us focus on solving meaningful problems, rather than wrestling with boilerplate code. PATH works the same way: it abstracts the structure so you can spend more time executing on what matters.</p>
<p>When it comes to setting goals, it's no different. It's easy to get lost in these implementation details and end up overcomplicating the process. We want the perfect strategy or the ideal plan. But in reality, progress almost always beats perfection. Initially, we don't need the most elegant system – we need one that we can follow.</p>
<p>That's where frameworks shine. They reduce friction and help you stop tinkering with the <em>how</em> and start taking action on the <em>what</em>. They free up mental energy, allowing you to focus on actually solving the problem.</p>
<p>This isn't new. Every great tool – whether it's a budgeting app, a productivity system, or a JavaScript library – obscures just enough complexity to help you move towards a solution faster.</p>
<h2 id="heading-a-framework-for-reaching-your-goals">A Framework For Reaching Your Goals</h2>
<p>PATH is a framework I've used for years to align my actions with my desired future self. Most goal-setting systems start with habits or outcomes, but PATH begins a bit further back: your purpose.</p>
<h3 id="heading-p-is-for-purpose"><strong>P is for Purpose</strong></h3>
<p>Purpose is the core of who you are and what matters most. It is your mission statement, no more than a sentence or two. It should be <em>you.</em> A strong purpose will help you get back on track when you veer off course.</p>
<h3 id="heading-a-is-for-aspirations"><strong>A is for Aspirations</strong></h3>
<p>Once you've decided on your purpose, the next step is to dream a little. This is the fun part.</p>
<p>Where do you want to be in the next 5 to 10 years? Try to picture a typical day of your ideal future – not necessarily what you own, but what you experience and do.</p>
<ul>
<li><p>Where do you live?</p>
</li>
<li><p>What time do you wake up?</p>
</li>
<li><p>What do you do during the day?</p>
</li>
<li><p>Who are you with?</p>
</li>
</ul>
<p>Here is an example:</p>
<p><em>I live by a beautiful lake in the mountains. I get up around 7 am, go for a long run, and then eat a healthy breakfast. I spend my day writing. Evenings are slow, spent laughing on the porch with friends and family.</em></p>
<p>Now, let's break that down into aspirations – broad themes that define the kind of life you're building. From that vision, here are three I see:</p>
<ul>
<li><p>Be in good shape</p>
</li>
<li><p>Be a writer</p>
</li>
<li><p>Spend quality time with friends and family</p>
</li>
</ul>
<p>These are your <strong>aspirations</strong> – the "A" in PATH. And they're <em>not</em> meant to be specific or time-bound. Think of them as a compass, not a destination. Their job is to give you something to aim at over and over again.</p>
<h3 id="heading-t-is-for-targets"><strong>T is for Targets</strong></h3>
<p>Targets are the specific goals we aim to achieve.</p>
<p>Each aspiration should have one or more targets – clear, time-bound goals that move you in the direction of your aspiration.</p>
<p>These targets should follow the SMART framework:</p>
<ul>
<li><p>Specific</p>
</li>
<li><p>Measurable</p>
</li>
<li><p>Attainable</p>
</li>
<li><p>Realistic</p>
</li>
<li><p>Time-bound</p>
</li>
</ul>
<p>For example, if you aspire to become a software developer, a target might be:</p>
<p><em>Contribute one fix or update to an open-source project by the end of the month.</em></p>
<p>If aspirations are our compass, targets are the destination. They let you measure progress and know when you've arrived.</p>
<h3 id="heading-h-is-for-habits"><strong>H is for Habits</strong></h3>
<p>Habits are where the rubber meets the road.</p>
<p>Every target should have one or more supporting habits – things you do consistently that move you towards your goal. While they will generally be daily or weekly routines, one-off tasks are also acceptable. The idea is these are things that <strong>move the needle.</strong></p>
<p>For example, if your target is to run a 5k event, a habit might be:</p>
<p><em>Run 3 miles every other day.</em></p>
<p>Or, if you're just starting, you may want to create a one-off task such as:</p>
<p><em>Map out a running route.</em></p>
<p>Again, these habits (or tasks) are <strong>needle-movers</strong>. Following them – <em>actually</em> following them – should almost guarantee that you reach your targets.</p>
<p>When it comes to building a habit, the key is to start small, sometimes <em>really</em> small. In the beginning, the goal isn’t performance, it’s momentum. And while momentum can be hard to start, once it’s moving, it’s even harder to stop.</p>
<p>If you’re trying to build a writing habit, begin with two sentences. If you want to exercise more, start by putting on your workout clothes. Or just drive to the gym. The point is to make starting frictionless.</p>
<p>Consistency also depends on cues. Every habit needs a reliable trigger – something that prompts you to take action. It might be a specific time of day, walking in the door after work, or finishing your morning coffee. Over time, that cue becomes automatic, and so does the habit.</p>
<h2 id="heading-complexity-and-difficulty-are-not-synonyms">Complexity and Difficulty Are Not Synonyms</h2>
<p>There's a moment in the boxing film <em>Bleed for This</em> where the main character is asked, "What's the biggest lie you've ever been told?" He answers:</p>
<p><em>"It's not that simple."</em></p>
<p>The interviewer tries to clarify – as if she believes the main character doesn't understand the question – but he cuts her off and essentially says:</p>
<p><em>"No, that's the lie. It</em> <em><strong>is</strong></em> <em>that simple."</em></p>
<p>That line stuck with me, because we often treat life like it requires a perfect plan before we can begin. However, sometimes the hardest part is simply deciding.</p>
<p>Don't confuse something <em>hard</em> with something that's <em>complex</em>. In my experience, the most meaningful things in life are often simple yet challenging.</p>
<p>Knowing what to do isn't the challenge. It's doing it – over and over again, especially when it's boring, inconvenient, or the outcome is uncertain. That's why clarity matters, and frameworks can help.</p>
<p>There's the person who spends their entire life looking for an elevator. And then there's the person who starts climbing the stairs.</p>
<p>Figure out who you want to be, and filter your goals and actions through that lens.</p>
<p>I'd bet almost anyone reading this could name a few things that would take less than an hour a day that would completely change their life over time. The difference – the <em>only</em> difference –&nbsp;is that the person who gets clear on what they want and then actually does those things every day...gets there.</p>
<p>At the end of the day, the goal isn't to be productive. It's to be <em>intentional</em>. To align your daily actions with your goals and ensure those goals are pushing you toward the person you want to become. That's the idea behind PATH – a framework for being intentional.</p>
<h2 id="heading-summary"><strong>Summary</strong></h2>
<p>If you remember nothing else, here’s the heart of PATH:</p>
<ul>
<li><p><strong>Purpose</strong> – Define your <em>why</em>. A short, personal mission statement that keeps you grounded.</p>
</li>
<li><p><strong>Aspirations</strong> – Paint a picture of who you want to become. Think 5–10 years out, focused on experience, not possessions.</p>
</li>
<li><p><strong>Targets</strong> – Turn aspirations into SMART goals with clear deadlines. These give your vision structure.</p>
</li>
<li><p><strong>Habits</strong> – Identify consistent, meaningful actions that drive progress toward your targets – daily, weekly, or even one-off tasks.</p>
</li>
</ul>
<p>I’ve created a free Notion template to help you get started with the PATH framework.<br>→ <a href="https://www.notion.com/templates/path-goal-tracker-essentials">PATH Goal Tracker Essentials</a></p>
<p>There’s also an upgraded version available for those who want habit tracking, progress calculations, and more.<br>→ <a href="https://www.notion.com/templates/path-goal-tracker-plus">PATH Goal Tracker Plus</a></p>
<p>Found this helpful? I write about practical automation, productivity systems, and building smarter workflows — without the jargon. Visit me at <a href="http://brandonwoz.com">brandonwoz.com</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Start a Career in Technical Writing by Contributing to Open Source ]]>
                </title>
                <description>
                    <![CDATA[ One of the most common questions I’m asked is, “how can I get started in technical writing?” And honestly, I love that question because it means more people are beginning to see writing as a valid, valuable way to enter the tech industry. Begin with ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/start-a-career-in-technical-writing-through-open-source/</link>
                <guid isPermaLink="false">685594775aea0dba325c37e8</guid>
                
                    <category>
                        <![CDATA[ Technical writing  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ technical documentation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Open Source ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Oluchi Nwenyi ]]>
                </dc:creator>
                <pubDate>Fri, 20 Jun 2025 17:03:51 +0000</pubDate>
                <media:content url="https://cdn.hashnode.com/res/hashnode/image/upload/v1750439011343/ed2c5552-b132-4edd-8d31-5080daac5aff.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>One of the most common questions I’m asked is, <em>“how can I get started in technical writing?”</em> And honestly, I love that question because it means more people are beginning to see writing as a valid, valuable way to enter the tech industry.</p>
<p><em>Begin with open source.</em> That's what I typically tell them.</p>
<p>It might sound intimidating at first, but open source is one of the most accessible and welcoming ways to learn by doing. You don’t need to be an expert. You don’t need to know how to code extensively. You just need to be willing to write, research, ask questions, and contribute.</p>
<p>In this article, I'll share what I've learnt from my own experience with starting a career in technical writing through open source.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><p><a class="post-section-overview" href="#heading-common-misconceptions-about-technical-writing">Common Misconceptions About Technical Writing</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-who-is-a-technical-writer">Who is a Technical Writer?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-what-is-open-source">What is Open Source?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-why-you-should-build-your-technical-writing-career-with-open-source">Why You Should Build Your Technical Writing Career with Open Source</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-your-role-in-open-source-as-a-technical-writer">Your Role in Open Source as a Technical Writer</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-technical-skills-youll-need-to-get-started">Technical Skills You’ll Need to Get Started</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-how-to-build-a-technical-writing-portfolio-through-open-source">How to Build a Technical Writing Portfolio Through Open Source</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-after-contributing-whats-next">After Contributing, What’s next?</a></p>
</li>
<li><p><a class="post-section-overview" href="#heading-wrapping-up">Wrapping Up</a></p>
</li>
</ul>
<h2 id="heading-common-misconceptions-about-technical-writing">Common Misconceptions About Technical Writing</h2>
<p>Before we get into it, let’s get some misconceptions about technical writing out of the way.</p>
<p><strong>“You don’t need to know how to code.”</strong></p>
<p>This is simply not true. While you do not need to be a software engineer to write excellent documentation, understanding basic technical concepts is important, especially if you want to communicate effectively with developers or document complex tools.</p>
<p>That said, many technical writers, myself included, get to learn on the job. You can start with what you know and build your skills from there. The key skill is not necessarily coding – it’s being able to explain things clearly and ask the right questions.</p>
<p><strong>“It’s just about writing things down clearly.”</strong></p>
<p>It’s more than that. Technical writing is about understanding how something works, figuring out what users need to know, and then organising that information in a way that’s useful and accessible.</p>
<p>It involves research, asking questions, testing things out, and often working closely with developers or product teams. The real skill lies in turning complexity into clarity – not just in writing well, but in <em>thinking</em> clearly and structuring information in a way that helps people succeed.</p>
<p><strong>“You need a technical writing degree or certification.”</strong></p>
<p>Also false. While a course or certification can help you build confidence, they’re not required. Many people get started by contributing to open-source documentation, building a portfolio, and learning on the job. Your work speaks for itself, and open source gives you the opportunity to build that body of work publicly.</p>
<p><strong>“Technical writing is boring.”</strong></p>
<p>Not at all. Sure, you’re not writing fiction, but you are solving problems, helping people, and building bridges between developers and users. Every sentence you write could help someone figure something out faster or feel less frustrated. That’s real impact.</p>
<p>Having addressed that, let's proceed.</p>
<h2 id="heading-who-is-a-technical-writer">Who is a Technical Writer?</h2>
<p>Technical writers are the bridge between engineers and everyone else. We make the complex things read more simply, and our work appears in documentation, tutorials, API references, onboarding guides, and more.</p>
<p>As a technical writer, how well you explain things may affect how people use a product, how developers get started, and how whole communities evolve. Good documentation is essential for adoption, and businesses seek writers who can explain technical information with the right empathy and structure.</p>
<p>A good technical writer does more than just write well. They listen, research, and think critically. Some of the core skills you’ll need as a technical writer include:</p>
<ul>
<li><p><strong>Clarity and structure in writing:</strong> Being able to explain things simply and logically.</p>
</li>
<li><p><strong>Curiosity and a willingness to learn:</strong> Asking questions, exploring tools, and digging into unfamiliar concepts.</p>
</li>
<li><p><strong>Empathy for the user:</strong> Understanding what people need and how they think.</p>
</li>
<li><p><strong>Basic technical understanding:</strong> You don’t need to be a programmer, but being comfortable with tools, processes, or basic code reading helps you explain technical concepts better.</p>
</li>
</ul>
<h2 id="heading-what-is-open-source">What is Open Source?</h2>
<p>There are many open-source projects that power tools and technologies you might use every day and many more that power the internet. Projects like Linux, Python, Git, Wikipedia, Firefox, WordPress, and freeCodeCamp are open source projects.</p>
<p>Open source refers to the practice of making a project’s inner workings – whether it’s software, hardware, content, or research – openly available for anyone to view, use, modify, and improve.</p>
<p>Fundamentally, <a target="_blank" href="https://opensource.com/resources/what-open-source">open source</a> rests on several powerful principles:</p>
<ul>
<li><p><strong>Transparency:</strong> Anyone can inspect the project, understand how it works, learn from it, and contribute to it. Nothing is hidden.</p>
</li>
<li><p><strong>Collaboration:</strong> People from all over the world can contribute, suggest improvements, and solve problems together.</p>
</li>
<li><p><strong>Community-driven innovation:</strong> Progress happens through shared effort. The best ideas often emerge when diverse contributors come together.</p>
</li>
</ul>
<p>Open source is about creating things in the open, together.</p>
<h2 id="heading-why-you-should-build-your-technical-writing-career-with-open-source">Why You Should Build Your Technical Writing Career with Open Source</h2>
<p>To get started in technical writing, you need three things: a tool to document, an audience to write for, and a platform to share your work. Open source gives you access to all three and more.</p>
<p>Let’s talk about why contributing to open source is a powerful way to start and grow your technical writing career.</p>
<p>First of all, it can give you some great real-world experience. You get hands-on practice with documentation for actual tools and products used by real developers and users – not just hypothetical or practice projects.</p>
<p>Second, contributing to open source can help you develop your skills. From writing technical guides to improving onboarding flows, you’ll strengthen both your writing and technical understanding.</p>
<p>It also helps you build your portfolio, visibility, and credibility. Your contributions become a tangible way to showcase your skills in writing and working on different types of documentation projects.</p>
<p>Your public work, which is seen by maintainers, contributors, and even recruiters, can also help you build a reputation in the field.</p>
<p>Contributing also helps you develop skills in cross-functional collaboration. You’ll often work alongside developers, designers, and other members of the product team, just like a real job.</p>
<p>As a technical writer, your involvement also helps you gain insights into how they think and develop software, which improves your writing for technical audiences.</p>
<p>In addition to practicing what you already know, there will be many opportunities for you to learn new skills as well. If you’d like to learn new things while being hands-on, open-source is a great place for that. By working on open-source projects, you can gain hands-on experience with new tools, documentation platforms, and even programming languages.</p>
<p>You also get to meet so many people who are willing to mentor, review your work, and offer feedback, so you don’t grow in isolation.</p>
<p>And finally, you get to make a real impact. Good documentation empowers the people you’re writing for. Your writing could be the reason someone else joins a project or starts using a new tool.</p>
<p>You’re not just writing docs. You’re making technology more accessible, communities more welcoming, and learning more equitable.</p>
<h2 id="heading-your-role-in-open-source-as-a-technical-writer">Your Role in Open Source as a Technical Writer</h2>
<p>In open source, technical writers play a crucial role in making projects usable, accessible, and scalable.</p>
<p>As a technical writer, your contributions might include:</p>
<ul>
<li><p><strong>Writing and improving documentation:</strong> From installation guides to API references, you help users get started and stay unblocked.</p>
</li>
<li><p><strong>Creating onboarding resources:</strong> You make it easier for new contributors to join by documenting project structure, workflows, and best practices.</p>
</li>
<li><p><strong>Clarifying technical concepts:</strong> You turn complex ideas into clear, accessible language for users of varying skill levels.</p>
</li>
<li><p><strong>Organising content:</strong> You help structure docs logically so users can find what they need without frustration.</p>
</li>
<li><p><strong>Spotting gaps:</strong> You ask important questions like, 'What’s missing?’ What’s unclear? What would I need to know as a first-time user?</p>
</li>
</ul>
<p>Beyond writing, you become an advocate for the user’s perspective, identifying friction points, promoting clarity, and shaping the overall user experience of a project.</p>
<p>Your role extends beyond mere documentation – it’ll also involve bridging the gap between creators and users and helping open source communities grow by making their work more accessible to everyone.</p>
<h2 id="heading-technical-skills-youll-need-to-get-started">Technical Skills You’ll Need to Get Started</h2>
<p>You don’t need to be a developer to contribute as a technical writer in open source, but having a few foundational skills will make your journey smoother and more impactful.</p>
<p>The core technical skills to focus on include:</p>
<h3 id="heading-git-amp-githubgitlab">Git &amp; GitHub/GitLab</h3>
<p>Version control is essential in open source. Learn how to clone repositories, create branches, make commits and submit pull requests (PRs). These are the basic workflows for contributing to projects and collaborating with others.</p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/learn-git-basics/">Here’s a handbook</a> that’ll teach you all the Git fundamentals you’ll need in your day-to-day routine.</p>
<h3 id="heading-markdown">Markdown</h3>
<p>Markdown is the most common format for writing open source documentation. It’s simple and lightweight, used to add structure like headings, bullet points, code blocks, links, and images to documentation.</p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/markdown-cheatsheet/">Here’s a cheat sheet</a> that’ll teach you markdown basics – it’s geared towards technical writers.</p>
<h3 id="heading-basic-command-line">Basic Command Line</h3>
<p>Knowing how to navigate folders, run simple commands, and install tools from the terminal can help you test software and understand the context you're writing about.</p>
<p>You can learn about command line and bash scripting basics in <a target="_blank" href="https://www.freecodecamp.org/news/bash-scripting-tutorial-linux-shell-script-and-command-line-for-beginners/">this detailed tutorial</a>.</p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/the-linux-commands-handbook/">And here’s a handbook</a> that covers some of the most commonly used Linux commands you’ll need to know.</p>
<h3 id="heading-text-editors">Text Editors</h3>
<p>Tools like VS Code, Cursor, or even online editors on GitHub are commonly used to write and edit documentation. Knowing how to work in them will make your contributions easier.</p>
<p>You can learn how to use VS Code, one of the most popular editors among devs, <a target="_blank" href="https://www.freecodecamp.org/news/learn-visual-studio-code-to-increase-productivity/">in this crash course</a>.</p>
<h3 id="heading-reading-code">Reading Code</h3>
<p>You don’t need to be a programmer, but being able to skim through code and understand file structures or function names can help when documenting how something works.</p>
<p>You don’t need to master everything before you start. These are skills you’ll need to develop along the way. The most important thing is to be curious, ask questions, and keep learning as you contribute.</p>
<h2 id="heading-how-to-build-a-technical-writing-portfolio-through-open-source">How to Build a Technical Writing Portfolio Through Open Source</h2>
<p>Open source is one of the most effective ways to build a strong, public portfolio and kickstart your career as a technical writer. Here’s a step-by-step guide to help you begin contributing to open source as a technical writer:</p>
<h3 id="heading-create-a-github-and-optionally-gitlab-account">Create a GitHub (and optionally GitLab) account</h3>
<p>Most open source projects are hosted on GitHub, so this is your gateway to finding and contributing to them. Make sure your profile is complete and professional – consider it to be your public résumé.</p>
<p>Here’s a peek at what a good GitHub profile can look like (it’s mine 🤗), with a clear bio, current work, interests, and ways to connect. You don’t need to overthink it – just make sure it reflects who you are and what you’re working on.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750356311009/27fe7266-3dc2-4126-af07-a246f31443ea.png" alt="My GitHub profile" class="image--center mx-auto" width="1364" height="765" loading="lazy"></p>
<h3 id="heading-explore-documentation-focused-opportunities">Explore documentation-focused opportunities</h3>
<p>Look for repositories tagged with labels like <code>documentation</code>, <code>good-first-issue</code>, or <code>help wanted</code>. These typically signal that certain tasks (issues) are accessible to new contributors and often related to improving or creating documentation.</p>
<p>Some examples of open-source projects that are known to be welcoming to documentation contributors include <a target="_blank" href="https://github.com/mautic/low-no-code/issues">Mautic</a>, <a target="_blank" href="https://github.com/github/docs">GitHub</a>, <a target="_blank" href="https://github.com/search?q=org:mozilla+doc&amp;type=repositories">Mozilla</a>, <a target="_blank" href="https://github.com/layer5io/layer5">Layer5</a>, <a target="_blank" href="https://github.com/kubernetes/website/issues?q=is:issue%20state:open%20label:kind/documentation">Kubernetes</a>, etc.</p>
<p>You can also browse communities like <a target="_blank" href="https://hashnode.com/">Hashnode</a>, <a target="_blank" href="https://dev.to/">Dev.to</a>, or Reddit’s <a target="_blank" href="https://reddit.com/r/opensource">r/opensource</a> for leads on projects seeking writing support.</p>
<h3 id="heading-start-with-simple-contributions">Start with simple contributions</h3>
<p>Ease into the process by tackling small but valuable tasks like fixing typos or grammar errors, enhancing clarity and structure, and improving formatting or consistency.</p>
<p>These types of edits help you learn the contribution workflow and gain confidence. As you grow more comfortable, take on larger tasks, like writing tutorials, onboarding guides, or reorganising documentation systems.</p>
<h3 id="heading-engage-with-project-maintainers">Engage with project maintainers</h3>
<p>Before making changes, introduce yourself by opening an issue or commenting on an existing one. Ask if you can work on a specific improvement, and clarify expectations around style, tone, or structure.</p>
<p>Good communication shows respect for the project and increases the likelihood your contribution will be accepted.</p>
<h3 id="heading-document-your-work-as-you-go">Document your work as you go</h3>
<p>For every contribution you make, keep track of it. Create a personal documentation portfolio with links to pull requests or merged contributions, screenshots or before-and-after comparisons, and explanations of what you improved and why.</p>
<p>This portfolio serves as compelling evidence of your skills and impact, which can be beneficial for job applications, freelance work, or community recognition.</p>
<h2 id="heading-after-contributing-whats-next">After Contributing, What’s next?</h2>
<p>Once you’ve started making contributions, you’re no longer “aspiring” – you’re already doing the work. That’s something to celebrate. But it’s also just the beginning. Here’s how to keep the momentum going and turn your contributions into a foundation for growth:</p>
<h3 id="heading-reflect-on-what-youve-learned"><strong>Reflect on what you’ve learned</strong></h3>
<p>After my first few open source contributions (fixing some formatting and clarifying contributing guides), I realized how much I learned just by navigating the repo, reading through issues, and figuring out how to submit a PR.</p>
<p>I wasn’t just improving docs. I was learning Git and understanding community norms. Ask yourself: What did you enjoy? What was tricky? What would you do differently next time?</p>
<h3 id="heading-ask-for-feedback"><strong>Ask for feedback</strong></h3>
<p>Don’t be afraid to reach out to maintainers or fellow contributors. Thoughtful feedback can sharpen your writing, improve your collaboration skills, and help you grow faster.</p>
<p>I often left comments like: <em>“Hey! I’ve submitted a small change to improve clarity in this section. I’d love your feedback on whether the tone and structure align with your existing style guide.”</em></p>
<p>Every time I did, I either got affirmation, or helpful advice, and both helped me grow faster.</p>
<h3 id="heading-stay-involved-in-the-community"><strong>Stay involved in the community</strong></h3>
<p>Contributing once is wonderful. But staying active, participating in discussions, joining meetings, or helping other newcomers deepens your understanding and strengthens your place in the project.</p>
<h3 id="heading-contribute-again-and-again"><strong>Contribute again (and again)</strong></h3>
<p>Look for other areas in the same project or explore new ones. As you gain experience, try tackling more complex documentation tasks or helping shape the docs strategy.</p>
<h3 id="heading-share-your-journey"><strong>Share your journey</strong></h3>
<p>Document your experience through blog posts, tweets, or videos. Sharing showcases your work and inspires others to contribute.</p>
<p>I’ve written blog posts and Twitter threads reflecting on my learning process, not just to celebrate but to document what I did and help others who are a few steps behind me. Almost every time I published something on learning about open-source, someone reached out to say it helped them or ask questions.</p>
<p>You might be the nudge someone needs to start contributing too.</p>
<h3 id="heading-join-writing-communities"><strong>Join writing communities</strong></h3>
<p>Get connected with other writers through groups like <a target="_blank" href="https://www.writethedocs.org/">Write the Docs</a>, the <a target="_blank" href="http://hackmamba.io">Hackmamba</a> community, or even local writing meetups. These communities offer support, resources, and new opportunities.</p>
<h3 id="heading-turn-it-into-a-career"><strong>Turn it into a career</strong></h3>
<p>Use your contributions as a portfolio to apply for internships, fellowships, or junior tech writing roles. Pitch your writing to developer-focused blogs or publications like freeCodeCamp. And start freelance work for startups or open-source organisations.</p>
<p>Technical writing has so many paths – full-time roles, freelancing, developer education, content strategy, documentation engineering – and the work you do in open source can lead to any of them.</p>
<h3 id="heading-keep-learning"><strong>Keep learning</strong></h3>
<p>Technical writing is a skill you can continue to refine through courses, peer reviews, mentorship, and hands-on practice. You can explore new tools or pick up a little code; do whatever helps you grow.</p>
<h2 id="heading-wrapping-up">Wrapping Up</h2>
<p>Your first contribution proves that you can write for real-world tools, collaborate in technical spaces, and add value to communities. What comes next is up to you, but you’ve already taken the most important step: you’ve started.</p>
<p><strong>Have questions or want to share your journey?</strong><br>I’d love to hear from you. Feel free to connect or reach out to me on <a target="_blank" href="https://www.linkedin.com/in/lulunwenyi">LinkedIn</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ One Step at a Time: My Journey from Full-time Software Engineer to First Indie Project ]]>
                </title>
                <description>
                    <![CDATA[ Introduction: The Spark of Indie Hacking I’m Gaël, a 25-year-old software engineer who’s been working in a startup environment in Southeast Asia for a few years. 🌏  Working remotely has its perks, and while hopping from one exotic location to anothe... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/from-full-time-software-engineer-to-first-indie-project/</link>
                <guid isPermaLink="false">66bb92030eaca026d8cfa5e9</guid>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Entrepreneurship ]]>
                    </category>
                
                    <category>
                        <![CDATA[ personal development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Gaël Thomas ]]>
                </dc:creator>
                <pubDate>Mon, 01 Apr 2024 19:33:07 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/03/Blog-Banner-Final.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <h2 id="heading-introduction-the-spark-of-indie-hacking">Introduction: The Spark of Indie Hacking</h2>
<p>I’m Gaël, a 25-year-old software engineer who’s been working in a startup environment in Southeast Asia for a few years. 🌏 </p>
<p>Working remotely has its perks, and while hopping from one exotic location to another, I’ve been nurturing a little dream: to kick-start my journey as a solopreneur.</p>
<p>I genuinely love my job—there’s a certain thrill in startup life that I think everyone should experience at least once. Sure, it’s a rollercoaster of highs and lows, but it's where I've learned the ropes of product development and caught the bug for making things people love (and will hopefully pay for!). I often think of coding as adult LEGO—endless possibilities and just plain fun. 🤓</p>
<p>After two years of nomadic life, I chose to plant my feet firmly on the ground to strike a better work-life balance and finally carve out time for my side projects. </p>
<p>But here’s the kicker: settling down didn’t magically make time appear. Between the 9-5 grind and weekend exhaustion, I struggled to find the energy and belief needed to start something of my own.</p>
<h2 id="heading-choosing-the-right-tools-for-the-journey">Choosing the Right Tools for the Journey</h2>
<p>Embarking on this solopreneur journey, I decided to harness the tools and technologies I was already familiar with: HTML, CSS, Tailwind, JavaScript, along with React and Next.js for creating websites. </p>
<p>This choice was not just about comfort but was also about applying best practices in web development that I've learned over a few years of experience.</p>
<p>In the following sections, I'll explain why I chose these particular technologies. I'll also provide guidance on how you can select the most suitable tools for your own projects, balancing learning curves, productivity, and project requirements. </p>
<p>Expect to find practical tips and lessons from my hands-on experience, which you can apply to enhance your coding skills or streamline your development process.</p>
<h2 id="heading-realizing-the-need-for-change">Realizing the Need for Change</h2>
<p>Until recently, my daily routine was disordered. I juggled work with late-night phone scrolling sessions until 1-2 AM, only waking just in time for a hurried breakfast before starting my day. </p>
<p>Frequent use of food delivery apps led to overeating and unhealthy habits, which, despite my overall good life, I knew wasn’t sustainable. </p>
<p>I was trapped in a cycle, fearing that cutting back on my late nights would reduce my life to just work, work, and work. 💻</p>
<p>Then, something clicked a month ago. Motivated by all the recommendations I've seen about going to the gym, I contacted a personal trainer and started my first few sessions. Initially skeptical about lifting weights, I was surprised by the surge in energy it brought me.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/CleanShot-2024-03-26-at-09.17.21@2x.png" alt="Image" width="600" height="400" loading="lazy">
<em>"Talking to my therapist today" - @levelsio on X (Twitter)</em></p>
<p>This burst of energy triggered a chain reaction: I began paying more attention to my diet, choosing healthier, lighter meals. Sleep, too, became a priority. Influenced by the insights from "Why We Sleep" I transformed my sleep routine, targeting eight hours a night. This shift turned my mornings from a rush into a peaceful, productive time. 😴</p>
<p>Now, a month later, these practices have almost become natural. Waking up earlier, I feel more energized, and I've discovered precious time in the morning before work.</p>
<h3 id="heading-how-improved-health-boosts-coding-productivity">How Improved Health Boosts Coding Productivity</h3>
<p>For those on a coding journey or balancing work with learning new skills, I cannot stress enough the importance of good sleep and regular exercise. These aren’t just lifestyle choices – they are essential tools for enhancing your cognitive function and focus.</p>
<p>After integrating better sleep and exercise into my routine, I noticed a significant improvement in my coding productivity. I was able to learn faster, stay focused for more extended periods, and tackle complex problems with more clarity. It felt like unlocking a cheat code for my brain!</p>
<p>Coding is an exciting yet demanding journey. With the additional energy gained from these changes, you'll be more equipped to face the challenges and joys of learning how to code.</p>
<h2 id="heading-taking-the-first-step-booksbymood">Taking the First Step: BooksByMood</h2>
<p>The concept for BooksByMood had been developing in my mind for months, inspired by Mood2Movie, an app developed by <a target="_blank" href="https://twitter.com/marc_louvion">Marc Lou</a>. </p>
<p>The idea of finding books based on your mood captivated me, and I envisioned a platform with my own twist on design and suggestions. This marked the beginning of my indie project journey with BooksByMood. 📚</p>
<p>Getting started on this new journey was daunting. My Twitter feed was full of stories of polished apps and good earnings, which heightened my stress and anxiety about starting. At that time, I didn't fully realize that we all have to start somewhere, and even the well-known people out there started at the beginning one day. </p>
<p>To manage my expectations and focus, I established clear, achievable goals:</p>
<ul>
<li>To create a straightforward website centered around a single, compelling feature.</li>
<li>To keep the website free, ensuring accessibility and user engagement (IMO, also easier to get started with–particularly as a 1st project).</li>
<li>To dedicate a week to learning promotion techniques, aiming to drive traffic to the site.</li>
</ul>
<p>These goals weren’t just milestones – they were my commitment to myself to prove that I could bring an idea to fruition and attract visitors. 🎯</p>
<h3 id="heading-how-i-chose-my-technical-stack">How I Chose My Technical Stack</h3>
<p>As mentioned earlier, I utilized technologies I was proficient in: HTML, CSS, JavaScript, along with Tailwind for styling and Next.js for the framework. I chose this stack for its familiarity and efficiency.</p>
<p>I specifically opted for Next.js due to its convenient features:</p>
<ul>
<li>server-side rendering and static site generation, leading to improved website performance</li>
<li>the file-based routing system</li>
<li>various optimizations such as website navigation using the <code>&lt;Link&gt;</code> component or the <code>&lt;Image&gt;</code> component</li>
<li>it's great for SEO</li>
<li>overall it helps craft a better user experience</li>
</ul>
<p>This stack allowed me to rapidly prototype and deploy, enhancing the site's performance without additional effort.</p>
<p><strong>Takeaways:</strong> Stick to technologies you know well when validating an idea quickly. This approach helps you move faster and focus on the project's core value. That's why you can find many solopreneurs online using the same technologies for years (for example, <a target="_blank" href="https://twitter.com/levelsio">Pieter Levels</a> is using HTML, CSS, JS (with JQuery) and PHP for years).</p>
<h2 id="heading-app-development-process-and-challenges">App Development Process and Challenges</h2>
<p>The journey of developing BooksByMood was iterative, starting with a basic, barely functional version. </p>
<p>I encountered several challenges, such as sourcing reliable book data and crafting a user-friendly interface. Overcoming these obstacles required research, trial and error, and continuous iteration.</p>
<h3 id="heading-challenge-1-finding-reliable-books-data">Challenge 1: Finding Reliable Books Data</h3>
<p>Finding a dependable source for book data was unexpectedly challenging.</p>
<p>I initially wanted to use some APIs. Unfortunately, Goodreads closed its API on December 8th, 2020. OpenLibrary was not bad, but the data needed to be more consistent. Google Books API was alright, but I would have also curated manually in the end, and sometimes some info could have been better.</p>
<p>This made me realize that it's hard to find a good books API out there (probably due to Amazon owning Goodreads and making sure it's hard for competitors to have good data as they do).</p>
<p>There was one thing I knew: it'd be complex to satisfy everyone with the recommendations, but I could do my best. My best was to ensure that what was recommended was well rated by the community (for example, it had a good rating on Goodreads).</p>
<p>You may wonder what will happen in the future, if the website is growing? In that case, it'll definitely need improvement. But, for a first release, it does the trick!</p>
<p><strong>Takeaways:</strong> When facing a challenge on a new project, always take your time to consider all options and find the right balance between shipping fast, quality and reliability. </p>
<p>As an example, I'm 95% sure that curating books manually in JSON files with the help of AI has been a great choice. It resulted in shipping in a reasonable time, only showing books liked by the community, and controlling the data (for example, cover, title, description, tags, authors, and so on).</p>
<h3 id="heading-challenge-2-designing-a-user-friendly-interface">Challenge 2: Designing a user-friendly interface</h3>
<p>As a full stack developer who's been working on the backend for a while, designing an appealing front end was my second major hurdle. Ensuring the site was not only functional but also aesthetically pleasing was crucial for user engagement.</p>
<p>I'm still in the process of learning about design, and it's far from perfect. But I discovered <a target="_blank" href="https://dribbble.com/">Dribbble</a> and it's been a great place to get inspiration. Also, I've been using <a target="_blank" href="https://excalidraw.com/">Excalidraw</a> to sketch an initial layout version showing how I'd like to organize the information.</p>
<p><strong>Takeaways:</strong> For non-designers, drawing inspiration from design-focused platforms like Dribbble can be incredibly helpful. Combining this with UI component libraries, like <a target="_blank" href="https://daisyui.com/">DaisyUI</a>, can significantly enhance the design process, making it more effective.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/Build-in-Public-Day-1.png" alt="Image" width="600" height="400" loading="lazy">
<em>Initial sketch of BooksByMood on Excalidraw (shared for my 1st day of #buildinpublic)</em></p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/CleanShot-2024-03-30-at-15.56.46@2x.png" alt="Image" width="600" height="400" loading="lazy">
<em>1st version of BooksByMood</em></p>
<h2 id="heading-releasing-the-app">Releasing the App</h2>
<p>With the extra time my new morning routine afforded me, I devoted 1-2 hours each weekday and additional weekend time to developing BooksByMood. After a week of focused effort, I opted for a soft launch: I added the project on Twitter by updating my bio link.</p>
<p>The following day marked the beginning of more assertive promotion across various platforms, including Twitter, Reddit, and HackerNews. ✍️</p>
<p><strong>Takeaways:</strong> Feel free to release your project everywhere you can. It can sound scary, but you never know what will happen. Doing that will help you in many ways, such as starting to attract visitors, getting feedback, getting backlinks, and so on. There's nothing to lose!</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/CleanShot-2024-03-28-at-21.52.59@2x.png" alt="Image" width="600" height="400" loading="lazy">
<em>BooksByMood Homepage</em></p>
<h2 id="heading-learning-and-growing-early-lessons-from-the-journey">Learning and Growing: Early Lessons from the Journey</h2>
<h3 id="heading-personal-and-business-lessons">Personal and Business Lessons</h3>
<p>It might sound a bit cliché, but these points have genuinely resonated with me:</p>
<ul>
<li><strong>Believe in Yourself</strong>: Doubt was a constant companion, but taking the leap showed me the importance of faith in my ability to turn an idea into reality.</li>
<li><strong>Ship That Idea:</strong> After all, there could be only positives in doing so. Releasing a product, no matter how small, is a victory in itself.</li>
<li><strong>Building Publicly Is Rewarding</strong>: Engaging with the Indie Hackers community has been a blast. Their support and encouragement have been pivotal, making the process not just about building a product but also about being part of an inspiring collective.</li>
<li><strong>Believe in the Internet’s Magic</strong>: Sharing my project on HackerNews was a leap into the unknown. To my astonishment, we hit the first page, and the influx of visitors exceeded my expectations. Indeed, the internet can work wonders, turning small actions into significant impacts.</li>
</ul>
<h3 id="heading-technical-lessons">Technical lessons</h3>
<p>On the technical front, the project has been a rich source of learning:</p>
<ul>
<li><strong>Choosing the Right Stack</strong>: Leveraging familiar technologies like Next.js and React facilitated a smoother development process and quicker iterations. This really underscored the importance of choosing the right tools for the job. I've said it many times in this article: <em>Use what you know</em>. Don't try to overthink using the latest shiny technology. I'd advise you to focus on your product, not how it's being built.</li>
<li><strong>Data Handling and AI Utilization</strong>: The challenge of sourcing reliable book data forced me to consider solutions, including using AI for content curation. This experience highlighted the need for flexibility and creativity in problem-solving. Sometimes, in tech, you'll not find exactly what you want, and you'll have to evaluate potential tradeoffs to find alternatives.</li>
<li><strong>Design for the User</strong>: As a backend-focused developer, delving into front-end design was challenging. But prioritizing user experience and employing design resources like Dribbble for inspiration proved crucial in creating an engaging interface. Also, don't be too worried about your design. Your first version will probably be "ugly," but over time and iterations, you'll start having something visually pleasing. Everything takes time!</li>
<li><strong>Iterative Development</strong>: Start with a minimal viable product with only one focused feature. It's tempting for a developer to add many features, such as a dark mode, a user account, fancy filters, and so on, but that's unnecessary. Instead, use your technical skills to make that one feature work perfectly.</li>
</ul>
<p>To wrap up this reflection, I can’t emphasize enough the satisfaction of crafting a project, releasing it, and seeing people using it. It’s an amazing experience that I recommend to everyone. If you’ve been sitting on an idea, stop overthinking and start building it now. 🚧</p>
<h2 id="heading-looking-ahead-the-road-to-indie-hacking">Looking Ahead: The Road to Indie Hacking</h2>
<p>I plan to stay committed to the indie hacking path for the upcoming months, balancing it alongside my 9-5 job. </p>
<p>A vast landscape of knowledge awaits me, especially in areas like design and marketing, where my experience is limited. Objectively, I know it's not gonna be easy. Yet, the idea of acquiring new skills is exciting. 🎨</p>
<p>The Indie Hackers community has been a goldmine of insights, with members generously sharing their tips and success stories. This collective wisdom, along with a wealth of books and resources, will continue to guide and inspire my journey. 🔖</p>
<p>In the coming months, my focus is on continuous learning and building. I aim to diversify my projects, incorporating paid features to explore different business models and market needs.</p>
<p>Regarding the tech stack, I plan to stick with my current tools, which are versatile enough to meet most of my needs. While I'm open to integrating new libraries like <a target="_blank" href="https://next-auth.js.org/">NextAuth</a> for streamlined authentication processes, my primary focus will be learning marketing. Understanding and getting better at marketing is crucial for any indie hacker, as it's often required to transform a side project into something bigger.</p>
<p>Whether it leads to success or failure, every step forward is one step toward. I'm excited to see where this path will take me and to share the journey's story with you all.</p>
<p><strong>Takeaways:</strong> Your journey should be one of continuous iteration and exploration. While developing your project, never underestimate the power of marketing—it's essential for gaining traction and turning your ideas into reality. To realize your full potential, embrace both the technical and business sides.</p>
<h2 id="heading-conclusion-an-invitation-to-join-the-journey">Conclusion: An Invitation to Join the Journey</h2>
<p>As this chapter of my journey unfolds, I invite you to come along. I'd love to navigate the ups and downs of indie hacking together.</p>
<p><a target="_blank" href="https://twitter.com/gaelgthomas">Join me on Twitter</a> where I share real-time updates, insights, and milestones of this journey, all in the hope of inspiring some of you to embark on your own adventures. 👀</p>
<h2 id="heading-explore-booksbymood">Explore BooksByMood</h2>
<p>Curious about what I’ve been working on? Check out BooksByMood, my first indie project that helps you find books based on your mood. 👇</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://booksbymood.com/">https://booksbymood.com/</a></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Create a Great Personal Portfolio Page – a Handbook for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ As a developer, you'll want to create a digital space that mirrors your unique skills and persona. And a stellar personal portfolio website can help you make your mark in the digital universe.  Imagine a space that not only highlights your finest ach... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-create-a-great-personal-portfolio-page-a-step-by-step-guide/</link>
                <guid isPermaLink="false">66b99afb4ed1a5964b770073</guid>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ personal development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ portfolio ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Vahe Aslanyan ]]>
                </dc:creator>
                <pubDate>Fri, 22 Mar 2024 21:40:39 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/03/How-to-Create-a-Great-Personal-Portfolio-Page-Cover--1-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>As a developer, you'll want to create a digital space that mirrors your unique skills and persona. And a stellar personal portfolio website can help you make your mark in the digital universe. </p>
<p>Imagine a space that not only highlights your finest achievements but also attracts potential clients and makes a memorable impact on every visitor.</p>
<p>This guide will help you navigate creating an outstanding personal portfolio. We'll dissect the process from choosing an eye-catching layout to crafting content that tells your story. It'll all be aimed at building a page that resonates with who you are and the value you bring. </p>
<p>But the journey doesn't end here. Diving deeper, you'll learn more strategies and insights to help you elevate your portfolio beyond the ordinary. Are you ready? Let's step into the realm of crafting a portfolio that's not just seen but remembered.</p>
<h2 id="heading-table-of-contents">Table Of Contents</h2>
<ol>
<li><a class="post-section-overview" href="#heading-why-is-a-personal-portfolio-website-important">The Importance of a Personal Portfolio Website</a></li>
<li><a class="post-section-overview" href="#heading-how-to-choose-the-right-domain-name">How to Choose the Right Domain Name</a></li>
<li><a class="post-section-overview" href="#heading-how-to-design-your-portfolio-site">How to Design Your Portfolio Site</a></li>
<li><a class="post-section-overview" href="#heading-how-to-pick-the-right-tools">How to Pick the Right Tools</a></li>
<li><a class="post-section-overview" href="#heading-how-to-showcase-your-best-work">How to Showcase Your Best Work</a></li>
<li><a class="post-section-overview" href="#heading-how-to-craft-your-brand-story-and-unique-voice">How to Craft Your Brand Story and Unique Voice</a></li>
<li><a class="post-section-overview" href="#heading-how-to-add-additional-content">How to Add Additional Content</a></li>
<li><a class="post-section-overview" href="#heading-what-pages-you-need-in-your-portfolio">Essential Pages for Your Portfolio</a></li>
<li><a class="post-section-overview" href="#heading-how-to-organize-the-home-page">How to Organize the Home Page</a></li>
<li><a class="post-section-overview" href="#heading-how-to-keep-your-portfolio-fresh">How to Keep Your Portfolio Fresh</a></li>
<li><a class="post-section-overview" href="#11-conclusion">Conclusion</a></li>
</ol>
<h3 id="heading-short-summary">Short Summary</h3>
<ol>
<li>Building a great personal portfolio page is crucial for showcasing your skills and personality in the digital realm.</li>
<li>This step-by-step guide will help you overcome common challenges like starting, structuring, and designing your portfolio effectively.</li>
<li>Learn how to choose the right domain, design your site, showcase your best work, and craft a unique voice to make a lasting impression.</li>
<li>Discover the essential elements, additional content options, social media strategies, and SEO techniques to maximize your portfolio's impact.</li>
</ol>
<h2 id="heading-why-is-a-personal-portfolio-website-important">Why is a Personal Portfolio Website Important?</h2>
<p>Your portfolio, much like a shop's facade or what you wear, communicates your personal style and standards, offering a reflection of your professional identity. </p>
<p>The structure of your website, the projects you spotlight, and the narrative you weave about your journey play a pivotal role in this representation.</p>
<p>While some have navigated their way to impressive careers without a digital footprint, these days it's become more and more important to have a solid personal portfolio. This is particularly true for tech professionals—ranging from software engineers to data scientists and AI experts.</p>
<p>This digital domain gives you a place to show what sets you apart, embodying the core of your unique value proposition. Without this platform, you leave your professional narrative to chance, permitting others to assemble a fragmented view of your persona.</p>
<p>Not having an online personal portfolio could well dictate whether you secure your dream position and successfully establish a strong personal brand, versus fading into the background. In the digital-first era we navigate, a personal portfolio transcends mere benefit—it emerges as an <a target="_blank" href="https://www.freecodecamp.org/news/personal-branding-for-devs-handbook/">essential instrument for personal branding</a>.</p>
<h3 id="heading-how-a-personal-portfolio-helps-you">How a Personal Portfolio Helps You</h3>
<p>For engineers seeking to carve out a distinctive identity in the tech landscape, the quest to showcase what makes you unique is paramount. While GitHub serves as a testament to your technical abilities, it often speaks a language too specialized for a broader audience.</p>
<p>Similarly, YouTube offers a platform for personality-driven exposure, but the prospect of speaking to a camera for hours may not align with your preferred mode of expression. Herein lies the unparalleled value of a personal portfolio page: it stands as one of the most effective mediums to represent yourself.</p>
<p>When you're creating your personal portfolio, it's crucial to demonstrate your expertise and establish your credibility. This demands clear and concise communication, directly engaging potential clients or employers, showcasing your skills, and fostering an online presence.</p>
<p>These are not mere suggestions but critical measures for contemporary professionals. By crafting a portfolio that not only displays your work but propels your career forward, you assert a distinctive presence in the competitive realm of technology, ensuring your unique contributions are both seen and valued.</p>
<h2 id="heading-how-to-choose-the-right-domain-name">How to Choose the Right Domain Name</h2>
<p>When setting up your personal portfolio website, selecting the perfect domain name is a crucial decision that can impact your online presence significantly. </p>
<p>Your domain name is essentially your online identity, so it's important to choose wisely to make a lasting impression on your visitors and potential clients. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-73.png" alt="Image" width="600" height="400" loading="lazy">
<em>Choosing my domain name - vaheaslanyan.com</em></p>
<p>For my personal portfolio page, I like to keep it simple: firstname+lastname.com or just firstname.com. So for me it is: <a target="_blank" href="http://vaheaslanyan.com">vaheaslanyan.com</a>. (My firstname + lastname.com) </p>
<h3 id="heading-other-examples-are">Other examples are</h3>
<ol>
<li><strong>JohnDoe.com</strong>: This is the most direct approach, using both your first and last name. It's professional and clear for anyone looking for your work.</li>
<li><strong>AlexJohnson.dev</strong>: For those in the tech industry, using a domain extension like .dev can highlight your area of expertise.</li>
<li><strong>MichaelRoberts.design</strong>: Similar to the .dev extension, using .design can be a great choice for professionals in fields like graphic design, UX/UI, or related areas.</li>
<li><strong>Elena.co</strong>: If your first name is unique enough, or if you prefer a shorter URL, you might use just your first name with a less common extension like .co.</li>
<li><strong>MaxCreates.com</strong>: If "Max" is your nickname and you're in a creative industry, this domain clearly indicates what you do and who you are.</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-74.png" alt="Image" width="600" height="400" loading="lazy">
<em>My name coming up in Google search results</em></p>
<h3 id="heading-importance-of-a-domain-name">Importance of a Domain Name</h3>
<p>Your domain name is the first thing users see when they land on your website, so it should be memorable, easy to spell, and reflect your brand identity. </p>
<p>Here's why it's critical:</p>
<ul>
<li><strong>It Reflects Your Brand</strong>: A well-chosen domain name can effectively convey your unique voice and what you have to offer. If it is your project portfolio website, then something that reflects your name or nickname is a great way to accomplish this.</li>
<li><strong>It Improves Search Engine Ranking</strong>: Having relevant keywords in your domain name can positively impact your website's SEO.</li>
<li><strong>It Attracts Potential Clients</strong>: A professional and catchy domain name can pique the interest of potential clients and make your website stand out.</li>
</ul>
<h3 id="heading-tips-for-choosing-the-perfect-domain-name">Tips for Choosing the Perfect Domain Name</h3>
<ul>
<li><strong>Keep It Simple</strong>: Opt for a domain name that is easy to remember and type.</li>
<li><strong>Include Keywords</strong>: If possible, incorporate relevant keywords related to your industry or profession.</li>
<li><strong>Consider Your Niche</strong>: Ensure your domain name aligns with the type of work showcased on your portfolio.</li>
<li><strong>Avoid Numbers and Hyphens</strong>: Numbers and hyphens can be confusing and are often forgotten when typing a domain name.</li>
<li><strong>Check Availability</strong>: Verify that the domain name you want is not already taken and is available for purchase. You can use <a target="_blank" href="https://www.namecheap.com/">namecheap.com</a>, <a target="_blank" href="https://www.godaddy.com/nl-nl">godaddy.com</a> and many other online hosting websites.</li>
</ul>
<h2 id="heading-how-to-design-your-portfolio-site">How to Design Your Portfolio Site</h2>
<p>When selecting a design for your portfolio website, it’s important that the theme reflects your professional brand. For example, lawyers typically want a theme that suggests reliability and authority, while educators might choose a Learning Management System (LMS) to share courses. </p>
<p>To find the right design, websites like Envato, ThemeForest, and Figma templates are useful. It's helpful to plan what you want on each page before deciding on a design.</p>
<p>Here's how to approach this process:</p>
<p><strong>Understand Your Brand</strong>: First, define what your brand represents and the impression you want to make. Whether your style is modern and sleek or more traditional and professional, your website's design should align with this.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-75.png" alt="Image" width="600" height="400" loading="lazy">
<em>My personal portfolio homepage</em></p>
<p><strong>Research Design Options</strong>: Explore various design templates on platforms like Envato, ThemeForest, and Figma. These resources offer a wide array of designs suited to different professions, aiding in finding one that matches your vision.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-76.png" alt="Image" width="600" height="400" loading="lazy">
<em>Different site design options</em></p>
<p><strong>Functionality and Features Needs</strong>: Consider the features essential for showcasing your work effectively. For a digital artist, high-resolution galleries might be key, while a developer might need support for embedding code snippets.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-77.png" alt="Image" width="600" height="400" loading="lazy">
<em>Press releases on my site</em></p>
<p><strong>Sketch Your Layouts</strong>: Draft a basic layout for each page of your website before committing to a design. This helps visualize how the design will accommodate your content.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-78.png" alt="Image" width="600" height="400" loading="lazy">
<em>Example wireframes for creating a personal portfolio</em></p>
<p><strong>Prioritize Simplicity and User Experience</strong>: A design that's easy to navigate and not overly complicated will keep the focus on your portfolio and provide a better experience for your visitors.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-79.png" alt="Image" width="600" height="400" loading="lazy">
<em>An example of a simple website design</em></p>
<p><strong>Ensure Compatibility and Responsiveness</strong>: The design should look good and function well across all devices and browsers. Responsiveness ensures your website adapts to any screen size.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-80.png" alt="Image" width="600" height="400" loading="lazy">
<em>An example of a responsive site that looks good on both desktop and mobile</em></p>
<p><strong>Customization Flexibility</strong>: Look for a design that offers customization. Being able to adjust elements like colors, fonts, and layout means you can tailor the design to fit your brand perfectly.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-81.png" alt="Image" width="600" height="400" loading="lazy">
<em>An example of a flexible design</em></p>
<p><strong>Test and Gather Feedback</strong>: If possible, test the design with some of your content and ask for feedback from colleagues or mentors. Their insights can help you gauge the design's effectiveness in presenting your work.</p>
<p>By carefully choosing a design that represents your professional brand, you create a strong foundation for a portfolio website that effectively showcases your skills and communicates your unique value to visitors.</p>
<h2 id="heading-how-to-pick-the-right-tools">How to Pick the Right Tools</h2>
<p>Choosing the right tools to build your portfolio involves understanding your needs, evaluating available options, and selecting solutions that align with your skills and goals. </p>
<p>This chapter guides you through this process, from deciding between coding your own site vs using a no-code platform to selecting the perfect hosting provider.</p>
<h3 id="heading-understand-your-needs">Understand Your Needs</h3>
<p>First, it's important to identify your field: are you in the tech industry, or are you in some other line of work?</p>
<p>Your field of work significantly influences your choice of portfolio tools. Tech professionals might lean towards custom-coded sites to showcase their coding prowess, while those in non-tech fields may prefer no-code builders for their convenience and ease of use.</p>
<p>Next, you'll want to evaluate your skills to decide how to actually create the site. Do you want to code your own portfolio, or choose a no-code solution? </p>
<p>Assess your skills honestly. If you're comfortable with coding, a custom-built site might be the best way to showcase your technical abilities. For those without coding skills or a desire to learn, no-code platforms offer a practical and efficient alternative.</p>
<p>Then you'll want to set your website goals and objectives. Define what you want your portfolio to achieve. Are you looking to attract freelance clients, land a full-time job, or simply showcase your work? Your goals can influence the choice of platform, design, and content of your portfolio.</p>
<h3 id="heading-options-for-tech-professionals">Options for Tech Professionals</h3>
<p>Coding your own portfolio from scratch offers complete control over design and functionality, allowing you to create a unique and personalized online presence. It also showcases what you can do with code.</p>
<h4 id="heading-benefits-of-custom-coding">Benefits of Custom Coding</h4>
<ul>
<li>Customization: Tailor every aspect of your site to fit your personal brand.</li>
<li>Skill Demonstration: Showcase your coding ability to potential employers or clients.</li>
</ul>
<h4 id="heading-recommended-technologies-and-frameworks">Recommended Technologies and Frameworks</h4>
<ul>
<li><strong>HTML, CSS, and JavaScript Basics</strong>: The foundation of web development, essential for any custom-built portfolio.</li>
<li><strong>Advanced Frameworks</strong>: Utilize React, Angular, or Vue to create dynamic and responsive sites.</li>
</ul>
<h4 id="heading-hosting-solutions-for-coders">Hosting Solutions for Coders</h4>
<ul>
<li><strong>GitHub Pages</strong>: A free option for hosting simple, static sites.</li>
<li><strong>Netlify and Vercel</strong>: Provide more flexibility and support for dynamic sites built with advanced frameworks.</li>
</ul>
<h3 id="heading-no-code-solutions-for-non-tech-professionals">No-Code Solutions for Non-Tech Professionals</h3>
<p>No-code platforms have democratized web design, enabling anyone to create beautiful, functional websites without writing a single line of code.</p>
<h4 id="heading-comparing-popular-no-code-platforms">Comparing Popular No-Code Platforms</h4>
<ul>
<li><strong>WordPress</strong>: Versatile and widely used, with extensive themes and plugins.</li>
<li><strong>Webflow</strong>: Offers unparalleled customization and flexibility without requiring coding knowledge.</li>
<li><strong>Squarespace</strong>: Known for its ease of use and stunning, design-forward templates.</li>
</ul>
<h3 id="heading-how-to-choose-the-right-hosting-option">How to Choose the Right Hosting Option</h3>
<p>Your hosting provider impacts your site's loading speed, uptime, and overall user experience, making it a crucial factor in your portfolio's success.</p>
<h4 id="heading-some-common-hosting-providers">Some Common Hosting Providers</h4>
<ul>
<li><strong>Namecheap</strong>: Offers affordable, reliable hosting with excellent customer support.</li>
<li><strong>Alternative Options</strong>: Explore other reputable providers like Bluehost and SiteGround based on your specific needs.</li>
</ul>
<p>Choosing the right tools for your personal portfolio requires a thoughtful evaluation of your needs, skills, and goals. Whether through custom coding or no-code platforms, the perfect portfolio is within reach. </p>
<p>By carefully selecting the right tools and platforms, you can create a portfolio that not only showcases your work but also helps you achieve your career aspirations.</p>
<h2 id="heading-how-to-showcase-your-best-work">How to Showcase Your Best Work</h2>
<p>When setting up your portfolio page, it's essential to showcase projects that reflect your current focus in software engineering, data science, AI, or whatever area of tech you call home. </p>
<p>Select projects that are recent and demonstrate your skills and interests in these areas, ensuring your portfolio aligns with the professional direction you're aiming for.</p>
<h3 id="heading-categorize-your-projects">Categorize Your Projects</h3>
<p>Divide your projects into categories like software development, data analysis, or artificial intelligence to help visitors navigate your portfolio more easily. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-82.png" alt="Image" width="600" height="400" loading="lazy">
<em>The project section on my personal portfolio site with clear sections for different topics</em></p>
<p>This organization allows you to display a broad skill set, making it clear you're well-versed in multiple aspects of tech. It also helps visitors quickly find projects that align with their specific interests or needs.</p>
<h3 id="heading-provide-detailed-project-descriptions">Provide Detailed Project Descriptions</h3>
<p>For each project, write a brief description that outlines the project's goals, your role in its development, and the technology used. Highlight any unique challenges you encountered and how you overcame them, showcasing your problem-solving skills. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-86.png" alt="Image" width="600" height="400" loading="lazy">
<em>Example of some project descriptions listing the challenge, goal, technologies used, etc.</em></p>
<p>These descriptions give context to your work and help visitors understand the depth of your technical expertise and creativity.</p>
<h3 id="heading-use-high-quality-visuals-and-code-snippets">Use High-Quality Visuals and Code Snippets</h3>
<p>Incorporate clear screenshots of your projects or UI designs, and consider including code snippets to illustrate the quality of your coding practices. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-85.png" alt="Image" width="600" height="400" loading="lazy">
<em>A high quality visual</em></p>
<p>Visuals help convey the complexity and functionality of your projects, while code snippets can give fellow tech professionals insight into your technical approach. Together, they provide a comprehensive view of your capabilities.</p>
<h3 id="heading-include-client-or-collaborator-testimonials">Include Client or Collaborator Testimonials</h3>
<p>Testimonials from clients, colleagues, or collaborators can add credibility to your portfolio. Positive feedback on your technical skills, work ethic, and ability to deliver solutions can significantly enhance your professional image. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-87.png" alt="Image" width="600" height="400" loading="lazy">
<em>Examples from my testimonials page</em></p>
<p>These testimonials act as a form of social proof, validating your expertise in your field.</p>
<h3 id="heading-highlight-achievements-and-contributions">Highlight Achievements and Contributions</h3>
<p>Showcase any recognitions, certifications, or contributions to open-source projects. </p>
<p>For example, if you've received a "Developer of the Month" award from a well-known tech community, obtained a certification in Advanced Machine Learning from a reputable online platform, or contributed to open-source projects on GitHub like TensorFlow or Apache Spark, make sure these are prominently featured.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-88.png" alt="Image" width="600" height="400" loading="lazy">
<em>Some of my own milestones throughout my career</em></p>
<p>Highlighting such achievements, like winning a hackathon or being part of a team that developed a widely used software tool, showcases your commitment and active engagement in the tech community. </p>
<p>It also positions you as a dedicated and accomplished professional, underlining your contributions and achievements within the fields of software engineering, data science, and AI.</p>
<h3 id="heading-feature-interactive-demos">Feature Interactive Demos</h3>
<p>Where possible, include interactive demos of your projects or links to live sites where visitors can see your work in action. This not only makes your portfolio more engaging but also lets visitors experience the usability and functionality of your creations firsthand. </p>
<p>Interactive demos can be particularly compelling for projects in AI and data science, where results and data visualizations play a crucial role.</p>
<p>To effectively include interactive demos or links to live sites in your portfolio, consider these approaches:</p>
<ol>
<li><strong>Embed Project Videos</strong>: Create short video demonstrations of your projects and embed them directly into your portfolio. These videos can guide viewers through the functionality and features of your creations, providing a dynamic way to showcase your work.</li>
<li><strong>Use GitHub Pages</strong>: For software engineering projects, deploy your web applications or tools on <a target="_blank" href="https://pages.github.com/">GitHub Pages</a>, providing a direct link in your portfolio. This free hosting service allows you to present live versions of your projects, making them accessible to anyone.</li>
<li><strong>Interactive Data Visualization Tools</strong>: For data science projects, utilize tools like <a target="_blank" href="https://public.tableau.com/app/discover">Tableau Public</a> or <a target="_blank" href="https://d3js.org/">D3.js</a> to create interactive visualizations of your data analyses. Embed these visualizations in your portfolio to let visitors interact with the data, understand your analytical skills, and appreciate the insights you've uncovered.</li>
<li><strong>Host on Cloud Platforms</strong>: Use cloud platforms like <a target="_blank" href="https://www.heroku.com/">Heroku</a> or <a target="_blank" href="https://www.netlify.com/">Netlify</a> to deploy your projects and include the live links in your portfolio. These platforms support a wide range of programming languages and frameworks, making them suitable for showcasing both frontend and backend projects.</li>
<li><strong>Demo Notebooks for AI Models</strong>: Share Jupyter notebooks via platforms like GitHub or NBViewer that demonstrate the workings of your AI models. These notebooks can include code, visualizations, and explanations, offering a comprehensive view of your project's development process and results.</li>
<li><strong>Create an Interactive Portfolio Section</strong>: Design a specific area of your portfolio dedicated to interactive demos. This section can include thumbnails or icons representing each project, which visitors can click on to explore the demo or live site.</li>
<li><strong>Use Code Sandboxes</strong>: For smaller projects or code snippets, use online code editors like <a target="_blank" href="https://codepen.io/">CodePen</a> or <a target="_blank" href="https://jsfiddle.net/">JSFiddle</a> to create live previews. These platforms allow you to write HTML, CSS, and JavaScript in the browser and share interactive versions of your work.</li>
</ol>
<p>By incorporating these methods, you can make your portfolio more engaging and provide potential employers or clients with a hands-on understanding of your projects' usability, functionality, and the innovative solutions you bring to the table in software engineering, data science, and AI.</p>
<h3 id="heading-regularly-update-your-portfolio">Regularly Update Your Portfolio</h3>
<p>Keep adding new projects and updating your portfolio to reflect your latest work and ongoing learning in the tech field. This demonstrates your commitment to staying current with technological advancements and your continuous professional development. An up-to-date portfolio shows you're actively involved in your field and passionate about your work.</p>
<p>By tailoring your portfolio with these considerations in mind, you ensure it effectively showcases your expertise in software engineering, data science, and AI. This approach not only highlights your technical skills but also your adaptability and ongoing growth in these rapidly evolving fields.</p>
<h2 id="heading-how-to-craft-your-brand-story-and-unique-voice"><strong>How to Craft Your Brand Story and Unique Voice</strong></h2>
<p>Crafting your brand's voice is a vital aspect of the brand's identity, serving as the embodiment of its personality across all forms of communication. A well-defined brand voice not only distinguishes a brand in a crowded market but also establishes a consistent and relatable presence that resonates with its target audience. </p>
<p>This chapter delves into the intricate process of sculpting your brand's unique voice and narrative, ensuring it aligns with its core values, mission, and the expectations of its audience.</p>
<h3 id="heading-understanding-your-brands-core"><strong>Understanding Your Brand's Core</strong></h3>
<p>The journey to crafting your brand's voice begins with a deep dive into its essence. This involves clarifying your brand's mission, values, and the unique proposition it offers to its audience. </p>
<p>A brand voice that is in harmony with these core aspects will not only be authentic but also compelling to your target audience.</p>
<h3 id="heading-identify-your-audience"><strong>Identify Your Audience</strong></h3>
<p>Understanding and identifying your target audience as a developer is pivotal to creating a personal portfolio website that resonates with the right people, whether they are potential employers, clients, students for your courses, or collaborators. Here's how to refine your approach based on who you're speaking to most often:</p>
<h4 id="heading-for-educators-and-course-creators">For Educators and Course Creators</h4>
<p>If analytics or feedback suggests that a significant portion of your visitors (like the 90% in the example) are potential students interested in your courses, your portfolio should position you as a subject matter expert and a capable educator. Here's how:</p>
<ul>
<li><strong>Showcase Educational Content</strong>: Highlight courses you've created, workshops you've conducted, and any educational materials you offer. Use clear, engaging descriptions and include student testimonials to underscore the value of your courses.</li>
<li><strong>Demonstrate Expertise</strong>: Include a detailed "About Me" section that outlines your credentials, experience, and any awards or recognitions you've received in your field. This helps build trust and establish your authority.</li>
<li><strong>Provide Free Resources</strong>: Offering free tutorials, blog posts, or downloadable resources can be a great way to showcase your knowledge and teaching style, encouraging visitors to engage with your paid courses.</li>
<li><strong>Engage with Interactive Demos</strong>: Use interactive elements or demos related to your courses to engage visitors and give them a taste of what you offer, making your site and courses more memorable.</li>
</ul>
<h4 id="heading-for-developers-seeking-employment">For Developers Seeking Employment</h4>
<p>If your primary goal is to attract potential employers, your portfolio needs to emphasize your technical skills, projects, and the professional value you bring. Here's how to tailor your site:</p>
<ul>
<li><strong>Highlight Relevant Projects</strong>: Showcase a selection of projects that are most relevant to the types of roles you're seeking. Include detailed case studies that walk through your problem-solving process, technologies used, and the outcomes achieved.</li>
<li><strong>Professional Narrative</strong>: Use the "About Me" section to narrate your professional journey, emphasizing experiences and skills that align with your career aspirations. Mention any collaborative projects to demonstrate teamwork and communication skills.</li>
<li><strong>Testimonials from Colleagues</strong>: Including endorsements from past colleagues, supervisors, or collaborators can add credibility and provide insight into your working style and contributions to a team.</li>
<li><strong>Technical Blog</strong>: If you maintain a blog, focus on posts that highlight your expertise, insights into technology trends, and solutions to common problems in your field. This not only showcases your knowledge but also your ability to communicate complex ideas clearly.</li>
</ul>
<h3 id="heading-general-tips-for-identifying-your-audience">General Tips for Identifying Your Audience</h3>
<ul>
<li><strong>Survey Your Visitors</strong>: Simple surveys or feedback forms on your website can provide direct insights into who your visitors are and what they're looking for.</li>
<li><strong>Analyze Website Analytics</strong>: Use tools like Google Analytics to understand the demographics, interests, and behavior of your site's visitors. Look for patterns in the pages visited, the content engaged with, and the referral sources.</li>
<li><strong>Social Media Insights</strong>: If you use social media to share your work or insights, platforms like Twitter, LinkedIn, and Instagram provide analytics that can help you understand your followers' profiles and preferences.</li>
<li><strong>Competitor Analysis</strong>: Look at the portfolios of peers in your field. Notice who their target audience seems to be and how they engage with them. This can offer clues about your own audience.</li>
</ul>
<p>Identifying and understanding your target audience allows you to craft a portfolio that speaks directly to their needs and interests. Whether you're teaching, seeking employment, or offering freelance services, a focused approach ensures that your portfolio resonates with the right people, making it a powerful tool in achieving your professional goals.</p>
<h3 id="heading-craft-your-brand-narrative"><strong>Craft Your Brand Narrative</strong></h3>
<p>Once you have a clear understanding of your brand's core and its audience, the next step is to weave your brand narrative. </p>
<p>This narrative should tell the story of your brand—where it comes from, what it stands for, and where it is headed. </p>
<p>The narrative becomes the foundation upon which your brand voice is built, ensuring that every message you convey is coherent and aligned with your brand's story.</p>
<h3 id="heading-be-aware-of-the-tone-of-your-voice"><strong>Be Aware of the Tone of Your Voice</strong></h3>
<p>The tone of your brand voice can vary depending on the context and the platform, but it should always reflect your brand's personality. </p>
<p>Whether it's confident and authoritative, friendly and conversational, or inspirational and aspirational, the tone should be consistent across all channels to maintain brand recognition and loyalty.</p>
<h3 id="heading-consistency-is-key"><strong>Consistency Is Key</strong></h3>
<p>Maintaining consistency in your brand voice across all platforms and touchpoints is crucial. This consistency helps in building trust and credibility with your audience. It ensures that no matter where or how your audience encounters your brand, they receive the same experience and message.</p>
<h3 id="heading-evolve-your-voice"><strong>Evolve Your Voice</strong></h3>
<p>While consistency is essential, it's also important to allow your brand voice to evolve with your audience and the market. Stay open to feedback and be willing to adjust your voice as needed to ensure it remains relevant and engaging to your audience.</p>
<p>Crafting your brand story and unique voice is not a one-time effort but an ongoing process of refinement and evolution. </p>
<p>By staying true to your brand's core, understanding your audience, and being consistent yet flexible in your approach, you can create a brand voice that not only defines your brand's identity but also builds lasting connections with your audience.</p>
<h2 id="heading-how-to-add-additional-content">How to Add Additional Content</h2>
<p>Enhancing your personal portfolio website with a variety of content not only enriches the visitor's experience but also showcases the breadth of your capabilities. Here are some key additions that can transform your site:</p>
<h3 id="heading-client-testimonials-and-peer-reviews">Client Testimonials and Peer Reviews</h3>
<p>Incorporate feedback from previous clients or colleagues to highlight your skills and professionalism. Testimonials lend authenticity and foster trust in your portfolio. </p>
<p><strong>Example:</strong> a section titled "What People Are Saying" can feature a carousel of quotes from past clients, such as: "Alex transformed our brand's vision into reality with exceptional design and attention to detail. Working with them was a game-changer!" – Jamie, Brand Manager </p>
<h3 id="heading-detailed-case-studies">Detailed Case Studies</h3>
<p>Showcase your standout projects with comprehensive case studies. These narratives offer a deep dive into your creative process, problem-solving abilities, and the impact of your work. </p>
<p><strong>Example:</strong> a page dedicated to a rebranding project for a local café, including the challenge ("Revitalizing a beloved local brand"), the process (from initial sketches to final design choices), and the impact (increased customer engagement and sales).</p>
<h3 id="heading-blog-insights">Blog Insights</h3>
<p>A blog section can serve as a platform for sharing your expertise, industry insights, or personal reflections. It reflects your dedication to your craft and ensures your site remains vibrant with new content. </p>
<p><strong>Example:</strong> a series of posts under "Design Insights," with entries like "The Future of Web Design: Trends to Watch" or "My Creative Process: From Concept to Completion," providing readers with valuable knowledge and a peek into your creative world.</p>
<h3 id="heading-behind-the-scenes-glimpses">Behind-the-Scenes Glimpses</h3>
<p>Offer a look into your creative journey through behind-the-scenes content like sketches, mood boards, or early designs. This transparency into your process can fascinate visitors and add depth to your work presentation. </p>
<p><strong>Example:</strong> a gallery called "The Making of a Logo," featuring early sketches, revisions, and commentary on the thought process behind each stage, culminating in the final design.</p>
<h3 id="heading-engaging-interactive-elements">Engaging Interactive Elements</h3>
<p>Incorporate dynamic features such as sliders, animations, or interactive galleries. These elements can make your portfolio more engaging and leave a lasting impression on visitors. </p>
<p><strong>Example:</strong> an interactive gallery for a photography portfolio, where visitors can filter images by theme or color. Hovering over an image reveals the project name and details, while clicking enlarges the photo with a detailed caption. </p>
<h3 id="heading-awards-and-honors">Awards and Honors</h3>
<p>Highlight any accolades or recognitions you've received. Showcasing your achievements adds prestige to your portfolio and distinguishes you from your peers. </p>
<p><strong>Example:</strong> a "Recognition" section displaying badges or trophies from design competitions, accompanied by a brief description of the award and the project that won it, such as "Winner of the 2023 Design Innovation Award for the Eco-Friendly Packaging Series."</p>
<h3 id="heading-video-demonstrations">Video Demonstrations</h3>
<p>Embedding video content, whether project walkthroughs or client feedback, can provide an immersive experience. Videos add a dynamic layer to your presentation, making your work more relatable and memorable. </p>
<p><strong>Example:</strong> a video walkthrough of a mobile app design process, starting from wireframes to the finished product, with voiceover explaining design choices, challenges overcome, and user feedback incorporated into the final version.</p>
<h3 id="heading-infographics-and-data-visualizations">Infographics and Data Visualizations</h3>
<p>For those whose work involves data, adding infographics or visualizations can compellingly present complex information. This not only showcases your ability to simplify intricate data but also your creative approach to visual communication. </p>
<p><strong>Example:</strong> an infographic titled "The Impact of Good Design on User Engagement," showcasing statistics on user retention, satisfaction, and conversion rates before and after a website redesign, highlighting your ability to drive results through design.</p>
<p>Diversifying the content on your personal portfolio website with additions like testimonials, in-depth case studies, and interactive elements enriches your online presence. Such enhancements not only amplify the appeal and credibility of your portfolio but also demonstrate your comprehensive skill set and creativity.</p>
<h2 id="heading-what-pages-you-need-in-your-portfolio">What Pages You Need in Your Portfolio</h2>
<p>To make your personal portfolio website truly unforgettable, paying close attention to its structure and content is paramount. </p>
<p>The goal is to showcase not just your work and abilities, but to establish a holistic online platform that mirrors your professional identity. Integrating specific essential pages is critical for a detailed presentation of your competencies to prospective employers or clients. </p>
<p>Here’s a detailed guide on the essential pages that are fundamental to a standout personal portfolio:</p>
<h3 id="heading-home-page-the-gateway-to-your-professional-universe">Home Page: The Gateway to Your Professional Universe</h3>
<p>The home page serves as the initial welcome to your professional domain, providing a brief yet impactful overview of your identity and offerings. This first impression is vital, setting the tone for the visitor's experience on your site. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-101.png" alt="Image" width="600" height="400" loading="lazy">
<em>My home page</em></p>
<p>Your home page should emphasize:</p>
<ul>
<li><strong>Engaging Introduction</strong>: Introduce yourself with a quick mention of your professional designation and expertise.</li>
<li><strong>Visual Elements</strong>: Incorporate captivating visuals or a portfolio reel to immediately draw attention to your work.</li>
<li><strong>Navigation Tips</strong>: Direct visitors smoothly to different site sections with clear navigation aids.</li>
</ul>
<h3 id="heading-portfolio-section-a-display-of-your-expertise">Portfolio Section: A Display of Your Expertise</h3>
<p>This core section is where you showcase your finest work. Organizing this area thoughtfully ensures that visitors can easily navigate through your projects. You should include:</p>
<ul>
<li><strong>Organization by Category</strong>: Group projects by theme, type, or sector for straightforward browsing.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-93.png" alt="Image" width="600" height="400" loading="lazy">
<em>Projects organized by category on my personal portfolio page - Python, Statistics, Machine Learning, and NLP</em></p>
<ul>
<li><strong>Project Summaries</strong>: Provide a concise description of each project, outlining your role, the methodology, and the results.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-94.png" alt="Image" width="600" height="400" loading="lazy">
<em>Example project summary on my portfolio</em></p>
<ul>
<li><strong>High-Resolution Media</strong>: Present your work with high-quality images or videos to fully convey its quality.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-95.png" alt="Image" width="600" height="400" loading="lazy"></p>
<h3 id="heading-about-me-page-your-professional-narrative">About Me Page: Your Professional Narrative</h3>
<p>This page allows you to forge a deeper connection with your audience by sharing your story, ambitions, and what makes you unique. It should cover:</p>
<ul>
<li><strong>Professional Background</strong>: Share your career path, educational achievements, and significant milestones.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-97.png" alt="Image" width="600" height="400" loading="lazy">
<em>Some of my personal milestones</em></p>
<ul>
<li><strong>Skills and Expertise</strong>: Spotlight the abilities that distinguish you in your field.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-96.png" alt="Image" width="600" height="400" loading="lazy">
<em>A page on my portfolio showing my "digital DNA" - the skills I'd like to showcase</em></p>
<ul>
<li><strong>Personal Insights</strong>: Offering a peek into your personal hobbies or interests can make you more approachable and relatable.</li>
</ul>
<h3 id="heading-services-offered-how-you-can-assist-clients">Services Offered: How You Can Assist Clients</h3>
<p>If your portfolio is meant to attract freelance or consulting work, clearly detail the services you provide. This section should convey:</p>
<ul>
<li><strong>Services List</strong>: Enumerate the services you offer, such as design, consulting, or writing.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-98.png" alt="Image" width="600" height="400" loading="lazy">
<em>A section on my site describing the courses I offer/topics I teach about</em></p>
<ul>
<li><strong>Unique Advantages</strong>: Describe what sets your services apart from the competition.</li>
<li><strong>Workflow Description</strong>: Outline your process from the initial contact to project completion, offering potential clients a glimpse into your working style.</li>
</ul>
<h3 id="heading-contact-information-simplifying-communication">Contact Information: Simplifying Communication</h3>
<p>For potential collaborations, it’s essential to make reaching out as simple as possible. Your contact page should include:</p>
<ul>
<li><strong>Various Contact Methods</strong>: Provide a contact form, email, and possibly a phone number for easy communication.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-99.png" alt="Image" width="600" height="400" loading="lazy">
<em>My contact information page on my personal portfolio site</em></p>
<ul>
<li><strong>Social Media Profiles</strong>: Guide visitors to your professional social media pages.</li>
<li><strong>Geographic Details</strong>: If applicable, mention your location or time zone.</li>
</ul>
<h3 id="heading-client-testimonials-evidence-of-your-expertise">Client Testimonials: Evidence of Your Expertise</h3>
<p>Testimonials from previous clients or colleagues act as a strong endorsement of your skills and dependability. Consider featuring:</p>
<ul>
<li><strong>Client Feedback</strong>: Include concise, meaningful quotes from clients about their satisfaction with your work.</li>
</ul>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-100.png" alt="Image" width="600" height="400" loading="lazy">
<em>Some of my client's testimonials</em></p>
<ul>
<li><strong>Project Links</strong>: Optionally, connect these testimonials to specific projects they refer to.</li>
<li><strong>Client Images or Logos</strong>: Adding photos or logos of the client's company can add credibility to each testimonial.</li>
</ul>
<p>Incorporating these key pages into your personal portfolio website not only effectively showcases your skills but also offers a complete picture of your professional sphere. </p>
<p>By meticulously designing each section, you can cultivate a digital presence that draws in potential clients or employers, showcases your proficiency, and distinguishes you in your industry.</p>
<h2 id="heading-how-to-organize-the-home-page">How to Organize the Home Page</h2>
<p>Now let's talk about how to strategically organize the homepage of your personal portfolio website. The essence of the homepage is to succinctly represent you and ignite the curiosity of visitors to delve into your portfolio page. Essential sections include:</p>
<h3 id="heading-1-navigation-bar">1. Navigation Bar</h3>
<p>A well-designed navigation bar is your visitor's roadmap to your website. It should be intuitive and straightforward, guiding them through your site with ease. </p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-102.png" alt="Image" width="600" height="400" loading="lazy">
<em>Navigation section of my site</em></p>
<p>Include links to your portfolio, about page, services, and contact information. Ensure it's accessible from every page, providing a seamless browsing experience.</p>
<h3 id="heading-2-header-hero">2. Header Hero</h3>
<p>Your header hero acts as the first impression and the hook that draws visitors in. This section should feature a striking, high-quality image or a dynamic slider that represents your work or persona. </p>
<p>Accompany this visual with a bold, concise statement about who you are and what you do. This is your chance to make an impact, so choose words and images that resonate with your professional identity and goals.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-103.png" alt="Image" width="600" height="400" loading="lazy">
<em>Homepage displaying the header hero image on my site</em></p>
<p>My hero image has my name in large print, and informs viewers that I specialize in compter science, data science, and AI.</p>
<h3 id="heading-3-your-skills">3. Your Skills</h3>
<p>Highlighting your skills is crucial in showcasing your competencies to potential clients or employers. </p>
<p>Create a visually engaging section where you list your primary skills, perhaps using icons or progress bars for a more dynamic presentation. Focus on the skills that set you apart and are most relevant to the work you want to attract.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-109.png" alt="Image" width="600" height="400" loading="lazy">
<em>Some of my skills listed on my site</em></p>
<p>On my site, I emphasize that I've had experience managing teams, optimizing performance, and building AI-driven products, for example.</p>
<h3 id="heading-4-your-case-studies">4. Your Case Studies</h3>
<p>Case studies are powerful testimonials of your work history and success stories. Dedicate a section to showcase selected projects that highlight your problem-solving skills, creativity, and the value you’ve brought to previous engagements. </p>
<p>For each case study, provide context, your role, challenges, solutions, and results. Including impactful visuals or links to the projects can greatly enhance this section.</p>
<h3 id="heading-5-your-milestones">5. Your Milestones</h3>
<p>This section is a timeline or a list of significant achievements, awards, recognitions, or other milestones in your career. It's a narrative of your professional journey and successes. </p>
<p>Presenting this information in a chronological timeline or a visually engaging infographic can help tell your story compellingly and succinctly. </p>
<p>You can list achievements such as starting a company, graduating from a degree program, reaching a certain number of followers on social media, and so on.</p>
<h3 id="heading-6-testimonials-what-others-say-about-you">6. Testimonials (What others say about you)</h3>
<p>Testimonials from past clients, colleagues, or employers lend credibility and trust to your professional image. Select quotes that reflect your work ethic, impact, and personality. </p>
<p>Displaying these testimonials with the name, title, and, if possible, a photo of the person providing them adds authenticity and a personal touch.</p>
<h3 id="heading-7-technical-skills">7. Technical Skills</h3>
<p>In addition to your general skills, it's important to specifically highlight your technical skills. This section should detail the tools, technologies, software, and programming languages you are proficient in. </p>
<p>Using logos or icons of these technologies can make this section more visually appealing and easier to scan for visitors who are quickly trying to gauge your technical capabilities.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2024/03/image-104.png" alt="Image" width="600" height="400" loading="lazy">
<em>My "digital DNA"</em></p>
<p>For example, my "digital DNA" is made up of C++, Java, JavaScript, Python, React, and other popular technologies.</p>
<p>Beyond these, your homepage doesn't require additional content. It's vital to capture the visitor's attention quickly with compelling visuals and effective copywriting, given the short window to make an impact.</p>
<h3 id="heading-dos-for-a-captivating-homepage">Do's for a Captivating Homepage</h3>
<ul>
<li><strong>Be Concise</strong>: Ensure your message is clear and to the point.</li>
<li><strong>Use Endorsement Logos</strong>: Incorporate logos of companies you've appeared on to build trust.</li>
<li><strong>Display Technical Stack Logos</strong>: Show the technologies you're proficient in using their logos.</li>
<li><strong>Showcase a Case Study Gallery</strong>: Highlight your best work in an easily navigable gallery.</li>
<li><strong>Include a Dynamic Header</strong>: Use an engaging hero section to make a strong first impression.</li>
<li><strong>Highlight Recent Work</strong>: Give visitors a glimpse of your latest projects to show you're active and relevant.</li>
<li><strong>Use Testimonials Strategically</strong>: Place client testimonials where they'll have the most impact, showcasing your reliability and skill.</li>
</ul>
<h3 id="heading-donts-for-your-homepage">Don'ts for Your Homepage</h3>
<ul>
<li><strong>Avoid Random Placement</strong>: Structure your content logically – don't place information haphazardly.</li>
<li><strong>Steer Clear of Long Paragraphs</strong>: Keep your homepage breezy and easy to read with short, impactful statements.</li>
<li><strong>Don't Overwhelm with Content</strong>: Your homepage isn't the place to squeeze in every detail of your portfolio.</li>
<li><strong>Avoid Image Neglect</strong>: Images are crucial for visual engagement, so don't omit them.</li>
<li><strong>Resist Clutter</strong>: Keep the design clean and focused to improve user experience.</li>
<li><strong>Avoid Technical Jargon</strong>: Use language that's accessible to all visitors, not just industry insiders.</li>
<li><strong>Skip the Hard Sell</strong>: Present your skills and achievements without being overly aggressive.</li>
</ul>
<p>Effective organization of your homepage is key to creating a memorable and professional personal portfolio website. </p>
<p>By following these guidelines, you ensure that your homepage not only accurately represents your professional persona but also encourages further exploration of your portfolio, opening up new opportunities for engagement and collaboration.</p>
<h2 id="heading-how-to-keep-your-portfolio-fresh">How to Keep Your Portfolio Fresh</h2>
<p>Keeping your portfolio updated is crucial for reflecting your evolving skills, expertise, and experiences. An engaging and current portfolio not only captivates potential clients and visitors but also illustrates your dedication to your profession. Here are strategies to ensure your portfolio remains fresh and appealing:</p>
<h3 id="heading-continuously-update-with-new-work">Continuously Update with New Work</h3>
<p>Regularly add your latest and greatest projects to your portfolio. This demonstrates your active involvement in your field and your commitment to quality and innovation. It's a way to showcase your growth and adaptability over time.</p>
<h3 id="heading-revamp-your-portfolios-design">Revamp Your Portfolio's Design</h3>
<p>Periodically rejuvenating the design of your portfolio website can keep it looking modern and fresh. An updated design can better engage visitors and reflect your ability to stay in tune with the latest trends and technologies in design.</p>
<h3 id="heading-showcase-testimonials-and-recognitions">Showcase Testimonials and Recognitions</h3>
<p>Incorporate new testimonials from clients or colleagues, as well as any recent awards or honors you've received. This external validation of your work adds credibility and can significantly influence potential clients' perceptions of your expertise.</p>
<h3 id="heading-maintain-an-active-blog">Maintain an Active Blog</h3>
<p>A blog can be a dynamic component of your portfolio, offering insights into your work process, industry observations, or detailed project breakdowns. Regular posts keep your site content fresh and can help establish you as a thought leader in your field.</p>
<h3 id="heading-leverage-social-media">Leverage Social Media</h3>
<p>Use social media platforms to highlight recent projects, achievements, and updates from your portfolio. A robust social media presence can extend your reach, attract a broader audience, and keep your work in the spotlight.</p>
<h3 id="heading-incorporate-interactive-elements">Incorporate Interactive Elements</h3>
<p>Adding interactive elements, such as animations or interactive galleries, can refresh the user experience on your site. These elements can make your portfolio more memorable and engaging.</p>
<h3 id="heading-feedback-loop">Feedback Loop</h3>
<p>Invite feedback on your work and website from peers and mentors. Implementing constructive feedback can improve your portfolio's effectiveness and demonstrate your commitment to excellence and continuous improvement.</p>
<h3 id="heading-diversify-your-content">Diversify Your Content</h3>
<p>Show a range of projects and skills, including collaborative works, to display the breadth of your capabilities. This diversity can attract a wider array of clients interested in different aspects of your expertise.</p>
<h3 id="heading-stay-relevant-with-trends">Stay Relevant with Trends</h3>
<p>Keep abreast of the latest trends in your industry and incorporate them into your work and portfolio presentation. This shows that you are forward-thinking and capable of adapting to change.</p>
<p>By employing these strategies, you can ensure that your portfolio remains an accurate, engaging representation of your professional journey and capabilities. Regular updates and a proactive approach to showcasing your achievements can significantly enhance your portfolio's appeal, making it a powerful tool for attracting new opportunities and clients.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>When it comes to crafting a standout personal portfolio page, remember that simplicity and showcasing your best work are key. By following the step-by-step guide outlined in this blog, you can create a compelling portfolio that effectively highlights your skills and talents.</p>
<p>Start by organizing your projects in a clean and visually appealing layout. Use high-quality images and concise descriptions to provide visitors with a clear understanding of your work. Remember, your portfolio is a reflection of you and your brand.</p>
<p>Don't forget to include a call to action that prompts visitors to take the next step, whether it's contacting you for collaborations or viewing more of your work. Engage your audience with a clear message and encourage them to explore further. Ready to elevate your online presence? Take the first step and build that portfolio.</p>
<h3 id="heading-resources"><strong>Resources</strong></h3>
<p>Kickstart your journey in technology with our specialized program that dives into Artificial Intelligence (AI) and machine learning. This initiative is crafted to build your programming expertise, supplemented with dedicated mentorship and career guidance to pave your way in the tech industry.</p>
<h3 id="heading-propel-your-career-forward-with-this-curated-list-of-resources-focused-on-tangible-outcomes">Propel your career forward with this curated list of resources, focused on tangible outcomes:</h3>
<ul>
<li><a target="_blank" href="https://downloads.tatevaslanyan.com/six-figure-data-science-ebook">How to Enter Gen AI in 2024:</a> This guide breaks down the essentials of emerging AI technologies and prepares you for future trends.</li>
<li><a target="_blank" href="https://join.lunartech.ai/software-engineering-internship">Land Your Software Engineering Internship:</a> This resource provides step-by-step instructions for finding and landing a valuable internship in software engineering, giving you a competitive edge.</li>
<li><a target="_blank" href="https://join.lunartech.ai/machine-learning-fundamentals--3f64f">Machine Learning Fundamentals eBook:</a> Begin your exploration of machine learning with this eBook, which provides a concise overview of its core principles and techniques.</li>
</ul>
<p>For access to these resources and detailed information about our program, visit <a target="_blank" href="https://lunartech.ai/">LunarTech's</a> website. Embark on your tech career path with the right tools and support from <a target="_blank" href="https://lunartech.ai/">LunarTech</a>.</p>
<h3 id="heading-connect-with-me"><strong>Connect with Me:</strong></h3>
<ul>
<li><a target="_blank" href="https://ca.linkedin.com/in/vahe-aslanyan">Follow me on LinkedIn for a ton of Free Resources in CS, ML and AI</a></li>
<li><a target="_blank" href="https://vaheaslanyan.com/">Visit my Personal Website</a></li>
<li>Subscribe to my <a target="_blank" href="https://tatevaslanyan.substack.com/">The Data Science and AI Newsletter</a></li>
</ul>
<h3 id="heading-about-the-author"><strong>About the Author</strong></h3>
<p>I'm Vahe Aslanyan, specializing in the world of computer science, data science, and artificial intelligence. Explore my work at <a target="_blank" href="https://www.vaheaslanyan.com/">vaheaslanyan.com</a>. My expertise encompasses robust full-stack development and the strategic enhancement of AI products, with a focus on inventive problem-solving.</p>
<div class="embed-wrapper"><div class="embed-loading"><div class="loadingRow"></div><div class="loadingRow"></div></div><a class="embed-card" href="https://www.vaheaslanyan.com/">https://www.vaheaslanyan.com/</a></div>
<p>I've consistently aimed to revolutionize technical education, striving to set a new, universal standard. As we wrap up this handbook, I want to say a big thank you for spending time with it. Sharing what I've learned has made me think more about my work. I hope what we've gone through together helps you move forward in tech.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Improve Your Communication Skills as a Developer ]]>
                </title>
                <description>
                    <![CDATA[ You built an application that solves a problem most business owners face. You registered yourself at a local event to speak about your product, but no one cares. You try selling it on social media groups, but don't receive more than "Wow, that's an i... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-improve-communication-skills/</link>
                <guid isPermaLink="false">66bf4ac482aa0e323269b452</guid>
                
                    <category>
                        <![CDATA[ Career ]]>
                    </category>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ communication ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tooba Jamal ]]>
                </dc:creator>
                <pubDate>Mon, 12 Feb 2024 13:03:19 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2024/02/cover-photo.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>You built an application that solves a problem most business owners face. You registered yourself at a local event to speak about your product, but no one cares. You try selling it on social media groups, but don't receive more than "Wow, that's an interesting idea."</p>
<p>Do these sound familiar? I've been there when I worked on most of my tasks during an apprenticeship, but another member would take all the credit. Turns out, I wasn't clearly speaking about my contributions to the project and how they helped make our project a success.</p>
<p>I was trying to make my contributions count, not to sell any product or impress an employer.</p>
<p>Whether you want to land a new job or make your contributions count, effective communication goes a long way.</p>
<h2 id="heading-why-good-communication-is-important-for-developers">Why Good Communication is Important for Developers</h2>
<p>You might have seen developers who have the same level of technical skills as you being are more successful. And if you pay attention to their daily activities, you'll realize that they've mastered the art of clear communication.</p>
<p>One of the most common reasons behind unclear communication is the assumption that everyone else already knows what you know.</p>
<p>Developers often have to deliver their technical knowledge to their clients, colleagues, or bosses. And if you know the gist about speaking clearly, you'll unlock a lot of opportunities with the same level of technical skills.</p>
<h3 id="heading-interviews">Interviews</h3>
<p>My friend, just out of college, had an interview at a startup. The interview was extensive but he managed to make it. And when I asked him for the tips, he said, "Explain technical reasoning to them as if they are 10". This cannot happen without good communication skills.  </p>
<p>Today, companies also conduct behavioral interviews to gauge the non-technical skills of candidates and when you're good at speaking, you can easily nail them. </p>
<p>I have a detailed guide on <a target="_blank" href="https://www.dreamsinscript.com/cracking-the-behavioral-interview/">how to crack behavioral interviews in 3 easy steps</a> on my blog. The guide has the exact steps I took to crack every behavioral interview last year, regardless of the company culture.</p>
<h3 id="heading-networking">Networking</h3>
<p>Whether you have a large following on LinkedIn or people who praise you at local meetups, good communication skills go a long way.</p>
<p>Without knowing the art of communication, you can't have any of them because people are short on time and they can't stick around if you can't deliver value.</p>
<p>Also, having a network unlocks a lot of new opportunities.</p>
<h3 id="heading-client-communication">Client Communication</h3>
<p>While some clients also are not good at delivering their goals clearly, you can save yourself if you know how. </p>
<p>Whether it's connecting with clients emotionally, understanding requirements, or conveying your thoughts, effective communication does the job.</p>
<h3 id="heading-thought-processing">Thought Processing</h3>
<p>Knowing to speak effectively is knowing your thoughts at a deeper level. When your brain thinks, you can't speak clearly. It's in a rush to pack up every speaking session. The rush will keep you from processing your thoughts when it's time to impress others.   </p>
<p>Memorizing every sentence before a meeting and forgetting the script only does harm to your reputation. </p>
<p>When you develop communication skills, you can easily convey the ideas that come to your mind in the middle of having conversations. This builds credibility and offers you a competitive advantage.</p>
<h2 id="heading-how-to-improve-your-communication-skills">How to Improve Your Communication Skills</h2>
<p>Just like you build projects to master dev skills, communicating with humans is the key to improving your communication skills. </p>
<p>There is no shortcut to it. You can't communicate better by observing others, you have to do it yourself if you want growth.</p>
<p>I refined my speaking skills subconsciously, while I was looking for better opportunities. The impact it had on my way of expressing ideas was big enough that my mentors praised it during a cohort.</p>
<h3 id="heading-join-engaging-discord-groups">Join Engaging Discord Groups</h3>
<p>You might think that discord communities are time-demanding.  The thing is, you can chat for as little as ten minutes daily and still see a difference. One or two good communities work well if they've got a safe and active community.</p>
<p>Also, you can respond to messages throughout the day, just as you would with your friends.</p>
<p>Replying to others' wins, sharing your fears, and discussing daily errands or deadlines is a good ways to fine-tune your communication skills. Observe others' tone and try to be as clear as possible. You'll see a difference in your way of describing things in no time.</p>
<p>There is a voice and video call option too on Discord which can help enhance your speech.</p>
<h3 id="heading-github-contribution">GitHub Contribution</h3>
<p>Giving and receiving feedback without bias is one of the most important skills to learn. If you're still waiting to land your first developer job or find yourself taking feedback personally, GitHub contributions will teach you to not lose your cool every other day at work. </p>
<p>When you submit a pull request on GitHub, you're likely to receive feedback from the project maintainers. Think of that feedback as an opportunity to improve your tech skills. You'll soon realize how others' attention to detail helps you to think broadly and get better at your craft. Realizing this will help you accept feedback as a privilege to grow beyond limits.</p>
<h3 id="heading-find-a-mentor">Find a Mentor</h3>
<p>Good mentors will encourage you to speak more by asking more. I've had the privilege to find a mentor who'd ask a lot of questions regarding my project, daily life, pets, work, and so on. And that'd stimulate my thoughts and speech. He'd then tell me about his life and this cycle allowed me to notice things that I felt didn't matter. </p>
<p>Finding a mentor is easier than you think through social media. All it takes is a motivation to find like-minded people whose work you admire.</p>
<h3 id="heading-social-media">Social Media</h3>
<p>An active social media account speaks about your credibility. I found a mentor through Instagram who helped me find free resources and would ask me about my progress. </p>
<p>Start posting on social media today about your progress, your work or whatever you find valuable. Comment on other people's posts to engage with them and make new connections. Also, don't forget to send non-pushy, sweet messages to new connections telling them you like their work.</p>
<p>Social media will help you stay accountable and keep track of your progress.</p>
<h2 id="heading-how-to-improve-your-speaking-skills">How to Improve Your Speaking Skills</h2>
<p>If you're good at writing clearly but go blank when speaking, you're still behind in the game. Speaking more will refine your skills and you can start doing that even if you have no one to speak to.</p>
<h3 id="heading-the-collab-lab">The Collab Lab</h3>
<p><a target="_blank" href="https://the-collab-lab.codes/">The Collab Lab</a> is a cohort-based program focused on helping developers learn collaboration for free. </p>
<p>You'll work within a team of 4-5 software developers to build a project under the guidance of mentors. The mentors keep you on track and foster a safe communication environment.</p>
<h3 id="heading-topmate">Topmate</h3>
<p><a target="_blank" href="https://topmate.io/">Topmate</a> is a platform where professionals offer 1 on 1 sessions. From teachers sharing knowledge to therapists saving lives. </p>
<p>Over 10000 people use Topmate. The good thing is, some of them also offer free sessions and you just need to find them. The goal here is to improve your speaking skills.</p>
<h3 id="heading-linkedin">LinkedIn</h3>
<p>LinkedIn is a great place to ask people on a virtual coffee chat. They don't need to be experts as the goal is to develop stronger speaking skills. Schedule meetings to speak about work, side projects, hobbies or anything you like and witness your skills skyrocket.</p>
<h3 id="heading-discord-not-an-additional-point-but-an-extension-to-the-first-one">Discord (Not an additional point, but an extension to the first one 😉)</h3>
<p>Use the calling feature on Discord and speak to people you've already interacted with. Invite them to work on projects together or discuss anything you both find interesting.</p>
<h3 id="heading-last-words">Last Words</h3>
<p>According to K. Anders Ericsson in his book, Peak: Secrets from the New Science of Expertise, "The right sort of practice carried over a sufficient period of time leads to improvement. Nothing else."</p>
<p>Ericsson was a psychologist and the expert of experts. He presented the performance theory and said expertise is achieved outside your comfort zone.</p>
<p>So if you feel you aren't a good communicator or you don't want to speak in front of others, then you should know that only speaking can take you away from those doubts. </p>
<p>The methods I listed above helped me speak better English. However, I used to escape every English conversation at school.</p>
<p>Interested in becoming internet friends? You can hit me up on <a target="_blank" href="https://www.linkedin.com/in/tooba-jamal">LinkedIn</a> or <a target="_blank" href="https://www.instagram.com/dreamsinscript/?igshid=eDdnYmN3OWgxMDd1">Instagram</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Full Stack Engineer – Career Guide ]]>
                </title>
                <description>
                    <![CDATA[ Full-stack engineering roles have been growing in popularity over the last decade and are among the most sought-after positions in the tech job market. But what exactly are full-stack engineers? What do they do on a day-to-day basis? And how can you ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/full-stack-engineer-career-guide/</link>
                <guid isPermaLink="false">66b1e3ff41fdb67461b85267</guid>
                
                    <category>
                        <![CDATA[ Back end development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Front-end Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ full stack ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Software Engineering ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Dionysia Lemonaki ]]>
                </dc:creator>
                <pubDate>Wed, 10 May 2023 17:27:43 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2023/05/nubelson-fernandes-UcYBL5V0xWQ-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Full-stack engineering roles have been growing in popularity over the last decade and are among the most sought-after positions in the tech job market.</p>
<p>But what exactly are full-stack engineers? What do they do on a day-to-day basis? And how can you become a full-stack engineer yourself?</p>
<p>In this article, I will go over the definition of full-stack engineering and cover some of the tasks that full-stack engineers work on. I will also mention some of the skills you will need to learn to become a software engineer.</p>
<h2 id="heading-what-is-a-full-stack-engineer-definition-of-full-stack-engineering">What Is A Full Stack Engineer? Definition of Full-Stack Engineering</h2>
<p>Modern web applications consist of two layers: the front-end and the back-end.</p>
<p>The front-end, also known as the client side, consists of the content, the presentation and layout of that content, and elements of interactivity. It includes all the visible parts a user views on a screen and can interact with.</p>
<p>The back-end, also known as the server side, consists of a server running the code with the necessary logic to receive, handle, and process requests, as well as a database for storing user data securely. It includes all the behind-the-scenes processes a user is not directly aware of. </p>
<p>A stack is a collection of technologies and refers to the combination of software, tools,  programming languages, frameworks, and data storage technologies that work together to build and run web applications.</p>
<p>There are many technology stacks, and each stack uses the same programming language throughout. </p>
<p>One of the most popular stacks for the JavaScript language is the MERN stack, which stands for MongoDB, Express, React, and NodeJs. </p>
<p>MongoDB is a document database, Express is a back-end web application framework for Node.js, React is a front-end JavaScript library, and NodeJS is a back-end JavaScript runtime environment.</p>
<p>A full-stack engineer is an engineer that knows how to build a web application from start to finish, including the front-end parts, the back-end parts, and the infrastructure it lives on. They work across the entire stack and understand each part of it.</p>
<h3 id="heading-what-does-a-full-stack-engineer-do-tasks-and-responsibilities-of-full-stack-engineers">What Does A Full Stack Engineer Do? Tasks and Responsibilities of Full Stack Engineers</h3>
<p>Full-stack engineers work on a broad set of problems and typically have end-to-end ownership of projects – from conceptualization to deployment. </p>
<p>Some of the everyday responsibilities may include:</p>
<ul>
<li>Gather project requirements by communicating with clients and stakeholders to understand the vision of the software product.</li>
<li>Brainstorm and collaborate with the design team and review design prototypes before coding them into a product.</li>
<li>Solve HTML, CSS, and JavaScript issues for the client-facing side of the application and work with front-end frameworks used within the application.</li>
<li>Ensure the web application is responsive for end-users and works on most devices.</li>
<li>Follow accessibility best practices.</li>
<li>Manage and maintain databases and servers to ensure the client-side works efficiently and optimally.</li>
<li>Ensure application security, maintenance, performance, uptime, and scalability.</li>
<li>Monitor software and write tests to ensure the code is working as intended. Find and fix bugs in the code to keep the software optimized.</li>
<li>Write clean, well-designed, and efficient code that adheres to industry best practices.</li>
<li>Keep up to date with new technological advances to improve business needs.</li>
<li>Create a Minimal Viable Product to showcase to stakeholders and communicate with decision-makers.</li>
<li>Implement new features after gathering feedback.</li>
<li>Review code written by other engineers and provide constructive feedback.</li>
<li>Read and write documentation that outlines the software development process.</li>
</ul>
<p>With that said, the tasks and responsibilities will depend on the size of the company.</p>
<p>For example, a small company may have only one full-stack developer who handles the entire application. A larger company may have front-end and back-end developers to work on specific tasks within their domain and expertise.</p>
<h3 id="heading-what-is-the-average-salary-for-full-stack-engineers">What Is the Average Salary for Full Stack Engineers?</h3>
<p>Software engineers, including full-stack engineers, generally command comfortable salaries.</p>
<p>According to the <a target="_blank" href="https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm">U.S Bureau of Labor Statistics</a>, the median salary for software engineers is $109,020 per year.</p>
<p>Specifically for full-stack engineers, <a target="_blank" href="https://www.glassdoor.com/Salaries/full-stack-engineer-salary-SRCH_KO0,19.htm">Glassdoor</a> lists the average salary at around $120,300 per year.</p>
<p><a target="_blank" href="https://www.indeed.com/career/full-stack-developer/salaries">Indeed</a> lists the average salary as $120,749. And the <a target="_blank" href="https://survey.stackoverflow.co/2022/#salary-united-states">Stack Overflow developer survey</a> lists that the average salary for full-stack developers is $140,000.</p>
<p>Note that these salaries are for full-stack engineers based in the USA. The compensation will depend on your location and years of experience.</p>
<p>Google the average salary for software engineers in your location with the same experience as you to help you get a better idea.</p>
<h2 id="heading-how-to-become-a-software-engineer-skills-required-for-full-stack-engineers">How To Become A Software Engineer – Skills Required for Full Stack Engineers</h2>
<p>In the following sections, I will go over just a few of the technologies you would need to learn to become a full-stack engineer.</p>
<p>Becoming a full-stack engineer takes time, and you can't be an expert in all the tools and technologies available – it is more about having well-rounded knowledge of technology in general and knowing enough to solve problems using code.</p>
<h3 id="heading-learn-internet-and-web-fundamentals">Learn Internet and Web Fundamentals</h3>
<p>As a full-stack engineer, you will benefit from understanding how the internet works and being familiar with some web terms, such as DNS and IP addresses.</p>
<p>To learn more about DNS, IP addresses, and how the internet works, check out the following resources:</p>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-the-web-works-a-primer-for-newcomers-to-web-development-or-anyone-really-b4584e63585c/">How the Web Works: A Primer for Newcomers to Web Development (or anyone, really)</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-the-web-works-part-ii-client-server-model-the-structure-of-a-web-application-735b4b6d76e3/">How the Web Works Part II: Client-Server Model &amp; the Structure of a Web Application</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/what-is-dns/">What is DNS? Domain Name System, DNS Server, and IP Address Concepts Explained</a></li>
</ul>
<p>You will also need to know HTTP (HyperText Transfer Protocol), the foundation of the World Wide Web, as it manages the communication between clients (such as web browsers) and servers on the web.</p>
<p>Specifically, you need to know about HTTP request methods (such as GET, POST, PUT, PATCH, and DELETE) and HTTP response codes (such as 200, 404, and 500).</p>
<p>To learn more about HTTP, check out the following resources:</p>
<ul>
<li><a target="_blank" href="https://www.freecodecamp.org/news/what-is-http/">What is HTTP? Protocol Overview for Beginners</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/how-the-internet-works/">How HTTP Works and Why it's Important – Explained in Plain English</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/http-networking-protocol-course/">Master the HTTP Networking Protocol</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/http-request-methods-explained/">HTTP Request Methods – Get vs Put vs Post Explained with Code Examples</a></li>
</ul>
<h3 id="heading-learn-front-end-web-development-fundamentals">Learn Front-end Web Development Fundamentals</h3>
<p>Only three front-end web languages run in all modern web browsers: HTML, CSS, and JavaScript.</p>
<p>HTML (short for HyperText Markup Language) defines the structure and content on a web page, such as text, links, forms, images, videos, and so on. </p>
<p>To learn HTML, check out <a target="_blank" href="https://www.freecodecamp.org/news/learn-html-beginners-course/">this course</a>.</p>
<p>CSS (short for Cascading Style Sheets) styles the HTML content and makes it aesthetically pleasing – it determines the look and feel of a web page.  </p>
<p>CSS is responsible for sizing, displaying, laying out, and presenting elements on a page. CSS is also responsible for web pages being usable on all screen sizes. </p>
<p>To learn more about CSS, check out <a target="_blank" href="https://www.freecodecamp.org/news/learn-css-in-this-free-6-hour-video-course/">this course</a>, which covers Flexbox and Grid – two important CSS topics. Once you understand the basics, you could learn a CSS framework, like <a target="_blank" href="https://www.freecodecamp.org/news/learn-tailwind-css/">Tailwind CSS</a>.</p>
<p>JavaScript is a dynamic scripting programming language designed to run in the browser. </p>
<p>It is the only programming language you can use for front-end web development, making it an essential part of web development. It is used together with HTML and CSS to create interactive web pages. </p>
<p>To learn more about JavaScript, checkout out <a target="_blank" href="https://www.freecodecamp.org/news/full-javascript-course-for-beginners/">this course</a>.</p>
<h3 id="heading-learn-git-and-github">Learn Git and GitHub</h3>
<p>Git and GitHub are a core part of the development workflow and are tools used in every software development job.</p>
<p>Git is a distributed version control system that offers a way to make changes to your projects, back up those changes, keep track of them, and even go back to them if needed. It also lets you collaborate with other team members at the same time.</p>
<p>GitHub is an online hosting service that makes it easier to use Git and is a place for you and your team to upload and review code.</p>
<p>To learn more about Git and GitHub, check out <a target="_blank" href="https://www.freecodecamp.org/news/git-and-github-crash-course/">this course</a>.</p>
<h3 id="heading-learn-a-front-end-library-and-framework">Learn A Front-end Library and Framework</h3>
<p>Once you understand the core concepts of JavaScript, you can move on to learning one of JavaScript's front-end libraries and frameworks. </p>
<p>A front end library is pre-written reusable code containing various functions, methods, or objects you can use in your JavaScript project to perform tasks and implement specific functionalities. And a web framework is a tool that makes it easier and faster to create web applications. </p>
<p>According to the <a target="_blank" href="https://survey.stackoverflow.co/2022/#technology-most-popular-technologies">Stack Overflow Survey for 2022</a>, the most popular and commonly used JavaScript library to learn is ReactJS. </p>
<p>To learn more about ReactJS, check out <a target="_blank" href="https://www.freecodecamp.org/news/free-react-course-2022/">this course</a>.</p>
<p>With that said, there are other frameworks to work with and consider learning, such as <a target="_blank" href="https://www.freecodecamp.org/news/vue-3-full-course/">Vue</a>, <a target="_blank" href="https://www.freecodecamp.org/news/learn-angular-full-course/">Angular</a> and <a target="_blank" href="https://www.freecodecamp.org/news/learn-svelte-complete-course/">Svelte</a>. Each has its way of organizing and writing code, as well as its own benefits and limitations.</p>
<p>Make sure you have a solid foundation in JavaScript before learning these tools.</p>
<h3 id="heading-learn-back-end-web-development">Learn Back-end Web Development</h3>
<p>As a full-stack web developer, you need to know front-end technologies and back-end tools, so you will also need to be able to work with server-side scripting programming languages.</p>
<p>There are many to choose from, such as Python, Ruby, and Java, to name a few.</p>
<p>And although JavaScript is used widely in front-end development, in recent years, it is also used for back-end web development with the help of NodeJS.</p>
<p>NodeJS is a JavaScript runtime that provides back-end functionality and is designed to build dynamic scalable web applications.</p>
<p>First, <a target="_blank" href="https://www.freecodecamp.org/news/what-is-npm-a-node-package-manager-tutorial-for-beginners/">learn how to use NPM</a>, a Node package manager for installing and managing local dependencies for JavaScript packages. It is designed specifically for use with NodeJS.</p>
<p>To learn the basics of NodeJS, check out <a target="_blank" href="https://www.freecodecamp.org/news/nodejs-course/">this course</a>.</p>
<p>You can pair NodeJS with the ExpressJS server-side web framework to create full-stack web applications. To learn back-end development with NodeJS and ExpressJS, check out <a target="_blank" href="https://www.freecodecamp.org/news/free-8-hour-node-express-course/">this course</a>.</p>
<h3 id="heading-learn-database-management-systems-and-sql">Learn Database Management Systems and SQL</h3>
<p>As a full-stack engineer, you will be working with databases as most web applications you will be working with will have a database. A lot of your time will be spent writing database queries to fetch the data you need.</p>
<p>A database is a storage container – a place to store all the data used in your project, such as user data.</p>
<p>There are two main types of databases:</p>
<ul>
<li>SQL or <a target="_blank" href="https://www.freecodecamp.org/news/what-is-a-relational-database-rdbms-definition/">Relational databases</a>, also referred to as SQL databases, which store data in a structured, organized, tabular format. </li>
<li>Non-relational or <a target="_blank" href="https://www.freecodecamp.org/news/learn-nosql-in-3-hours/">NoSQL databases</a>, which don't store data in tables. </li>
</ul>
<p>A database has a program called a database management system (DBMS), which serves as an interface between the database, allowing users or programs to 
retrieve, update, and manage the data.</p>
<p>To learn about Relational Databases,  check out  <a target="_blank" href="https://www.freecodecamp.org/learn/relational-database/">freeCodeCamp's Relational Database Course</a>.</p>
<p>To communicate with relational databases and manipulate stored data, you query them using a query language such as SQL (short for Structured Query Language). To learn more about SQL, check out <a target="_blank" href="https://www.freecodecamp.org/news/learn-sql-in-10-minutes/">this resource</a></p>
<p>And if you want to get started with a NoSQL database management system, MongoDB is a great place to start. To get started with MongoDB, check out <a target="_blank" href="https://learn.mongodb.com/">these courses</a>.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Hopefully, you found this article helpful and have a better understanding of what full-stack engineers do.</p>
<p>In this article, we went over the definition of full-stack engineering and covered some of the tasks full-stack engineers work on. </p>
<p>We also covered some of the tools and languages you would need to know to become a full-stack engineer yourself. </p>
<p>Thank you for reading!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Computer Science VS Information Technology – What's the Difference Between CS and IT? ]]>
                </title>
                <description>
                    <![CDATA[ To the average person, computer science and information technology might just seem like different names for the same thing.  Well, computer science and information technology are related, but in the actual sense, they are two distinct fields when it ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/computer-science-vs-information-technology-whats-the-difference/</link>
                <guid isPermaLink="false">66adf08b3bf50764799b9ca1</guid>
                
                    <category>
                        <![CDATA[ beginners guide ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Computer Science ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Kolade Chris ]]>
                </dc:creator>
                <pubDate>Wed, 26 Oct 2022 16:24:40 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/10/science-ge752bcd42_1280.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>To the average person, computer science and information technology might just seem like different names for the same thing. </p>
<p>Well, computer science and information technology are related, but in the actual sense, they are two distinct fields when it comes to studying and choosing a career path. </p>
<p>In this article, you’ll learn about the difference between computer science and IT. By the end of the article, you’ll also get pointers on choosing a career path between computer science and information technology.</p>
<p><strong>NB</strong>: This article is not a black-and-white comparison of computer science and information technology. If you specialize in certain aspects of either field, you're likely living fine and are earning good money. You can choose a career in either a computer science field or IT and do well.</p>
<h2 id="heading-table-of-contents">Table of Contents</h2>
<ul>
<li><a class="post-section-overview" href="#heading-what-is-computer-science">What is Computer Science?</a></li>
<li><a class="post-section-overview" href="#heading-what-is-information-technology">What is Information Technology?</a></li>
<li><a class="post-section-overview" href="#heading-what-is-the-difference-between-computer-science-and-information-technology">What is the Difference between Computer Science and Information Technology?</a></li>
<li><a class="post-section-overview" href="#heading-conclusion">Conclusion</a></li>
<li><a class="post-section-overview" href="#furtherreading">Further Reading</a></li>
</ul>
<h2 id="heading-what-is-computer-science">What is Computer Science?</h2>
<p>Computer Science is the study of computers and everything related to them with the end goal of processing information. The things related to computers that you might study in a computer science degree program or bootcamp include:</p>
<ul>
<li><p>hardware and software components</p>
</li>
<li><p>algorithms and data structures </p>
</li>
<li><p>artificial intelligence</p>
</li>
<li><p>network design</p>
</li>
</ul>
<p>and many more.</p>
<p>Computer science is one of the following five interrelated fields of study. The other four are: </p>
<ul>
<li><p><strong>Computer Engineering</strong>: the practice that combines computer science and electrical engineering for the purpose of creating hardware, software, and network-related solutions</p>
</li>
<li><p><strong>Information Systems</strong>: the study that deals with the usage of computer hardware, software, and networks for collecting data and processing them into information.</p>
</li>
<li><p><strong>Information Technology</strong>: the study of managing and delivering information with computer systems</p>
</li>
<li><p><strong>Software Engineering</strong>: the design, development, testing, and maintenance of software in the form of applications, web applications, or mobile applications. A software engineer can also specialize as a backend, frontend, or fullstack engineer. We'll take a look at those 3 specializations soon in this article.</p>
</li>
</ul>
<p>Career paths you can follow in Computer Science include but are not limited to:</p>
<ul>
<li><p><strong>Backend Engineering</strong>: the development of microservices and APIs with relevant programming languages such as PHP, Python, C++, Java, NodeJS (JavaScript), and a lot more.</p>
</li>
<li><p><strong>Frontend Engineering</strong>: the development of user interfaces (UIs) with markup languages, CSS, JavaScript, and any other language that can compile to HTML/JavaScript.</p>
</li>
<li><p><strong>Fullstack Engineering</strong>: Fullstack engineering combines frontend and backend engineering with computer science principles to implement web and other related solutions.</p>
</li>
<li><p><strong>Data Science</strong>: the gathering and analysis of data with the purpose of getting actionable information that can lead to data-driven solutions.</p>
</li>
<li><p><strong>Artificial Intelligence Engineering</strong>: the study of developing, testing, and maintaining computer systems that can perform the same activities humans perform.</p>
</li>
<li><p><strong>System Analysis</strong>: deals with the analysis of a system within a business to find the goals and problems they face, so a viable solution that can solve the problems can be implemented. </p>
</li>
<li><p><strong>Database Administration</strong>: the management and maintenance of database management systems (DBMS) such as PostgreSQL, MySQL, Apache Cassandra, MongoDB, and lots more.</p>
</li>
</ul>
<h2 id="heading-what-is-information-technology">What is Information Technology?</h2>
<p>Information technology (IT) is the management of computers and information systems. Information technology encompasses both the hardware and software components of computer systems. </p>
<p>The aim of information technology is to coordinate and assemble existing computer systems to solve a problem. </p>
<p>IT professionals are also responsible for troubleshooting any issues with computer systems – making sure they are well managed and function as expected. </p>
<p>The career paths you can explore in the IT world include but not limited to:</p>
<ul>
<li><p><strong>Business Intelligence Analysis</strong>: the analysis of data and processing them into viable information that can help a business make better decisions.</p>
</li>
<li><p><strong>Customer Support Technician</strong> the personnel who deliver actionable technical support to the customers of a company. </p>
</li>
<li><p><strong>Cybersecurity</strong>: the practice of protecting computer hardware, software, and network-related components from cyber crimes and attacks.</p>
</li>
<li><p><strong>Cloud Computing</strong>: the delivery of computer services (mostly storage) over the "cloud" instead of using local servers or personal computers.</p>
</li>
<li><p><strong>Augmented Reality (AR)</strong>: the distribution of sensory information such as visuals, sounds, and other perceptions through glasses or smartphones.</p>
</li>
<li><p><strong>Virtual Reality (VR)</strong>: the design and implementation of computer-generated environments that appear to be real.</p>
</li>
</ul>
<h2 id="heading-what-is-the-difference-between-computer-science-and-information-technology">What is the Difference between Computer Science and Information Technology?</h2>
<p>Computer science and information technology are related, as you can now see. But there are still some differences between them, which we'll explore now.</p>
<p>The main difference between computer science and information technology is this: computer science professionals are responsible for developing and improving computer systems when it comes to hardware and software. </p>
<p>On the other hand, information technology (IT) professionals are responsible for maintaining those hardware and software components and applying them to the exact day-to-day life they are meant for, or the problems they are developed to solve.</p>
<p>For example, in a company that has a full-fledged IT department, <strong>the software engineers</strong> (remember software engineering was listed as a career path in computer science) can develop a software program hosted on the internet. </p>
<p>In that same company, <strong>cybersecurity professionals</strong> (cybersecurity is a career path under information technology) would be the ones to make sure the <strong>software</strong> is protected against hacking and other cyber-related crimes. </p>
<p>The same cybersecurity professionals would also play a major role in recovering the software if attackers temporarily bring it down. </p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>This article showed you what distinguishes computer science from information technology. You also got to see the career paths open to you in each field.</p>
<p>If you are still a little confused about the difference between computer science and information technology, consider this analogy: </p>
<p>Computer science professionals are like the farmers that plant crops and maintain them till they are harvested. </p>
<p>On the other hand, information technology (IT) professionals are like storekeepers that make sure the harvested crops are well preserved in storage facilities such as silos, barns, pits, cribs, and so on.</p>
<p>Thank you for reading.</p>
<h3 id="heading-further-resources">Further Resources</h3>
<ul>
<li>If you want to learn about Computer Science in depth, you can check out Harvard's CS50 Intro to Computer Science course <a target="_blank" href="https://www.freecodecamp.org/news/harvard-cs50/">on freeCodeCamp's YouTube channel</a>.</li>
<li>If you want to read more about what Information Technology is, <a target="_blank" href="https://www.comptia.org/content/articles/what-is-information-technology">here's a helpful overview</a>.</li>
<li>And if you want to learn more about IT infrastructure, <a target="_blank" href="https://www.freecodecamp.org/news/what-is-it-infrastructure/">here's a helpful freeCodeCamp article for you</a>.</li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What Does a Software Developer Do? Software Engineer Career Overview ]]>
                </title>
                <description>
                    <![CDATA[ If you're studying to become a professional software developer, you might be wondering what a software developer does everyday on the job. In this article, I will talk about the typical day of a software developer and what to expect on the job.  Main... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-does-a-software-developer-do-software-engineer-career-overview/</link>
                <guid isPermaLink="false">66b8da638cd1c2aa053d49bf</guid>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jessica Wilkins ]]>
                </dc:creator>
                <pubDate>Mon, 15 Aug 2022 14:11:52 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/08/desola-lanre-ologun-IgUR1iX0mqM-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're studying to become a professional software developer, you might be wondering what a software developer does everyday on the job.</p>
<p>In this article, I will talk about the typical day of a software developer and what to expect on the job. </p>
<h2 id="heading-main-responsibilities-of-a-software-developer">Main Responsibilities of a Software Developer</h2>
<p>As a software developer, your main responsibilities will include fixing bugs in the codebase, building out new features, writing tests for the applications, writing documentation, performing code reviews, and participating in team discussion meetings. </p>
<p>Very experienced developers, like software architects, will be responsible for the higher level technical and architectural decisions for the software applications. </p>
<p>Let's take a look at each of these responsibilities in greater detail. </p>
<h3 id="heading-debugging-codebases-and-fixing-bugs">Debugging Codebases and Fixing Bugs</h3>
<p>When you first start out as a software developer, one of your main responsibilities will be to work on small bug fixes and debugging small errors in the codebase.</p>
<p>There will be a list of tickets (issues) that will break up the work into manageable pieces, and some of them will include bugs in the application.</p>
<p>You will pick up some of the small ticket items which will help you learn the codebase. It is standard as a junior developer to spend the first couple of months ramping up with a codebase and with the new job in general.</p>
<p>Just make sure to ask plenty of questions and try to pair program with other developers on the team. Working with other developers will help you learn new techniques and grow faster. </p>
<p>I have learned a lot from my coworkers, and most of the time a fresh pair of eyes have helped me see the problem in a different way. </p>
<h3 id="heading-building-new-features">Building New Features</h3>
<p>As you start to become more comfortable with the job and gain more experience, you will start to be given more responsibility with the codebase. This is where building out new features comes in. </p>
<p>Features are essential components of the software product. This type of work will take longer than small bug fixes and give you an opportunity to contribute more to the project. </p>
<p>This will also provide you with the opportunity to work on more complex problems and grow more as a developer. The first feature I worked on was to implement a light/dark theme for the company website.</p>
<p>I spent time thinking about the best approach on how to implement this feature for our existing codebase. Then I went about implementing my solution and testing out the website. </p>
<p>The final phase was to go through code reviews and update the website documentation to include the new feature.  </p>
<p>The whole experience taught me how to build out solutions that were maintainable and scalable that would work well with the existing codebase. </p>
<h3 id="heading-writing-tests-for-the-applications">Writing Tests for the Applications</h3>
<p>One important element of software applications is ensure that they work they way they are supposed to work. This is where testing comes in.</p>
<p>Software developers are responsible for writing different types of tests like unit tests, integrated tests, functional tests and more.  They might also engage in manual testing which includes the developer going through the application with a set of test cases and ensuring it is working the way it is supposed to. </p>
<p>One of my first experiences with testing came in the form of smoke testing and writing manual test guides for a couple of our apps. Smoke testing is where the developer will go through the application and ensure that basic functionality is intact. </p>
<p>Writing test guides involves the developer going through all of the features of the application and creating test cases. These test cases involve writing down the exact steps a user should go through and the expected outcome. </p>
<p>The first time I had to write a manual test guide, I didn't realize how specific I needed to be in writing out each step. But once I wrote a few test cases, the process started to make more sense and it became easier to write these manual test cases.</p>
<p>If you are interested to learn more about testing, then I suggest you read <a target="_blank" href="https://www.freecodecamp.org/news/types-of-software-testing/">this helpful freeCodeCamp article</a>. </p>
<h3 id="heading-writing-documentation">Writing Documentation</h3>
<p>Documentation is an important part of any software application. It is important to document the main features of the application as well as all of the steps required to run it locally for developers. </p>
<p>Whenever you join a new project, and you notice anything confusing or missing about the documentation, make sure to bring it up with the team. That would be a good opportunity to update the documentation. </p>
<p>Sometimes when you are working on a project and the team is busy with meeting deadlines, documentation can sometime fall behind. When things calm down a bit, make sure to revisit the documentation and make sure it is up to date and accurate. </p>
<h3 id="heading-performing-code-reviews">Performing Code Reviews</h3>
<p>Building software is a team activity, and it important that everyone on the team has their code reviewed by their peers. When you have made changes to the codebase you will create what is called a pull request. </p>
<p>That pull request represents the changes you want to add to the codebase. You will then request a review from team members and they will look over your code and provide feedback.</p>
<p>It is important to view the feedback as constructive, because your team is just trying to help catch issues and make suggestions on how to optimize your solution.</p>
<p>It is also important to provide constructive feedback and ensure that everything in the pull request fixes the issue or meets the requirements of the new feature.   </p>
<p>To learn more about the code review process, please read through <a target="_blank" href="https://www.freecodecamp.org/news/proven-code-review-best-practices/">this helpful freeCodeCamp article</a>. </p>
<h3 id="heading-participating-in-team-discussion-meetings">Participating in Team Discussion Meetings</h3>
<p>There are a lot of moving components that go into building software products. It is important that the entire team is on the same page during the entire application process. </p>
<p>The goal of these meetings is for each team member to share status updates with the team and share any blockers that are preventing them from moving forward on the project. If you are newer to software development, it can be intimidating to participate in meetings. </p>
<p>You might also feel overwhelmed with some of the discussion and all of the new terminology being used in the meeting. Just try to ask questions and remember that it takes a while to understand all of the ins and outs for the software process. </p>
<p>My natural inclination is to be more reserved in meetings, but I have made more of an effort to speak up and ask questions on what I don't understand. Sometimes you will learn that other people had the same question and were glad that you asked that question. </p>
<p>Try your best to actively participate in meetings and share your input on the project and ask questions on what you need help with. </p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>As you can see, there are a lot of components to building out software products. Your days won't be spent writing code 8 hours straight. </p>
<p>Instead, your days will be filled with meetings, pair programing sessions, debugging code, reading documentation, writing documentation, and testing software. </p>
<p>I hope you enjoyed this article and have a better understanding what it is like to be a software developer. Best of luck on your software journey. </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ In-Demand Tech Skills for 2022 –Lessons Learned from Candidate Data from 191 Countries ]]>
                </title>
                <description>
                    <![CDATA[ By Jakub Kubrynski A popular Chinese proverb says: “The best time to plant a tree was 20 years ago. The second best time is now.”  The same applies to acquiring new tech skills. No matter if you’re a junior developer or a seasoned software engineer, ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/in-demand-tech-skills-devskiller-report/</link>
                <guid isPermaLink="false">66d45f31246e57ac83a2c771</guid>
                
                    <category>
                        <![CDATA[ Career Change ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Hunting ]]>
                    </category>
                
                    <category>
                        <![CDATA[ jobs ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Thu, 09 Jun 2022 19:47:31 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/06/image_processing20220203-2863084-peyey.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Jakub Kubrynski</p>
<p>A popular Chinese proverb says: “The best time to plant a tree was 20 years ago. The second best time is now.” </p>
<p>The same applies to acquiring new tech skills. No matter if you’re a junior developer or a seasoned software engineer, there is always something you can work on and improve.</p>
<p>But how do you choose this “something” that might help you advance your career in the IT industry? With plenty of online courses and new IT skill sets demanded by employers, you can easily get dizzy.</p>
<p>Don't worry – DevSkiller is coming to the rescue with data-backed insights based on the findings from the <a target="_blank" href="https://go.devskiller.com/it-skills-2022-freecodecamp">2022 edition of our Top IT Skills Report</a>. We’ve arrived at these insights by analyzing thousands of coding tests sent to candidates from 191 countries through our TalentScore tech screening solution by companies recruiting for IT-related positions.</p>
<p>Based on our proprietary data, we’ve compiled a set of useful tips on what to learn. This is based on what job you hope to get in the future.</p>
<p>Choose wisely and remember that the IT industry is waiting not only for seasoned developers but also for greenhorns. As the data from the DevSkiller platform show, around 40% of technical test invitations are for junior developer roles.</p>
<h2 id="heading-if-you-want-to-grow-together-with-the-market">If you want to grow together with the market</h2>
<p>You've likely heard that “data is the new oil”. But only a handful of the big tech companies have figured out how to extract this "oil" and process it in order to be able to fuel their businesses. </p>
<p>This has brought about the accelerating demand on the job market for data-related roles like data scientists, data analysts, or data engineers. </p>
<p>If the thought of organizing random numbers in a set of structured tables or charts positively tickles your mind, a data-related role might be the right fit for you.</p>
<p>Just keep in mind that the market of data-related positions is not as structured as the dashboards you might be expected to create. As the market develops and gets more mature, you might be expected to learn new skills which we can’t even imagine right now. </p>
<p>Having said that, the reward for this flexibility and eagerness to learn may be huge. </p>
<p>According to the insights from the latest edition of the DevSkiller report, data science tops the ranking of in-demand IT skills of the future. The popularity of recruitment tasks from this area grew in 2021 by 295% on a yearly basis.</p>
<p><img src="https://lh3.googleusercontent.com/MxzOQZg3cN_y9QHHXOXMQSIU2eslvUSyhMncdESDYByw_WLaYnU3I4rx7FYEcDvvjTnPvmXPfbhkErW8hRXk4wDd31_gUj_A2K_v6xnd4tZh3mVRzGRdJxxDhwGgMT6N2Bof183XMFVxueeSuw" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-if-you-want-to-enter-the-it-job-market-asap">If you want to enter the IT job market ASAP</h2>
<p>Another big thing as far as in-demand IT skills of the future go is Python. But this demand isn't the only advantage when it comes to your choice of programming language to learn. </p>
<p>The data we compiled for our Top IT Skills Report show that Python – with a 54% ratio of test invites for junior roles – was the most sought-after technology among developers beginning their careers in the IT industry.</p>
<p>Given the fact that Python is relatively easy to learn in comparison to other programming languages, it might be a perfect choice to speed up your entrance to the IT job market. Just remember that the fastest way is not always the most satisfying one.</p>
<p><img src="https://lh5.googleusercontent.com/D78kYpR1xUFZOrg0OdW-d6kis0UYjZzV6R1qI6u_8qvOW2CHei9AWQ0NBU3Diny0lcQmyCTCZ_J5AsYSVlFeo7zavBmfuLfzHRS2gTx-PpohtwwVsBF4AYKhWjOb8YHkSmkYT_0ngExl4tneGQ" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-if-you-want-to-work-in-a-big-company">If you want to work in a big company</h2>
<p>Trying to find your place on the job market may be compared to driving a car. Some people like to drive fast and reach their destination quickly, but others prefer to move forward slowly but securely. </p>
<p>If you’re in the latter group, you should consider learning one of the most mature and popular programming languages like Java or SQL. This can help you land a job in one of the large corporations. This may be not as exciting as working for a cool ever-pivoting startup, but it'll provide you with a certain level of stability and security you might find appealing.</p>
<p>As the data compiled from the <a target="_blank" href="https://devskiller.com/talentscore/">DevSkiller TalentScore</a> show us, both Java and SQL are in the top of the ranking of IT skills sought after by hiring companies. Each of those languages was seen in 19% of coding test invites sent by tech recruiters via our platform.</p>
<p><img src="https://lh5.googleusercontent.com/90WZ7oiNvVALyzh32lv6GDcm9PKpZrvzhVFXtgXdT7SnzbByKeJmjZWbmU61RB3Zty1DAqnMofGAsdj4woygT6vZiuOFZqNIFi9bCd7VTgxeJ6Je8dcM-GKAeOz3fx-fCgNRMDiitU34JStnQg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>It's worth mentioning that there seems to be a shortage of those skills on the market. From the insights in our report, Java and SQL developers wait the longest to complete their coding tests in comparison to specialists with other tech skills.</p>
<p>One of the reasons behind this trend is that the recruitment pool is shallow and companies are competing for the same limited set of candidates.</p>
<p>In 2021, the average time to submit a Java coding test by a recruited candidate amounted to 4 days and 11 hours while in the case of SQL it was 3 days and 6 hours. The industry average for all languages in 2021 was 2 days and 16 hours.</p>
<p><img src="https://lh6.googleusercontent.com/PbXG_DIjtEIajlpioeo5JBnj93CaPjzq9kTe3OoadVGUNssaNeqLf4zh11uLE8zn9rnRQoh27igqFXGd8svl6tZ6hgbxUDG7SJNXcYZOMS55aFqC7QsFlMqVSgzV6Kx5OZVVe5MEhoBj9Yg2iQ" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-if-you-want-to-unleash-your-creativity">If you want to unleash your creativity</h2>
<p>Do you consider yourself to be a creative person who cares not only about how things work but also how they look? If that’s the case, you should consider pursuing a career as a front-end developer. </p>
<p>Maybe you won’t enjoy as much artistic freedom as a graphic designer, but rest assured that if you supplement your bias towards aesthetics with the practical coding skills, you’ll find a job you enjoy.</p>
<p>If that sounds appealing to you, remember that the front-end development is not just about HTML or any single language anymore. You’ll probably need to be able to surf across at least a couple of technologies during any given project. </p>
<p>Through the findings from our report, the 5 most commonly paired IT skills tested by recruiting companies nowadays are JavaScript and HTML, JavaScript and TypeScript, JavaScript and CSS, JavaScript and Angular, and CSS and HTML.</p>
<p><img src="https://lh6.googleusercontent.com/TqfBkys1ZT5NsTqNrM3O_gGLbtqGD6o32Towlclu_fUzL9IEl6fnn4HJtowpdXkZoI2PyBJgDRZdFtn3kENALYpOzLInddRxIsZ9oiVp96Ub4HOfK7v3MDfn2keK0Ofze79CpN4cgE_b-Zjpxg" alt="Image" width="600" height="400" loading="lazy"></p>
<h2 id="heading-if-you-dont-want-to-code-or-only-a-little-bit">If you don’t want to code (or only a little bit)</h2>
<p>Given the rising popularity of low-code/no-code platforms and tools, you no longer have to become a full blown software engineer in order to land a job in the IT.</p>
<p>Sure, in this industry, you will always be expected to possess a certain level of computer literacy and understand the key concepts of software development. But you no longer have to actually code in order to be an attractive candidate for employers.</p>
<p>The rising popularity of low-code/no-code is reflected in the dynamic growth of the number of tests checking the skills related to Salesforce available on DevSkiller TalentScore. Since 2020, it has grown by a whooping 1300% in response to the needs of our customers, that is hiring companies. </p>
<p>And keep in mind that Salesforce is just one of plenty low-code/no-code platforms used by your potential employers.</p>
<h2 id="heading-if-you-want-to-help-others-enter-the-it-industry">If you want to help others enter the IT industry</h2>
<p>Last but not least, maybe after careful consideration of your skills and preferences, you’ll decide that you’re more of a people person, and solving technical problems on a daily basis is not for you. Or you might be burned out in your current role and would like to try something new. </p>
<p>Don’t worry, the IT industry is not only about 0s and 1s and there are a number of options available for you to land your dream job that don’t require learning coding skills.</p>
<p>One of them is related to helping others find a well-suited job – that is, becoming a tech recruiter. </p>
<p>If this sounds like a good fit, you can start developing in this direction by acquiring the industry-recognized <a target="_blank" href="https://devskiller.com/devskiller-tech-recruitment-certification-course/">DevSkiller Tech Recruitment Certification</a>. Even though it may not look very difficult at first glance, our data show that only 61% of users pass our certification exam in the first attempt.</p>
<h2 id="heading-the-digital-skills-gap-is-working-to-your-advantage">The digital skills gap is working to your advantage</h2>
<p>As software has been eating the world for quite some time now, the IT industry has become one of the main drivers of job opportunity growth in the global economy.</p>
<p>In the European Union alone the gap between the supply and demand of IT specialist has been estimated at <a target="_blank" href="http://ec.europa.eu/newsroom/document.cfm?doc_id=45188">a minimum of 500,000 vacancies</a>. And this doesn't include all of the IT-related roles like tech recruiters and other positions that require at least some level of digital skills.</p>
<p>So if you're hesitant whether your upskilling or reskilling efforts will pay you off, the answer is: yes. The probability that you'll get a raise or move to a better paid job is close to 100%. The worst-case scenario? You'll simply find joy in learning something new.</p>
<p>Coding is fun, after all.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Should I Be A Developer? How to Pick a Career as a Programmer ]]>
                </title>
                <description>
                    <![CDATA[ Few things are as important as picking your career path. And consequently, fewer decisions are harder to make. It is, after all, hard to know whether or not you’ll like something that you’ve never done. If you choose a career path based on the wrong ... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/should-i-be-a-developer-programmer/</link>
                <guid isPermaLink="false">66d4601755db48792eed3f75</guid>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career Change ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Luke Ciciliano ]]>
                </dc:creator>
                <pubDate>Mon, 16 May 2022 15:03:48 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/05/career-choices-1.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Few things are as important as picking your career path. And consequently, fewer decisions are harder to make.</p>
<p>It is, after all, hard to know whether or not you’ll like something that you’ve never done.</p>
<p>If you choose a career path based on the wrong reasons, you might end up unhappy in your job which can negatively affect your quality of life. You also might not be making as much money as you wanted and end up credentialed for a job which you're simply not good at.</p>
<p>Fortunately, there are some methods you can use to help you decide what a good career path is for you. Picking the right path can help you to look like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/pexels-christina-morillo-1181371.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>While those who get stuck in the wrong career wind up looking like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/unhappy-developer.jpeg" alt="Photo of software developer screaming at her computer" width="600" height="400" loading="lazy"></p>
<p>In this article, I’m going to talk about whether a career path as a developer might be the right one for you. (Hint: if you want to do it, you can. And here I'll share how.)</p>
<p>I’m writing this article with substantial input from Marc Gray, who is the founder of <a target="_blank" href="https://odysseycollegeprep.com/">Odyssey College Prep</a>.</p>
<p>Among other things, Marc has extensive experience in administering aptitude tests and assisting young people with choosing career paths. He provided a lot of great insight for this article which goes beyond your typical “pick a career” type writings.</p>
<p>The goal of this article is to give you a framework which can help you decide whether or not they want to become a software developer. My goal is also to help you pick an area of focus if you decide that development is for you.</p>
<p>Finally, I'll provide some general advice on how to avoid some of the big mistakes people tend to make in developer job interviews. If you’re like I am, and prefer written information to video format, then read on. Or, if you prefer watching your tutorials, Marc and I address these topics in this video:</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/JOQbJjbHHPc" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<p> </p>
<p>I’m going to be diving into quite a few topics. To jump to a particular section, simply click “jump to section” in the table of contents below. So…shall we?</p>
<h2 id="heading-table-of-contents">Table Of Contents</h2>
<ol>
<li><p>Is programming a good fit for you? (<a class="post-section-overview" href="#quest1">jump to section</a>)</p>
<ol>
<li><p>Why it is important to enjoy your job. (<a class="post-section-overview" href="#quest2">jump to section</a>)</p>
</li>
<li><p>Will you like being a programmer? (<a class="post-section-overview" href="#quest3">jump to section</a>)</p>
</li>
<li><p>Do you have the ability to become a developer? (<a class="post-section-overview" href="#quest4">jump to section</a>)</p>
</li>
</ol>
</li>
<li><p>Current programmer job openings &amp; salaries (<a class="post-section-overview" href="#quest5">jump to section</a>)</p>
</li>
<li><p>How to find a job as a software developer. (<a class="post-section-overview" href="#quest6">jump to section</a>)</p>
<ol>
<li><p>How to stand out in an interview. (<a class="post-section-overview" href="#quest7">jump to section</a>)</p>
</li>
<li><p>Common interviewing mistakes to avoid (<a class="post-section-overview" href="#quest8">jump to section</a>)</p>
</li>
</ol>
</li>
</ol>
<h2 id="heading-is-programming-a-good-fit-for-you">Is programming a good fit for you?</h2>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p>The preliminary question in deciding whether you should become a programmer is whether or not you will be happy doing it.</p>
<p>While this may sound like a “duh” statement, I’ve come to appreciate how many people dive into a career path without ever considering whether it fits them as a human.</p>
<p>Choosing a career that is not a good fit for your personality is a good way to increase the odds that you go on to be miserable.</p>
<p>The following part of this article will address the importance of actually liking your job in general, how to tell if you might enjoy being a developer, and whether or not development is something you can actually be good at.</p>
<p>Let’s look at each of these in turn.</p>
<h3 id="heading-individuals-choosing-a-career-path-must-understand-the-importance-of-liking-their-job">Individuals choosing a career path must understand the importance of liking their job</h3>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p>When deciding whether you want to become a developer, the first step is to determine whether it is a field that you will like and which will interest you.</p>
<p>Being genuinely interested in the field should take precedence over considerations of money or prestige. This is because, while it’s easy to say “of course people should like their job” and it seems obvious, the fact of the matter is that most people work in careers they don’t enjoy.</p>
<p>Hating your job stems from:</p>
<ul>
<li><p>not putting a lot of time or research into making career choices, and</p>
</li>
<li><p>jumping into a career simply because an opportunity popped up and not due to thinking about whether the new field was actually a good fit.</p>
</li>
</ul>
<p>This results in quite a few problems. These include a lack of success at work, higher levels of unhappiness when you're not at work, personal relationship problems, and more.</p>
<p>Let’s quickly look at why being at least interested in your job <em>does matter</em> and the impact of doing something you don’t enjoy.</p>
<p>Many will say that they “don’t let their job define them” or some similar rhetorical statement in an effort to claim that disliking their job isn't a “big deal.”</p>
<p>Whenever someone tries to tell me that being excited about their career choice isn’t important, I tend not to believe them.</p>
<p>Why do I say this? Well…here are a few reasons, off the top of my head. First, if your work isn’t “important to you” then why do you spend as much, if not more, time at work than you do with your family, sleeping, or engaging with your hobbies?</p>
<p>Given the amount of time you spend at work, it’s clearly a big priority in your life. If you think that what you do for a living doesn’t matter to your personal happiness, then you’re likely not being honest with yourself.</p>
<p>It’s also important to remember that you’re very unlikely to be successful in a career you choose if you’re not happy in the field.</p>
<p><a target="_blank" href="https://www.businessinsider.com/happiness-doesnt-follow-success-its-the-other-way-2019-5">According to Business Insider</a>, people who are happy in their job are absent less often and they tend to earn higher salaries. The reasons behind this aren’t rocket science. If you're happy with what you do, and you're interested in the work, then you are willing to put more effort into it. This increased effort equates to greater success.</p>
<p>By contrast, if you see your daily tasks as drudgery, then you're going to do the bare minimum and do everything you can to get out of doing any extra work. Because of this, being unhappy with your career choice will, therefore, lead to you failing at work.</p>
<p>Liking your field also likely leads to a happier home life. The realistic chances that someone can be miserable in their workplace all day, and come home in a happy mood are essentially zero. This leads to problems with your significant other, children, and so on.</p>
<p>Hating your job can also lead to higher rates of alcoholism, substance abuse, and poor mental health. Add to this the fact that you’ll be more likely to struggle financially, and the importance of liking what you do should become clear.</p>
<p>Fortunately, as Marc stated while assisting with this article, “interests are like fuel.” If you can find a field which you find interesting and engaging, then you flip the whole paradigm. You become more likely to put in the extra effort, to excel, to make more money, and this has a positive spillover effect in your life.</p>
<p>This is not to say that you can pick a career that is nothing but fun with no stress. Such jobs don’t exist. There are plenty of things about my career as a front-end developer which I find annoying. The aspects which interest me and keep me engaged, however, far outweigh the downsides.</p>
<p>When deciding whether you should be a programmer or enter some other field related to software development, it is important to understand that the first step in your decision making is to decide whether you will even like the field.</p>
<h3 id="heading-how-to-decide-if-you-will-enjoy-being-a-programmer-or-software-developer">How to decide if you will enjoy being a programmer or software developer</h3>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/career-compass.jpeg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Are there areas in an industry field that your personality and interests align with? Answering that question is the key to determining whether you will enjoy being a programmer or software developer.</p>
<p>This is an important part of the career choice process which many people miss. Too often people choose a career path because of perceived high salaries, perceived social status, or simply because they think the job “looks cool.” They don’t stop to think about whether the job actually entails activities which they will genuinely enjoy.</p>
<p>Fortunately, there are ways to figure out whether being a developer, in general, is a good fit for you, and to determine which particular niche in the dev world might align with your interests. Let’s dive into this.</p>
<p>The <strong>first step</strong> in deciding whether development is for you is to take stock of your interests. In other words, list activities you find enjoyable.</p>
<p>By making a list of the activities you enjoy, you develop a starting point for choosing the right career.</p>
<p>You’ll then want to identify the professional equivalents of those interests.</p>
<p>For example, I greatly enjoy analytical problem solving and the process of putting things together. I also enjoy analyzing situations in finance, in which one input may impact a given output. It’s also easy for me to spend hours playing puzzle based games. This is why my niche of providing front-end development services to small businesses is greatly appealing to me.</p>
<p>Whatever it is that <em>you</em> find enjoyable, there is a good chance that it translates into some sort of professional equivalent. So, when picking a career, the first thing to do is to identify the types of activities which you enjoy.</p>
<p>The <strong>second step</strong> in deciding whether to become a programmer is to determine what these aforementioned “professional equivalents” of activities you enjoy actually are.</p>
<p>This allows you to enter freeCodeCamp, or some other curriculum, with an idea of where you are headed and what type of job you will eventually want to apply for.</p>
<p>When deciding which fields may fit your personality and interests, here are some things to consider:</p>
<h4 id="heading-if-you-are-considering-front-end-development">If you are considering "front end" development:</h4>
<p>Think of a “front end developer” as someone who works with the public facing part of a website or an application. They build/maintain the components which individuals interact with.</p>
<p>You may do well in this type of environment if you have a high “visual memory.” This means that you tend to have a strong memory for what things look like. You also tend to care quite a bit about visual appearances.</p>
<p>You might be well-suited for this work if you're able to consider how components interrelate to each other. For example, you would have an ability to consider how the placement of a button on a website impacts the likelihood of the button actually being clicked on by the end user.</p>
<p>While by no means an exhaustive list, these are just a few examples of traits typical in those best suited for front end work.</p>
<h4 id="heading-if-you-are-considering-back-end-work">If you are considering “back end” work:</h4>
<p>A “back end developer” is someone who develops the application which runs on the front end. So, for example, if you have built a website which helps someone find homes which are available for rent, the back end developer builds out the necessary databases, search functions, and so on.</p>
<p>You'll likely be best suited for this type of work if you have a desire to deal with concrete facts. To put it another way, if you often like to take inputs and create something useful out of it, back end work might be a great fit.</p>
<p>Another common trait among back end devs is that they tend to be able to remember numerical sequences and aren’t intimidated by large bodies of text.</p>
<p>There are many other tracks in software development other than the first two I just listed. Other options can include:</p>
<ul>
<li><p>Full-stack developer</p>
</li>
<li><p>Information Systems Management</p>
</li>
<li><p>Data analyst/data science</p>
</li>
<li><p>Quality assurance</p>
</li>
</ul>
<p>To get a better understanding of a field which may interest you, I suggest taking a look at the <a target="_blank" href="https://www.freecodecamp.org/learn">freeCodeCamp curriculum</a> and researching the type of traits typical to someone working in a given field.</p>
<p>The big takeaway from this section of the article should be that you can look at your personal traits and find fields in software development which align with those traits.</p>
<h3 id="heading-do-you-have-the-skills-or-abilities-to-become-a-programmer">Do you have the skills or abilities to become a programmer?</h3>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p>There is one big question which many people may have even after they’ve determined that a) they want a career which they will actually enjoy and b) they’ve decided that being a developer aligns with their personal interests.</p>
<p>Here it is:</p>
<p>Do you have the capacity to become a developer?</p>
<p>Many people don’t take the opportunity to get into development because they believe that they lack the skills or aptitude to be good at it.</p>
<p>The good news is that you can get into development with some hard work. To understand why this is, let’s look at the difference between aptitudes and skills. Once we understand this difference, we’ll find that anyone can do something in the software arena.</p>
<p>Think of “Aptitude” as someone’s “natural ability” to do something. “Skill,” by contrast, is the ability to do something which comes after practice and repetition.</p>
<p>While aptitudes can certainly give someone a head start at something, the person with a high aptitude will likely never be truly great at something if they don’t put in the practice.</p>
<p>What this means, at the end of the day, is that someone with a high aptitude for engineering or solving technical problems can possibly still be a decent developer without working overly hard at it.</p>
<p>But someone who works hard at developing the skill, however, will likely succeed even if they begin with a lower aptitude.</p>
<p>Now if you’re someone who has a high aptitude, and is willing to put in the work and develop the skill, then the sky's the limit.</p>
<p>The truth of the matter is that natural aptitude will get you to a certain point, but that point stalls out real fast. No matter how naturally inclined you are at learning languages, for example, if you've never spoken or heard French then you're not going to understand a word of it.</p>
<p>The ability to expand a learned skill, however, has a much higher ceiling. This means that if you want to become a programmer then you likely have the capacity to do so.</p>
<p>Here are a few tips I would offer if you're hoping to develop your programming skills:</p>
<h4 id="heading-code-every-day">Code every day</h4>
<p>When you’re learning to code, then you are also learning to think of things in a different way. Not only are you learning programming languages, you’re learning how frameworks interact with each other and you’re thinking about problems in a way which is probably novel to you.</p>
<p>You might be surprised at how fast you pick things up if you work on it every day and allow your mindset to shift.</p>
<p>You’ll be equally shocked at how much harder things seem if you take an extra day off here and there. For the first several months of your journey in learning to code, try to work on it every day.</p>
<h4 id="heading-pick-a-curriculum-where-you-build-projects">Pick a curriculum where you build projects</h4>
<p>There are some online code education platforms which do not require you to actually build something or have you build something that is simple in nature.</p>
<p>Such platforms, for example, may show you how to create a hyperlink in HTML or change a font with CSS, but they don’t require you to actually build a website containing the hyperlink or the font.</p>
<p>By choosing a curriculum that requires you to put the skills you're working on to use, before declaring you done with the program, you will greatly improve your ability.</p>
<h4 id="heading-dont-get-stuck-in-constant-tutorials">Don’t get stuck in constant tutorials</h4>
<p>Many, many, many (many) people feel that they are “not ready” to look for a job and they just keep going through tutorials over and over again.</p>
<p>The cold and hard truth is that constantly completing tutorials is a drop in the bucket compared to the skill you will develop with a real-world employer.</p>
<p>Also, your employer will be well aware that you are a newbie. As soon as you feel you meet the requirements to apply for a job, then you are ready to get out there.</p>
<p>The key takeaway here is that you don’t have to be a “natural engineer” or a math prodigy to become a software developer/programmer. In fact, many who work in the field aren’t.</p>
<p>If you are willing to learn and put in the time then you have a good chance of success.</p>
<p>This, going back to the earlier part of this article, is why it is so important to pick a track that interests you: you are unlikely to want to put in the time for something that doesn’t truly interest you.</p>
<p>So, by picking a field that peaks your interest you put yourself in a position where you will be willing to build the necessary skills, even if you don’t have the most natural ability.</p>
<p>The bottom line is that you can become a programmer with time and hard work.</p>
<h2 id="heading-career-options-for-software-developers">Career options for software developers</h2>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/Computer-with-money.jpg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>We’ve just discussed a few threshold questions to consider if you're thinking about becoming a programmer. These include the importance of liking your career choice and understanding that no job is worth it unless you'll be interested in the field.</p>
<p>We also talked about how to decide which fields of development you may find interesting and how you can develop the necessary skills to succeed in software development.</p>
<p>In this section of my article, I’m going to dive into the economics of a few possible software development tracks. This is important to the question of “should I become a programmer” for a simple reason – those entering a field need to support themselves.</p>
<p>In preparation for this article, I did some research on Indeed.com as to current openings, salaries, and so on. Here’s what was available in the United States as of April 7th, 2022:</p>
<h4 id="heading-front-end-development">Front End Development</h4>
<ul>
<li><p>Total job openings: 41,000+</p>
</li>
<li><p>Entry level openings: 5,700+</p>
</li>
<li><p>Starting salaries over $60k: 2,900+</p>
</li>
</ul>
<h4 id="heading-back-end-development">Back End Development</h4>
<ul>
<li><p>Total job openings: 20,000+</p>
</li>
<li><p>Entry level openings: 1,800+</p>
</li>
<li><p>Starting salaries over $85k: 8,600</p>
</li>
</ul>
<h4 id="heading-other-possibilities-average-salaries">Other Possibilities (Average Salaries)</h4>
<p><em>Source: Indeed (as of April 26, 2022)</em></p>
<ul>
<li><p>Full-stack developer: $109,000</p>
</li>
<li><p>Information Systems Management: $84,810</p>
</li>
<li><p>Data analyst/data science: $98,230</p>
</li>
<li><p>Quality assurance: $88,550</p>
</li>
</ul>
<p>If you feel like you may be interested in front-end development, based on the discussion above, then you should learn HTML, CSS, Javascript. I would also suggest becoming familiar with the various front-end libraries (like React, Angular, and Vue).</p>
<p>For those who are more interested in application/back-end development, then it is important to understand that, in today’s world, you will still be writing a fair amount of code – but you will also be spending an extreme amount of time working with various microservices to build a product out of existing tools.</p>
<p>There are also large numbers of openings for those with skills relating to data visualization, security, as well as the jobs listed under “other possibilities” above.</p>
<p>One key point I would stress here is that such jobs are often willing to hire someone even if they don’t strictly meet the experience requirements. If you put in a résumé, after all, the worst someone can do is say no.</p>
<h2 id="heading-how-to-find-a-job-as-a-software-developer">How to find a job as a software developer</h2>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/05/online-job-application.jpeg" alt="Image" width="600" height="400" loading="lazy"></p>
<p>An important thing for anyone attempting to get a job as a programmer is to do well on the interview. As someone who has employed people in multiple businesses, I have to say that the mistakes people make on interviews truly baffle me. In this section of the article I’m going to look at how to properly interview for a coding job and mistakes which people should avoid.</p>
<h3 id="heading-how-to-do-well-at-a-coding-interview">How to do well at a coding interview</h3>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p>I understand that in this “how to do well” section, the points I’m going to make may sound like “duh” statements.</p>
<p>The truth of the matter, however, is that probably ninety percent of the percent of the people I’ve interviewed over the years don’t get all of these things down. So, with that said:</p>
<h4 id="heading-show-up-prepared">Show Up Prepared</h4>
<p><a target="_blank" href="https://www.freecodecamp.org/news/how-to-prepare-for-a-software-developer-interview/">Showing up prepared</a> doesn’t just mean appearing for the interview. It’s important to actually do some research on the company as well as the individual who will be interviewing you.</p>
<p>This means that, before your interview, you should spend time doing research on the company. Find out what services they offer, who their target customer is, how long they’ve been in business, and so on.</p>
<p>Looking up the individual who is interviewing you will give you the opportunity to learn more about them. This includes their work history, role at the company, and more.</p>
<p>During interviews I tend to ask questions which let me know whether the interviewee had done their homework. If it shows that they haven’t, then I have to ask myself: “if they can’t even research a company for an interview, then how can I assume that they will be proactive in the researching of potential solutions?” A little preparation goes a long way.</p>
<h4 id="heading-show-how-you-will-add-value-to-the-company">Show how you will add value to the company</h4>
<p>Researching the company, as explained above, puts you in a position to show how you will add value to the business. When you are asked questions about yourself then you can relate the answers in a way which shows how you will add such value.</p>
<p>For example, in my company we build websites and automation solutions for owner-run to medium-sized companies. If someone has done their research on our company, and I ask them why they applied, they can respond by explaining how excited they are about the idea of working with small business owners directly. They can also make their answer about how their interests align with the types of automation products we work on. This tells me, as an employer, that they are thinking about how they will add value to the business.</p>
<p>In other words, your answers to questions should relate back about how you will add value when serving the customers of the business.</p>
<h4 id="heading-dont-be-shy-about-needing-to-look-things-up-when-coding">Don’t be shy about needing to look things up when coding</h4>
<p>In any coding interview, you’re going to need to answer some basic coding questions. I usually have an interviewee perform 5-6 simple tasks. I make sure, however, that at least some of them are things which the interviewee is unlikely to know off the top of their head.</p>
<p>What I’m looking for in the interview is for someone to not get frazzled and who will ask for one moment while they look up the solution (I only use questions which I know can be found through a quick Google search). It’s OK in an interview to ask to look things up.</p>
<h3 id="heading-mistakes-to-avoid-in-coding-interviews">Mistakes to avoid in coding interviews</h3>
<p>(<a class="post-section-overview" href="#table-of-contents">back to top</a>)</p>
<p>Now it’s time to look at some common mistakes which people make during job interviews. And, yes, I have had individuals make these mistakes when interviewing with me.</p>
<h4 id="heading-showing-up-at-the-last-minute-or-worse-late">Showing up at the last minute or, worse, late</h4>
<p>If you want to send a clear message to the potential employer that a) you don’t care about the job or b) that you have no time management skills, show up at the last minute or even late.</p>
<p>I recently had someone who actually showed up late for a virtual interview (I didn’t think that was possible). If someone is about to start your interview, and it’s clear to them that you weren’t early, then you just decreased your chances significantly.</p>
<p>If you are interviewing in person, then show up early and wait. If you are interviewing virtually, then log on to the chat early and wait for the interviewer to enter.</p>
<h4 id="heading-making-the-interview-all-about-you-or-generic">Making the interview all about you or generic</h4>
<p>Don’t make the mistake of assuming the interviewer wants to hear about you generically as a person.</p>
<p>First, when an interviewer asks you to tell them about yourself, then don’t start reciting your résumé (they can read your résumé) and don’t start simply talking about your personal interests. They don’t care.</p>
<p>Instead, you should be talking about how your interests align with those of the company (see above). This shows the interviewer that you are prepared to provide value to the company.</p>
<p>Also, when asked to tell a little bit about yourself, avoid generic answers about what a hard worker you are. Instead, again, answer the question in the context of how you will provide value.</p>
<h4 id="heading-behave-professionally-please">Behave professionally (please!)</h4>
<p>This might be the one that is the most annoying to an employer. You need to act like you are taking the opportunity seriously.</p>
<p>Here are two examples of people I’ve interviewed where the problems are obvious. The first individual who managed to immediately disqualify himself strolled in with his sunglasses on the top of his head and a frappuccino from Starbucks in his hand.</p>
<p>The second was a virtual interview. When I started the interview by saying “hi [name of person]”, he responded by saying “Hey brother!” Do I really need to say why neither of these individuals were considered?</p>
<p>Show up for the interview dressed appropriately. This is true whether the interview is in person or virtual. Also, if it is a virtual interview, make sure you’re in a quiet place with an appropriate background. Refer to the interviewee as Mr. [Name], or Mrs. [Name], until they tell you to call them by their first name (note: if you annoy them enough they might not say this).</p>
<p>When you introduce yourself, make sure you thank them for taking the time to interview you and thank them again upon completion.</p>
<p>Don’t make inappropriate jokes or comments during the interview either. While I think these things are “common sense,” I’ve come to the conclusion that such “sense” is not actually “common.”</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>If you are wondering whether you should become a programmer, then the first step is determining whether it is a profession you would be interested in and would otherwise enjoy.</p>
<p>Next it is important to determine which type of developer you would like to be. Because you must support yourself, it is also important to understand career possibilities within the field.</p>
<p>Finally, handling an interview correctly will put you ahead of more people than you may think.</p>
<p>Hopefully you found this article helpful when you're making your career decision. Happy coding!</p>
<h2 id="heading-about-me">About Me</h2>
<p>I am a front-end developer and the founder of <a target="_blank" href="https://www.modern-website.design/">Modern Website Design</a>. I enjoy writing on business/employment related issues and believe strongly that the world’s problems are solved through entrepreneurship. To keep up with my babbling, follow me on <a target="_blank" href="https://twitter.com/Luke_Ciciliano">Twitter</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to Get Ready for a Job in Tech – Tips for Beginners ]]>
                </title>
                <description>
                    <![CDATA[ A few months back, I was invited to talk to a group of engineering students of a renowned college in India. I was supposed to interact with them, motivate them, and finally tell them, "What does the industry (the "job" world) look like?", "How can yo... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-get-ready-for-a-job-in-tech/</link>
                <guid isPermaLink="false">66bdffdc8c9c9099893ce78c</guid>
                
                    <category>
                        <![CDATA[ career advice ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Job Hunting ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Tapas Adhikary ]]>
                </dc:creator>
                <pubDate>Thu, 14 Apr 2022 17:05:57 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/04/1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>A few months back, I was invited to talk to a group of engineering students of a renowned college in India. I was supposed to interact with them, motivate them, and finally tell them, "What does the industry (the "job" world) look like?", "How can you get ready for it?"</p>
<p>After spending 15+ years developing software, releasing products, managing teams, clients, and expectations, I had a bagful of thoughts to share with the younger generation. </p>
<p>Fortunately, I was able to summarize everything in eight high-level points without making my audience bored with it.</p>
<p>I will share those points in this article to help you better prepare for the upcoming opportunities and challenges. All the points mentioned in the article apply to everyone, irrespective of their current experience in the industry. </p>
<p>Wherever I mention the term "industry" in this article, I mean the "Software Industry" as my experience relates directly to it. Happy reading!</p>
<h2 id="heading-there-are-three-types-of-people-in-the-industry">There are Three Types of People in the Industry</h2>
<p>We can categorize people working in the software industry into three major groups.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/2.png" alt="Image" width="600" height="400" loading="lazy"></p>
<ul>
<li><strong>Following</strong>: People who need career guidance and a path defined to accomplish their career goals. They are seeking feedback and validation from people already doing the required things to grow in the industry.</li>
<li><strong>Doing</strong>: This set of people is already doing things needed to grow in the industry. They stay <code>relevant</code> to the latest and greatest things out there. They sharpen their <code>skills</code> periodically and help their followers grow by sharing knowledge and information. There are fewer people in this category than in the <code>Following</code> category.</li>
<li><strong>Doing + What's Next?:</strong> This set of folks are not only doing things but also creating specialities for the future. They cultivate visions of  <code>what's next?</code> and work towards it with a lot of <code>passion</code>. Their efforts don't necessarily have to result in some extraordinary output, but they keep trying. Again, fewer people are in this category than we discussed previously in the <code>Doing</code> category.</li>
</ul>
<p>Please note that these categories don't determine who is senior or junior in the industry or the organization. Instead, these categories exist in all job grades, levels, and work functions.</p>
<p>Also, the exciting thing is that a single person can play their part in all three categories based on situation, skill, and context. </p>
<p>For example, Ms X is <code>doing</code> an excellent in web development technologies, solving problems, and creating tools to help things in the future. She is now starting her blogging journey to share her knowledge widely. She is learning from the technology blogging community by <code>following</code> established bloggers.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/ladder.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>So how do we make sure that we constantly build our presence in these categories and move the needle to get into the <code>Doing</code> and <code>Doing+ What's Next</code> phases?</p>
<h2 id="heading-8-tips-to-help-you-advance-your-coding-career">8 Tips to Help You Advance Your Coding Career</h2>
<p>Yes, I want to summarize my tips into eight crucial points to focus on. You may be doing some or all of these already or haven't started on them. Either way is fine, and I hope it encourages you to step up further from here.</p>
<h2 id="heading-1-build-habits">1. Build Habits</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/4.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Our <code>habits</code> drive us in our life. We build many of them unknowingly, and we have to build some consciously. </p>
<p>A good habit helps you develop the right attitude towards solving problems, handling challenging situations, and making better decisions. It helps you set rational targets and get close to them. People with good habits are organized, thoughtful, approachable, and have a positive mindset.</p>
<p>So what are some of the good habits? There are plenty, and here are some basic ones.</p>
<ul>
<li>Reading</li>
<li>Writing, taking notes</li>
<li>Physical exercise</li>
<li>Setting a schedule</li>
<li>Getting organized</li>
<li>Saving money</li>
<li>Learning</li>
</ul>
<p>Build habits, good ones. It will set the stage for you to decide between good and bad, short term and long term, dos vs don'ts, and right vs wrong.</p>
<p>But, how do we build good habits? Well, I can write a few articles on this topic alone, but I'll emphasize these points for now:</p>
<ul>
<li>Find a habit and a reason why you want to build it. What's the end goal?</li>
<li>Find a trigger for it. A trigger motivates you to start and pushes you to stay on it. For example, listening to music could trigger starting physical exercise.</li>
<li>Plan for it knowing your limitations and all the chances you have of failing.</li>
<li>If you failed to sustain the habit, think about what went wrong. Do you need it? Readjust, replan and start again.</li>
</ul>
<h2 id="heading-2-find-your-passion">2. Find Your Passion</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/5.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Your <code>passion</code> keeps you going and helps you live a motivated professional and personal life. Passion is an "individual" thing that may impact many people in your circles. You can be passionate about technology, health, writing – anything that you love to do constantly.</p>
<p>However, one piece of advice I got early in my career was, "don't follow your passion blindly". The passion should be linked with your goals, career, and work. It is essential to find the difference between a hobby and a passion. You may have a hobby unrelated to your career, but your passion should relate to it.</p>
<p>It is essential to identify your passion, fuel it with a lot of practice, and renew it from time to time.</p>
<h2 id="heading-3-connect-with-people">3. Connect with People</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/6.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><code>Social networking</code> for developers and the <code>developer communities</code> are influential in building your career. You get to meet like-minded people, find role models, get opportunities to collaborate, learn, and find jobs.</p>
<p>Whether you are a student, a fresher, or a veteran professional, social networking for developers is undoubtedly a great option to consider. The platforms like <a target="_blank" href="https://twitter.com/">Twitter</a>, <a target="_blank" href="https://linkedin.com/">LinkedIn</a>, <a target="_blank" href="http://showwcase.com">Showwcase</a>, and <a target="_blank" href="https://polywork.com/">Polywork</a> are great ones to check out. You can connect with people of interest, learn from them, and contribute.</p>
<p>Learning and sharing is a wonderful cycle that builds knowledge. It grows when we come out of silos and learn in public. Also, learning from the experience of others will accelerate our growth. So, connect.</p>
<h2 id="heading-4-stay-curious">4. Stay Curious</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/7.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><code>Curiosity</code> is the desire to learn something new. Stay curious and be open to learning. Curiosity brings questions and doubts to mind. The fun is in finding the answers. </p>
<p>So, please ask questions when you have doubts, don't be shy thinking about whether it is a silly question, what people will think, and so on.</p>
<p>Staying curious will help you find how things work under the hood. There are many benefits of knowing the internals of things when it comes to programming. So, stay curious, and keep exploring.</p>
<h2 id="heading-5-develop-side-hustles">5. Develop Side Hustles</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/8.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Here comes my favourite point, <code>Side Hustles</code>. When you build a habit of doing things, fuel your passion directed towards the career goal, look to learn new things, and connect with people, you have an ocean of opportunities for side hustles. </p>
<p>But wait, what are side hustles, and why are they needed? Don't we have enough things to do already? Yes, very practical questions. Let's get to them one by one.</p>
<p>Side hustles are anything you do outside of your regular job to earn knowledge, reputation, money, and growth. There are various form of side hustles like,</p>
<ul>
<li>Contributing to the open-source projects</li>
<li>Writing articles on a blog</li>
<li>Mentoring</li>
<li>Teaching</li>
<li>Freelancing</li>
<li>Community Building</li>
<li>Releasing books, e-books</li>
<li>Speaking at conferences</li>
<li>Creating video content...and many more</li>
</ul>
<p>Now all these need time, and of course, you might have something called a "primary" job to take care of. However, most of the above don't need a massive amount of time or dedication. Also, all of these can be the by-product of your "primary" job. </p>
<p>Let's take a few examples:</p>
<ul>
<li>Have you solved a technical problem at work? Write about it as an article. Create a video explaining the steps and upload it on YouTube. Share about it on StackOverflow, the Showwcase community, Twitter, and LinkedIn.</li>
<li>Do you have expertise in specific areas and have taken many notes on problem-solving? Move them to a doc and release them as an e-book. Don't worry about who will make use of them. There is always a great demand for quality content.</li>
<li>Do you love to teach? Spend 1 hour over weekends interacting with people interested in your areas of expertise. Speak about the topic at a conference.</li>
</ul>
<p>It is the right thing to do if you can manage side hustles without burnout. I have captured some of my personal experience doing <a target="_blank" href="https://blog.greenroots.info/why-do-you-need-to-do-side-projects-as-a-developer">side projects as a developer here</a>.</p>
<h2 id="heading-6-dont-neglect-soft-skills">6. Don't Neglect Soft Skills</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/9.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p><code>Soft skills</code> are all about how humans interact with other human beings at work, in personal life, anywhere in the world, and in any possible modes (physically, remotely, virtually). Unlike technical skills, soft skills are less about learning and more about realizing.</p>
<p>Here are a few soft skills that need special attention,</p>
<ul>
<li>Patience</li>
<li>Empathy</li>
<li>Problem solving</li>
<li>Communication (not just the spoken or written language – it includes body language, confidence, resolving conflicts, and more)</li>
<li>Teamwork</li>
<li>Owning up to your mistakes or accountability</li>
<li>Time management - we will talk about it in a while.</li>
</ul>
<p>Some classes and courses teach you many of these soft skills. But you need to work on closing the gap yoursef and improve upon these skills gradually.</p>
<h2 id="heading-7-manage-your-time">7. Manage Your Time</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/10.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Let me start with a confession. I'm still learning how to manage time, but the good news is that I'm getting better at it. </p>
<p>Each of us has 24 hours in a day. So we need to manage all our activities in that duration. However, the problem comes with too many things to fit in that duration.</p>
<p>Here are some practices (principles too) I've been following and seeing good results.</p>
<ul>
<li>Everything is not crucial to us every day. The tricky part is that we assume that something is essential until we give enough thought to it.</li>
<li>So, we need to think and prioritize. It also includes regular activities like sleeping, exercise, eating food on time, health, family care, and so on.</li>
<li>Do not focus on things that are of lower priority priority or can wait for the next day or week.</li>
<li>Do not multi-task. It only increases stress and reduces productivity in the long run. Take up a task, focus on it in a time-boxed manner, complete it, and then get to the next one.</li>
<li>Take breaks between task switches. Rejuvenate and energize yourself.</li>
<li>If something is taking more time than anticipated, accept that it happens. You may not meet your time management plan every day.</li>
</ul>
<p>I hope these pointers help you with enough thought processes to start managing time better.</p>
<h2 id="heading-8-find-a-mentor">8. Find a Mentor</h2>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/04/11.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Do yourself a favour. Find a good mentor. Learning from someone's knowledge and experience is immensely beneficial. So let's understand who a mentor can be, what their role is, and how we can benefit as mentees.</p>
<p>A <code>mentor</code> is a person who provides guidance and advice to you to make your aspirations a reality. It could be for career-building, learning a new area, understanding the business processes, and many more. </p>
<p>A mentor may help share experiences and resources, provide motivation, and set and track individual and project goals. A mentor can also be a teacher, but in most cases, teaching focuses on "how," and mentoring focuses on "why". </p>
<p>A <code>mentee</code> is a person who is being mentored, guided, and advised by a mentor. A mentee approaches a mentor with aspirations, ambition, and desire. The mentor guides the mentee to help them achieve their goals. </p>
<p>The mentee drives it to success with the mentor's help in a mentoring program. The mentee decides how much help and guidance they need to achieve the mentorship goal.</p>
<p>A mentor and mentee relationship should be beyond just the technology and project knowledge sharing. It is also about understanding each other's emotional space to achieve the mentoring goals.</p>
<p>Now the most crucial part is <code>finding a good mentor</code>. Several platforms offer mentorship. There are some great mentors creating values for many aspiring people. You can always try your luck and find the best connection. I feel it is more authentic if you find someone from your network or community circle whom you know personally. That may even work out much better.</p>
<h2 id="heading-in-summary">In Summary</h2>
<p>To summarize, focus on these points with all the pointers we have discussed in this article:</p>
<ul>
<li>Build good habits.</li>
<li>Find your passion carefully.</li>
<li>Connect with like-minded people and build your network.</li>
<li>Stay curious, and keep learning.</li>
<li>Use side hustles to grow.</li>
<li>Soft skills are essential.</li>
<li>Learn to manage your time.</li>
<li>Find a mentor.</li>
</ul>
<h2 id="heading-before-we-end">Before We End...</h2>
<p>I hope you found this article insightful and that it helps you to prepare better in your career. If you want to discuss further or just want to have a career chat, you can ping me with a DM on <a target="_blank" href="https://twitter.com/tapasadhikary">Twitter</a> or <a target="_blank" href="https://www.linkedin.com/in/tapasadhikary/">LinkedIn</a>.</p>
<p>Let's connect. I share my learnings on JavaScript, Web Development, Career, and Blogging on these platforms as well:</p>
<ul>
<li><a target="_blank" href="https://www.youtube.com/tapasadhikary?sub_confirmation=1">Subscribe to my YouTube Channel</a></li>
<li><a target="_blank" href="https://twitter.com/tapasadhikary">Follow me on Twitter</a></li>
<li><a target="_blank" href="https://github.com/atapas">Side projects on GitHub</a></li>
<li><a target="_blank" href="https://www.linkedin.com/in/tapasadhikary/">Connect on LinkedIn</a></li>
</ul>
<p>See you soon with my next article. Until then, please take care of yourself, and stay happy.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ What Is it Like to Work as a Junior Developer? ]]>
                </title>
                <description>
                    <![CDATA[ If you're studying to become a professional developer, you might be wondering what a junior developer does on the job. In this article, I will talk about the typical day of a junior developer and what to expect on the job. The Onboarding Process When... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/what-does-a-junior-developer-do-on-the-job/</link>
                <guid isPermaLink="false">66b8da5f6ebbe64e37d83847</guid>
                
                    <category>
                        <![CDATA[ Career Change ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Junior developer  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jessica Wilkins ]]>
                </dc:creator>
                <pubDate>Mon, 28 Mar 2022 13:51:12 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2022/03/annie-spratt-QckxruozjRg-unsplash.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>If you're studying to become a professional developer, you might be wondering what a junior developer does on the job.</p>
<p>In this article, I will talk about the typical day of a junior developer and what to expect on the job.</p>
<h2 id="heading-the-onboarding-process">The Onboarding Process</h2>
<p>When you get started with a new company, you will go through what is considered the onboarding process. This is a term that refers to the process of getting introduced to the company.</p>
<p>You will first go through a period of filling out important paperwork for the company. This will include stuff like payroll information needed for the HR department. </p>
<p>You will also start to gain access to some of the company's project codebase, staff calendar, meetings, and staff chat room. </p>
<p>Before you get started with your first day, you will probably be receiving tons of emails. It is really important that you get your company email setup and check it periodically throughout the day to setup everything you need to.</p>
<p>In the first few days on the job, you will have a few meetings to get you introduced to your manager, your team, as well as an overview of the company and its expectations. </p>
<p>It is completely normal to be overwhelmed with the sheer volume of new information. Try to take notes during the meetings and ask questions. </p>
<h2 id="heading-tips-for-getting-set-up-with-the-project">Tips for Getting Set Up with the Project</h2>
<p>You might be overwhelmed when you try to setup the codebase for the first time or you might not understand all of the code in it. It is important to remember that your company is not expecting to learn everything about the codebase during your first week. </p>
<p>They understand that it will take some time before you get used to where everything is and how things works. Take your time studying the codebase and ask questions about things you don't understand. </p>
<p>Also, if you have trouble getting set up with the project, make sure to reach out to a team member. If the setup process is not documented that well, this could be a good opportunity for you to update the documentation so future developers will have a smoother onboarding process. </p>
<h2 id="heading-what-are-tickets-and-project-boards">What are Tickets and Project Boards?</h2>
<p>Project boards are used so teams know the current status of a project and understand what work still needs to be completed. These boards will have what are called tickets which represent tasks in various stages of completion for the project.</p>
<p>This is an example of what a project board might look like. Here is an example from one of my personal projects.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/03/Screen-Shot-2022-03-27-at-8.32.39-PM.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Developers will assign themselves to a ticket listed on the board and read through the requirements. </p>
<p>Some of these tickets might be small bug fixes for an existing project. Or you might be asked to build out a new page or component for the site.</p>
<p>When you are finished working on the ticket, you will submit a PR (pull request) and ask for a code review. Once your code has been reviewed and approved, then it will be pushed into production.  </p>
<p>If you have any clarifying questions about the ticket's requirements, just reach out to your project manager. </p>
<h2 id="heading-what-are-code-reviews">What are Code Reviews?</h2>
<p>The code review process involves another developer looking over your code and submitting their comments for improvement. These code reviews will help catch small bugs, code inconsistencies, and improve code quality. </p>
<p>It is important not to take code reviews personally. Remember that your team is there to help you and offer constructive criticism. </p>
<p>As a junior developer on your first job, you might not be used to having other people looking at your code. You also might not be aware of the current best practices in building large scale production level apps.</p>
<p>Code reviews can be a great learning opportunity for you and help you become a more mature developer.  </p>
<h2 id="heading-what-is-the-role-of-a-manager">What is the Role of a Manager?</h2>
<p>Engineering managers hold several responsibilities, including being involved with the planning, and coordination of projects as well as supervising engineering teams. </p>
<p>These are individuals that have years of software experience and have to balance project management with people management. </p>
<p>Here are are some core day to day activities for engineering managers:</p>
<ul>
<li>Being involved with daily standup meetings </li>
<li>Meetings with other managers, clients, and stakeholders</li>
<li>One-on-one meetings with engineers </li>
<li>Might participate in some code reviews or coding </li>
</ul>
<p>I believe that a good manager is someone who can effectively communicate with the team and is a good problem solver when issues arise. They are also responsible for providing feedback to their engineers on what they are doing well and areas of improvement. </p>
<h2 id="heading-what-are-standup-meetings">What are Standup Meetings?</h2>
<p>Standup meetings are when the entire team meets up and each member shares the work they did, the work that still needs to be done, and anything that is blocking them from moving forward.</p>
<p>It is really important that if you are stuck with something or blocked that you bring it up with the team. As a new member of the team, especially as a junior, make sure to ask for help if you can't proceed with the project.</p>
<p>Remember that your team is there to help you and you shouldn't feel ashamed to ask for help. </p>
<h2 id="heading-what-to-expect-from-the-companys-group-chat">What to Expect from the Company's Group Chat</h2>
<p>A lot of companies will have a designated chat server or group where teammates can connect with each other throughout the day.  My company uses <a target="_blank" href="https://slack.com/">Slack</a> and has a variety of channels for specific projects, software topics, and miscellaneous non-tech conversations. </p>
<p>I believe a healthy company culture will not expect you to be available for every single second on the group chat. It is ok if someone messages you and you don't respond back right away because you were busy with something else.</p>
<p>But it's typically not alright to go completely silent throughout the whole day where no one can get a hold of you. If you are working virtually as a junior developer, communication is really important. </p>
<p>It is up to you on how involved you want to be in the company chat. But I would suggest checking in once in a while throughout the day just so you remain up to date on what is going on with your team and the project.</p>
<h2 id="heading-conclusion">Conclusion</h2>
<p>Your first few weeks working as a junior can be overwhelming. It is important to remember that your company understands that you are still new to the industry and have a lot to learn. </p>
<p>Just try to take it one day at a time and learn as much as you can. Ask questions on what you don't understand and ask for help if you are stuck on an issue.</p>
<p>Make sure to try solving the issue on your own first by reading documentation and other articles before reaching out for help. Also do the best you can communicating exactly what the issue is with a lot of detail so others can best help you. </p>
<p>Try to learn from your co-workers because they have different levels of expertise and experience. </p>
<p>And most importantly, be easy on yourself. It will take awhile before you will get comfortable with the codebase and the workflow requirements.</p>
<p>I hope this article helped you understand what to expect working as a junior developer! Best of luck on your developer journey.  </p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Top Skills All New Frontend Developers Should Have ]]>
                </title>
                <description>
                    <![CDATA[ By Chaitanya Prabuddha As a frontend developer, it's your job to make sure that the user interface of a software program functions properly.  It's a difficult job because you have to make sure that every component works the way it's supposed to so th... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/top-skills-for-new-frontend-developers/</link>
                <guid isPermaLink="false">66d45e0b7df3a1f32ee7f807</guid>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Front-end Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Wed, 15 Dec 2021 16:56:37 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/12/Valuavel.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Chaitanya Prabuddha</p>
<p>As a frontend developer, it's your job to make sure that the user interface of a software program functions properly. </p>
<p>It's a difficult job because you have to make sure that every component works the way it's supposed to so that users have a good experience.</p>
<p>Frontend development is in high demand right now. Frontend developers manage the UI / UX of the software. And this is important because users interact directly with the front end of an application.</p>
<p>In this article, we are going to talk about some of the most valuable skills that beginner frontend developers can cultivate. Learning the following skills will help you advance in your career.</p>
<h2 id="heading-learn-modern-javascript-es6">Learn Modern JavaScript (ES6)</h2>
<p>The JavaScript programming language has evolved from ES1 to ES6 over the past 25 years, and it has included some wonderful new capabilities with each new release.</p>
<p>In 2015, ES6 was published as a new standardised version of JavaScript. ECMAScript 2015 is another name for it. And ES6 has many new features that can help you write better code. </p>
<p>With Object-Oriented Classes, Arrow Functions, String Literals, and much more, it is the foundation for modern libraries like React and Vue.</p>
<h3 id="heading-helpful-features-of-es6">Helpful Features of ES6</h3>
<h4 id="heading-destructuring-assignment">Destructuring assignment</h4>
<p>➡ You can read values from an array or attributes from an object into individual variables using the destructuring assignment.</p>
<p>Examples of how the destructuring assignment works in ES6:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">let</span> myName, myRole;
<span class="hljs-keyword">let</span> array = [<span class="hljs-string">'Chaitanya'</span>, <span class="hljs-string">'Web Developer'</span>];
[myName, myRole] = array;        <span class="hljs-comment">//positional assignment occurs here</span>
<span class="hljs-built_in">console</span>.log(myName, my Role);   <span class="hljs-comment">//Chaitanya Web Developer</span>
</code></pre>
<pre><code class="lang-javascript"><span class="hljs-keyword">let</span> myName, myRole;
<span class="hljs-keyword">let</span> object = {<span class="hljs-attr">myName</span>:<span class="hljs-string">'Chaitanya'</span>, <span class="hljs-attr">myRole</span>:<span class="hljs-string">'Web Developer'</span>};
({myName, myRole}=object); 
   <span class="hljs-comment">//properties (keys) are matched with the local variable names</span>

<span class="hljs-built_in">console</span>.log(myName, myRole); 
   <span class="hljs-comment">//Chaitanya Web Developer</span>
</code></pre>
<h4 id="heading-arrow-function-expressions">Arrow function expressions</h4>
<p>➡ Arrow function expressions are a new syntax for creating ordinary function expressions. We can ignore the function and return with one-liner code using arrow function expressions.</p>
<p>Example of arrow function expressions in ES6:</p>
<pre><code class="lang-javascript"><span class="hljs-keyword">let</span> getName = (<span class="hljs-function">(<span class="hljs-params">firstName, lastName</span>) =&gt;</span> {
 <span class="hljs-keyword">let</span> myRole = <span class="hljs-string">'Web Developer'</span>;
 <span class="hljs-keyword">return</span> <span class="hljs-string">`My name is <span class="hljs-subst">${firstName}</span> <span class="hljs-subst">${lastName}</span>
 I am a <span class="hljs-subst">${myRole}</span>.`</span>;
});
</code></pre>
<h4 id="heading-default-parameters">Default parameters</h4>
<p>➡ The default value for function arguments in JavaScript is undefined. So sometimes it's more practical to use a different value instead. We can do this using default function parameters.</p>
<p>Example of how default parameters work in ES6:</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span>(<span class="hljs-params">number1, number2</span>) </span>{
 <span class="hljs-keyword">return</span> number1+number2;
}

add (<span class="hljs-number">3</span>,<span class="hljs-number">4</span>);   <span class="hljs-comment">//returns 7</span>
add(<span class="hljs-number">3</span>);     <span class="hljs-comment">//returns NaN as number2 is undefined</span>
</code></pre>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">add</span>(<span class="hljs-params">num1, num2=<span class="hljs-number">7</span></span>) </span>{
 <span class="hljs-keyword">return</span> num1+num2;
}

add (<span class="hljs-number">5</span>,<span class="hljs-number">2</span>)   <span class="hljs-comment">//returns 7</span>
add(<span class="hljs-number">3</span>)     <span class="hljs-comment">//returns 10 as num2 has default value = 7</span>
</code></pre>
<h3 id="heading-how-to-learn-es6">How to Learn ES6</h3>
<ol>
<li><a target="_blank" href="https://youtu.be/nZ1DMMsyVyI">JavaScript ES6, ES7, ES8: Learn to Code on the Bleeding Edge (Full Course)</a></li>
<li><a target="_blank" href="https://youtu.be/WZQc7RUAg18">ES6 Javascript Tutorial For Beginners | ES6 Crash Course</a></li>
<li><a target="_blank" href="https://www.freecodecamp.org/news/learn-modern-javascript/">Modern JavaScript – Learn Imports, Exports, Let, Const, and Promises in ES6+</a> </li>
</ol>
<h2 id="heading-web-performance-and-quality">Web Performance and Quality</h2>
<p>It's critical that your website runs smoothly and without errors. The time it takes for your website to load is affected by multiple factors related to web performance. </p>
<p>There are steps you can take to increase your site's performance if you're having problems with your site taking too long to load.</p>
<h3 id="heading-how-to-improve-web-performance">How to improve web performance:</h3>
<ol>
<li>Use optimised and smaller images. <a target="_blank" href="https://tinypng.com/">TinyPNG</a> is a good choice for compressing images without losing a lot of quality.</li>
<li>Remove unwanted CSS and JavaScript, as it makes your code bulky.</li>
<li>Get a good hosting provider. Some good ones to check out are Linode, Digital Ocean, or SiteGround.</li>
<li><strong>WordPress Tip:</strong> Remove unwanted plugins. I don't recommend using more than 10 plugins, unless it's required.</li>
</ol>
<p>It doesn't matter if you create the most amazing website ever. If it doesn't work effectively and deliver content quickly to your users, it won't matter. </p>
<p>Users don't like to wait more than 3 seconds for a website to load – that's not much time. So if your site takes longer than that, your bounce rate will go through the roof.</p>
<h2 id="heading-chrome-devtools">Chrome DevTools</h2>
<p>Chrome Developer Tools are included in the Google Chrome browser and experienced developers use them all the time for iterating, debugging, and analysing websites.</p>
<h3 id="heading-google-chrome-devtools-include">Google Chrome DevTools include:</h3>
<ol>
<li>A console panel that interacts with JavaScript on the page as a shell or collects logs and diagnostic data.</li>
<li>A device toolbar which helps you to create responsive websites.</li>
<li>Elements that are used to govern CSS and the Document Object Model (DOM).</li>
<li>Web performance insights.</li>
<li>Security and network functions.</li>
</ol>
<p>You can learn more about <a target="_blank" href="https://developer.chrome.com/docs/devtools/">Chrome DevTools here</a>.</p>
<p>Chrome DevTools are very useful tools once you understand how to use them comfortably. You can use this <strong><a target="_blank" href="https://www.youtube.com/watch?v=gTVpBbFWry8">Chrome DevTools - Crash Course</a></strong> by freeCodeCamp to learn more about them.</p>
<h2 id="heading-version-control-with-git">Version Control with Git</h2>
<p>Git, or <strong>Global Information Tracker,</strong> is an open source distributed version control system. It's software that tracks changes in a set of files, and developers typically use it to coordinate when they're working on source code together during software development.</p>
<p>After all your hard work coding, the last thing you want to do is start your work from the beginning if somethings doesn't go according to the plan. In this situation, Git will help you to go back to the previous version of your software without losing any code.</p>
<p>Knowing the basics of Git is a skill that you (and your potential employers and clients) will appreciate.</p>
<h3 id="heading-how-to-learn-git">How to learn Git</h3>
<ol>
<li><a target="_blank" href="https://www.youtube.com/watch?v=RGOj5yH7evk">Git and GitHub for Beginners - Crash Course</a></li>
<li><a target="_blank" href="https://www.youtube.com/watch?v=Uszj_k0DGsg">Git for Professionals Tutorial - Tools &amp; Concepts for Mastering Version Control with Git</a></li>
</ol>
<h2 id="heading-responsive-design">Responsive Design</h2>
<p>People access the internet on everything from smartphones and tablets to laptops and desktops – and these all have different screen sizes. So responsive design (which helps you design apps that work on all screen sizes) should be a top priority in any application or website you develop.</p>
<p>💡<strong>Fun Fact:</strong> mobile traffic <strong>&gt;</strong> desktop computer traffic.</p>
<h3 id="heading-how-responsive-design-works">How Responsive Design Works</h3>
<p>A website with mobile-friendly features, content, and media is referred to as a responsive site. Responsive websites adjust to the device that a visitor is using, including smartphones, tablets, and PCs.</p>
<h3 id="heading-best-practices-for-responsive-design">Best Practices for Responsive Design</h3>
<ol>
<li>You should use scalable vector graphics (SVGs).</li>
</ol>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/12/image-19.png" alt="Image" width="600" height="400" loading="lazy">
<em>Normal Images vs SVG</em></p>
<ol start="2">
<li><p>Don't forget about the navbar menu. Make sure to build a hamburger menu for small screen devices.</p>
</li>
<li><p>Test your responsive website on a variety of devices and browsers, as usual. You can use <a target="_blank" href="https://search.google.com/test/mobile-friendly">Google Mobile-Friendly Test</a> and <a target="_blank" href="http://mattkersley.com/responsive/">Screen Test</a> for testing your website.</p>
</li>
</ol>
<p>One thing to keep in mind about responsive design is that it is a built-in feature of CSS frameworks like Tailwind and Bootstrap. This means that these frameworks help you to make websites more responsive for all device sizes with a little less work.</p>
<p>A unresponsive website with amazing design is worthless today. The majority of people will likely visit your app or website on a mobile device.</p>
<h3 id="heading-how-to-learn-responsive-design-for-a-website">How to learn responsive design for a website</h3>
<ol>
<li><a target="_blank" href="https://www.youtube.com/watch?v=srvUrASNj0s">Introduction To Responsive Web Design - HTML &amp; CSS Tutorial</a></li>
<li><a target="_blank" href="https://www.youtube.com/watch?v=-qfEOE4vtxE">Bootstrap CSS Framework - Full Course for Beginners</a></li>
<li><a target="_blank" href="https://www.youtube.com/watch?v=c9Wg6Cb_YlU">UI / UX Design Tutorial – Wireframe, Mockup &amp; Design in Figma</a></li>
</ol>
<h2 id="heading-learn-to-work-with-frameworks">Learn to Work with Frameworks</h2>
<p>CSS and JavaScript frameworks are sets of files that take care of a lot of the heavy lifting for you by offering standard features. Instead of starting with a blank text page, you may start with a code file that already has a lot of JavaScript in it.</p>
<p>JavaScript and CSS frameworks are changing how developers write code. Some frameworks were built to help you create complicated user interfaces, while others thrive at displaying your website's content.</p>
<p>Choosing the right framework is as important as learning it. Popular frameworks are not always a good choice, and you should pick one according to your specific requirements.</p>
<p>That being said, there are some that are in very high demand that are really worth learning.</p>
<h3 id="heading-recommended-javascript-frameworks">Recommended JavaScript frameworks:</h3>
<ol>
<li><strong>React</strong> — It's a free and open-source front-end JavaScript framework for creating UI component-based user interfaces. Meta maintains it.</li>
<li><strong>Vue</strong> — Vue.js is an open-source front-end JavaScript framework for creating single-page apps and user interfaces. Evan You created it.</li>
<li><strong>Svelte</strong> — Rich Harris designed Svelte, a free and open-source front-end compiler that is presently maintained by Vercel.</li>
</ol>
<h3 id="heading-recommended-css-frameworks">Recommended CSS frameworks:</h3>
<ol>
<li><strong>Bootstrap</strong> — Bootstrap is an open-source framework for interface components that includes CSS and JavaScript-based templates.</li>
<li><strong>Tailwind CSS</strong> — Tailwind CSS is a utility-first CSS framework that includes classes for creating custom UI designs.</li>
<li><strong>Bulma</strong> — Bulma is an open-source CSS framework. It has a lot of built-in capabilities that help you get things done faster and with less CSS.</li>
</ol>
<h2 id="heading-thats-a-wrap">That's a Wrap!</h2>
<p>Thanks for reading this article. I also write regularly on my newsletter <strong><a target="_blank" href="https://thelearners.substack.com/">The Learners</a></strong>. You can signup directly here. <strong>👇👇</strong></p>
<div class="embed-wrapper"><iframe src="https://thelearners.substack.com/embed" width="500" height="100" title="Embedded content" loading="lazy"></iframe></div>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Technical Certification Guide – Are They Worth It, and How to Choose One ]]>
                </title>
                <description>
                    <![CDATA[ By Periklis Gkolias If you've been wondering whether you should go for a technical certification or not, then this article is for you.  In it, I will share with you how I approach such dilemmas to help you decide what to pursue. Why You Should Get Te... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/technical-certification-guide/</link>
                <guid isPermaLink="false">66d46097264384a65d5a95c7</guid>
                
                    <category>
                        <![CDATA[ Career development  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Certification ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Tue, 07 Dec 2021 16:31:49 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/news/content/images/2021/11/Omid-niaz3.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Periklis Gkolias</p>
<p>If you've been wondering whether you should go for a technical certification or not, then this article is for you. </p>
<p>In it, I will share with you how I approach such dilemmas to help you decide what to pursue.</p>
<h2 id="heading-why-you-should-get-technical-certifications">Why You Should Get Technical Certifications</h2>
<p>The main reasons to get a certification are, in my opinion:</p>
<ul>
<li>You demonstrate that you have a continuous learning mentality. There's nothing better in a field which is constantly changing.</li>
<li>A certification helps you specialize and target jobs in the certification area. It can also help you attract clients if you are a freelancer or consultant.</li>
<li>It can help you build a better "personal brand" at work (depends on the job).</li>
</ul>
<h2 id="heading-how-to-decide-which-certification-to-get">How to Decide Which Certification to Get</h2>
<h3 id="heading-based-on-your-current-or-near-future-career-plans">Based on your current or near-future career plans</h3>
<p>Getting a certification requires hard work and study. So if this certification is going to improve your career prospects, tangibly, by all means, go for it. </p>
<p>But if you don't think it will help you in your career, I recommend spending your precious and limited time elsewhere. Life is too short to spend time working towards something that won't help you in the long run.</p>
<h4 id="heading-example-1">Example 1:</h4>
<p>Are you a bored DBA stuck in a dead-end job? A reputable certification in data engineering might help you land a job in a rising and exciting field.</p>
<p>The most complete certification is probably the <a target="_blank" href="https://cloud.google.com/certification/data-engineer">Professional Data Engineer</a> from Google. You will also learn some basic things about Google Cloud, which is also in high demand.</p>
<h4 id="heading-example-2">Example 2:</h4>
<p>You might be a security engineer and you want to level up your game. Or you may want to chase a promotion next year. Luckily, there are tons of security certifications around.</p>
<p>Are you well-rounded? If not, maybe an introductory certification can boost your skills. A good example is <a target="_blank" href="https://www.comptia.org/certifications/security">Security+</a> from Comptia.</p>
<p>Are you seasoned but your hands-on is dusty? Try <a target="_blank" href="https://www.offensive-security.com/pwk-oscp/">OSCP</a>.</p>
<p>Or if you want to become a manager in a security-centric organization, <a target="_blank" href="https://www.isc2.org/Certifications/CISSP">CISSP</a> is worth a glance.</p>
<h3 id="heading-youre-changing-tech-tracks">You're changing tech tracks</h3>
<p>A certification can help you land a new job, especially if this new job requires changing your technical domain. </p>
<p>Are you a mathematician and you want to become a machine learning engineer? You may want to study some hands-on courses in machine learning, first. Then go for a certification like Azure AI, to apply them in the cloud.</p>
<p>Keep in mind though, that not all transitions are created equal. It might be easier to go from a math education to machine learning, but maybe not from a UX background to ML (all other things being equal).</p>
<p>Both for this and the previous point, remember: some companies filter out CV keywords while hiring, so a certification can give you extra points for the next step of the process. You have fewer chances of being disqualified early on as long as you're a strong candidate all around.</p>
<p><strong>Example 1</strong> from the previous section applies here too.</p>
<h3 id="heading-cost">Cost</h3>
<p>Will you pay the tuition? Or will your employer pay? Certifications usually cost anywhere from a hundred dollars (e.g. <a target="_blank" href="https://aws.amazon.com/de/certification/certified-cloud-practitioner/">AWS Cloud Practitioner</a>) to a few thousand (e.g.<a target="_blank" href="https://www.cisco.com/c/en/us/training-events/training-certifications/certifications/architect/ccar.html">Cisco Architect</a> before it was terminated).</p>
<p>Sometimes the cost is in proportion to the opportunities (and the salary) this certification can bring. But hype around the cert also plays a vital role in the cost.</p>
<p>Make sure you evaluate the cost-benefit relationship beforehand. You need to carefully consider your options, and do some market research to make optimal decisions.</p>
<h3 id="heading-based-on-your-current-knowledge">Based on your current knowledge</h3>
<p>When I'm choosing a certification to tackle, I focus on one that I'll be able to absolutely crush – I want to be starting from a pretty advanced point. </p>
<p>I like to pair a certification with my battle-tested knowledge of the domain. That way you get more value as a professional and the certification makes you look really good. And as you give value, you get back value.</p>
<p><img src="https://i.imgur.com/Ko9uXB3.png" alt="dollar" width="800" height="400" loading="lazy"></p>
<p>Let's revisit my above example on data engineering again. It is easier to get that cert (and it's more valuable to you and your company) if you back it up with existing good knowledge. </p>
<p>On the other hand, if you are working in IT support and you have no career change aspirations, whats the point of going for a cert like that? It might also take you 2-3 times the amount of study if you have never seen how a data pipeline works.</p>
<h3 id="heading-you-have-a-desire-to-go-deep">You have a desire to go deep</h3>
<p>In your career, unless you love your comfort zone or you are pro-early-specialization, you will gain a good breadth in the sector within 5-10 years.</p>
<p>Not all knowledge requires a certification. I am very confident with Linux and Linux administration, as I have used it at home and work for many years. But getting a Linux administration is not something I've yet considered (at least for now), as it is not the focus I want to have in my career.</p>
<p>If you really want to dive in deep to one area, though, studying for a certification is a great way to hone your knowledge.</p>
<h3 id="heading-vendor-reputation">Vendor reputation</h3>
<p>Anyone can create a certification. That doesn't mean the rest of the world (and especially the job market) will care about it. </p>
<p>We have limited time slots for certifications. As Wilfredo Pareto would say, 20% of your actions will give 80% of the results. Use your limited time wisely and do your research. You'll be able to tell which of the certifications are well-respected and in high demand.</p>
<h3 id="heading-conclusion">Conclusion</h3>
<p>What is your view on certifications? There are many opinions in the field, and I would like to hear other perspectives.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
