<?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" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Dome Academy Bytes: Engineering]]></title><description><![CDATA[Get the best engineering tips that will give you an edge in the industry.]]></description><link>https://bytes.thedomeacademy.com/s/engineering</link><image><url>https://substackcdn.com/image/fetch/$s_!qApK!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7332f4d7-b99f-4035-8749-5edc4d1075ed_200x200.png</url><title>Dome Academy Bytes: Engineering</title><link>https://bytes.thedomeacademy.com/s/engineering</link></image><generator>Substack</generator><lastBuildDate>Thu, 07 May 2026 00:34:59 GMT</lastBuildDate><atom:link href="https://bytes.thedomeacademy.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dome Academy]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[domeacademy@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[domeacademy@substack.com]]></itunes:email><itunes:name><![CDATA[Dome Academy]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dome Academy]]></itunes:author><googleplay:owner><![CDATA[domeacademy@substack.com]]></googleplay:owner><googleplay:email><![CDATA[domeacademy@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dome Academy]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The AI-Powered Developer]]></title><description><![CDATA[How to leverage AI coding agents and tools to boost your productivity as a developer]]></description><link>https://bytes.thedomeacademy.com/p/the-ai-powered-developer</link><guid isPermaLink="false">https://bytes.thedomeacademy.com/p/the-ai-powered-developer</guid><dc:creator><![CDATA[Emeka Allison]]></dc:creator><pubDate>Thu, 09 Apr 2026 10:38:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BaNa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BaNa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BaNa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BaNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2147169,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://bytes.thedomeacademy.com/i/192474874?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BaNa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!BaNa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7215f6c3-a8c2-4923-9976-0d916155a057_2240x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It's no longer big-news that AI is transforming the way software development is being done. With AI being more intelligent, ubiquitous and highly skilled at not just generating code but building fully featured applications from start to finish, this has given rise to AI coding agents and tools that automate how engineers build software in recent times.<br><br>With AI models like Claude Opus 4.6, Sonnet 4.6, OpenAI's GPT-5, Gemini 3, Qwen 3.5, and GLM being highly proficient at writing code, a wave of coding tools and agents have been released to help developers automate their work and become more productive. However, with great power also comes great responsibilities. Building with AI coding agents has a lot of advantages and also a lot of disadvantages. It could make you move fast in building features from end-to-end and it can also become a bottleneck when you run into bugs, performances, failing tests or just some bad coding conventions.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe to Dome Academy Bytes! We share weekly insights on tech to help you grow in your tech career.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>Let's be clear on one thing, this article is about <strong>software development with coding agents </strong><em><strong>(context-based engineering)</strong></em> and not <em><strong>vibe-coding</strong></em>. For one, I have discovered a lot of people mix up the two more often than not. "<em><strong>Vibe-coding</strong></em>" is a term coined by Andrej Karpathy to describe using AI coding agents to quickly prototype applications from start to finish without any supervision or even knowing how the code works &#8212; hence the term <em>&#8220;Vibes"</em>.  Vibe-coding is ideal if you quickly want to ideate on ideas, prototype an ambiguous workflow or just build quick projects for a personal problem. However, if you are working on a production level project, vibe-coding is not an ideal practise because you will still be required to maintain and extend the application putting into consideration best practises to ensure user safety and security, code readability and performance advantages. Trust me telling the AI &#8220;don't make mistakes" will not get this done for you.</p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://x.com/karpathy/status/1886192184808149383?s=20&quot;,&quot;full_text&quot;:&quot;There's a new kind of coding I call \&quot;vibe coding\&quot;, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper&quot;,&quot;username&quot;:&quot;karpathy&quot;,&quot;name&quot;:&quot;Andrej Karpathy&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/1296667294148382721/9Pr6XrPB_normal.jpg&quot;,&quot;date&quot;:&quot;2025-02-02T23:17:15.000Z&quot;,&quot;photos&quot;:[],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:1439,&quot;retweet_count&quot;:3628,&quot;like_count&quot;:33555,&quot;impression_count&quot;:6867325,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;belowTheFold&quot;:false}" data-component-name="Twitter2ToDOM"></div><p>Now, I have made this clarification. Let's now delve (lol, sorry Paul) into AI powered software development otherwise known as <strong>context based engineering or prompt-based engineering</strong> &#8212; the former term (context based engineering) is more suitable to describe the act of using AI to write programs and software. Before I continue, it's important you know the meaning of certain terminologies that will be stated here.</p><ul><li><p><strong>LLM (Large Language Model):</strong> A type of AI trained on massive amounts of text data to understand and generate human language. Examples include GPT-5, Claude, and Gemini.</p></li><li><p><strong>AI Agent:</strong> An AI system that can autonomously perform tasks on your behalf &#8212; like reading files, running commands, editing code, and making decisions &#8212; rather than just generating text in a chat window.</p></li><li><p><strong>Prompt (</strong><em><strong>noun</strong></em><strong>):</strong> The instruction, question, or input you give to an AI model to get a response. Think of it as your request or command.</p></li><li><p><strong>Prompt (</strong><em><strong>verb</strong></em><strong>):</strong> The act of writing and sending instructions to an AI model. When someone says &#8220;<em>I prompted Claude to refactor my code</em>,&#8221; they mean they gave it a specific instruction to do so.</p></li><li><p><strong>Context Window:</strong> The maximum amount of text (input + output) an AI model can process in a single conversation. Think of it as the model&#8217;s short-term memory &#8212; anything outside the window, it can&#8217;t see or reference.</p></li><li><p><strong>Token(s):</strong> The small chunks of text that an AI model reads and generates. A token can be a full word, part of a word, or even a punctuation mark. For example, the word &#8220;engineering&#8221; might be split into two or three tokens. Context windows and pricing are measured in tokens.</p></li><li><p><strong>Coding agent: </strong>An AI<strong> </strong>agent specifically designed for software development tasks. It can read your codebase, write and edit code, run terminal commands, install dependencies, and debug errors, all within your development environment. Popular examples include: Claude Code, Cursor, Opencode, Codex and GitHub Copilot.</p></li></ul><p>To learn more terms used in AI, check out the article below:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;9382cd48-eff1-47da-ac73-e0ed853c3f49&quot;,&quot;caption&quot;:&quot;Artificial Intelligence (AI) is rapidly transforming our world, and with its growth comes a new lexicon of terms that can be intimidating to newcomers. This \&quot;AI ABCs\&quot; guide aims to demystify some of the most frequently encountered concepts, presenting them in an easy-to-understand dictionary format.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;AI ABCs&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:96262171,&quot;name&quot;:&quot;Dome Academy&quot;,&quot;bio&quot;:&quot;Learn, create and growth. We are a growth focused community that encourages ingenuity, creativity and collaboration.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/956e69d4-4790-447b-bfef-d8e86461743d_201x200.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-07-19T17:57:34.170Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!cY02!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dd4fd7e-49c2-4ac8-9950-02b21d756f44_2240x1260.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://bytes.thedomeacademy.com/p/ai-abcs&quot;,&quot;section_name&quot;:&quot;Data Science&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:168726543,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:2,&quot;comment_count&quot;:0,&quot;publication_id&quot;:935047,&quot;publication_name&quot;:&quot;Dome Academy Bytes&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!qApK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7332f4d7-b99f-4035-8749-5edc4d1075ed_200x200.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><h2>What is Context Based Engineering?</h2><p>Context-Based Engineering is the methodological use of AI coding agents across the software development process &#8212; not just to write code, but to build features end-to-end using the right prompts, context, and documentation. It's letting AI help you code <em>on purpose</em>, not just on <em><strong>vibes</strong></em>. You remain part of the process, verifying every outcome.</p><p>It goes beyond just text-generation or copying and pasting code generated by an ChatGPT &#8212; this time, the AI is actually accessing files in your computers, editing some, deleting some and creating some in order to build out features or integrations. AI coding agents can even run CLI (Command Line Interface) commands on your behalf and help review code. Whether your starting from scratch or initialising it in an existing codebase from scratch, AI coding agents are capable of getting this done most times even faster than you would on your own.</p><p>Speed comes at a cost. As <a href="https://en.wikipedia.org/wiki/Edsger_W._Dijkstra">Dijkstra</a> put it, "<em>If debugging is the process of removing software bugs, then programming must be the process of putting them in.</em>" AI makes programming way faster &#8212; this means that it can also write more bugs even faster. That's why you have to be methodical and meticulous when prompting an AI agent to write code for you and a good way to do that. If you don't, AI may end up generating code that is difficult to read, unmaintainable, and filled with bugs and security vulnerabilities. Doing context-based engineering correctly ensures AI produces code that is safer, more readable, and easier to maintain.</p><blockquote><p>&#8220;Without requirements or design, programming is the art of adding bugs to an empty text file.&#8221; - <strong>Louis Srygley</strong>.</p></blockquote><p>There are a number of advantages to using AI coding agents properly as part of your software development workflow &#8212; they include:</p><ul><li><p><strong>Build features faster</strong> by automating boilerplate code and generating complex logic patterns in seconds.</p></li><li><p><strong>Ability to work on multiple tasks at once</strong> by offloading implementation details to the agent while you focus on high-level architecture.</p></li><li><p><strong>Real-time research and troubleshooting</strong> to resolve technical blockers and syntax queries without ever leaving your IDE.</p></li><li><p><strong>Proactive error detection</strong> that identifies potential bugs and edge cases during the writing phase rather than the testing phase.</p></li><li><p><strong>Reduced cognitive load</strong>, allowing you to stay in &#8220;the flow&#8221; by automating the mundane, repetitive aspects of programming.</p></li></ul><p>However if not done right, you can run into the following issues:</p><ul><li><p><strong>Code bloat</strong>, as AI agents tend to over-generate code, adding unnecessary logic and implementations that inflate your codebase and make it harder to maintain.</p></li><li><p><strong>Reduced code quality</strong> when prompts are vague or context is insufficient, leading to poorly structured code, inconsistent naming conventions, and patterns that don&#8217;t align with your project&#8217;s architecture.</p></li><li><p><strong>Security vulnerabilities</strong> introduced by generated code that may use outdated libraries, expose sensitive data, or implement authentication and validation patterns incorrectly, especially when the developer accepts output without thorough review.</p></li><li><p><strong>Increased technical debt</strong>, as AI-generated code that "just works" piles up without refactoring, making the codebase difficult to understand and maintain.</p></li><li><p><strong>Weakened problem-solving skills</strong>, as over-reliance on AI agents can dull a developer's understanding of core fundamentals and ability to debug complex issues independently.</p></li></ul><p>So how can one do to properly use coding agents to automate software engineering without any disadvantages.</p><p></p><h2>The Basic Architecture of Context-Based Engineering</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bn4U!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bn4U!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 424w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 848w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bn4U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png" width="1456" height="937" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:937,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:277462,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://bytes.thedomeacademy.com/i/192474874?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bn4U!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 424w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 848w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 1272w, https://substackcdn.com/image/fetch/$s_!Bn4U!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9a3d3ca-469a-4b6f-bbe3-1872dfe78d71_2484x1598.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Chart made with <a href="https://excalidraw.com">Excalidraw</a></figcaption></figure></div><p>To understand how context-based engineering works with coding agents, it helps to visually see the architecture &#8212; how different components of your workspace interact with the agent.</p><p>The arrows show the flow of information: red arrows indicate input sent to the model, while blue arrows indicate output from the agent. Red shapes represent content spaces, gold shapes represent tools and applications, and blue rectangles represent scopes. </p><p>Here's a breakdown of the architecture:</p><h3>Coding agent</h3><p>At the core is the <strong>AI coding agent</strong>. This is the program powered by a capable LLMs like  that makes changes and updates to the codebase based on instructions it has received. Some great for coding agents include:</p><ul><li><p><strong><a href="https://github.com/features/copilot">Claude code</a></strong> (Paid): A popular AI coding agent powered by Anthropic's Claude Opus and Sonnet models. It is a CLI based coding agent. There is also a Visual Studio Code (VS code) extension and Zed IDE plugin. To use it you have to subscribe to Anthropic's Pro plan ($20 a month) or Anthropic's Max plan ($200 a month). You can also use the API plan which is a pay-as-you-go model that bills you based on usage.</p></li><li><p><strong><a href="https://github.com/features/copilot">GitHub Copilot</a></strong> (Freemium): You can call this the OG coding agent &#8212; released in June 29, 2021 as an intelligent tab completion AI companion. It is the default AI agent in VS code and it has extensions for other IDEs like Zed and IntelliJ. It gives you access multiple coding LLMs like Claude, GPT, Gemini, Kimi and Qwen. You can use it as a chat window extension or in the CLI. It has an limited free plan, a cheaper Pro plan ($10 a month) than Claude code, and a ($39) Pro+ plan. </p></li><li><p><strong><a href="https://cursor.com/home">Cursor</a></strong> (Freemium): A powerful AI powered IDE that gives you access to multiple coding models. It's is a VS code fork, so it wouldn't be hard to migrate to if you are a VS code user. It's relatively easier to navigate than other CLI tools and it a host of other great features. The free plan however, is very limited and their paid plans include Pro ($20 a month), Pro + ($60 a month) and an Ultra plan ($200 a month). You can also use their API plan.</p></li><li><p><strong><a href="https://openai.com/codex/">Codex</a></strong> (Free and Paid): This is a coding agent made by OpenAI powered by GPT models. There is an intuitive GUI application and CLI interface. The UI of the GUI is intuitive and the GPT models rival Claude in frontend design and data science. You can use it with with limits for the free or subscribe to OpenAI's plan to gain more usage. The source code is open-source.</p></li><li><p><strong><a href="https://opencode.ai/">Opencode</a></strong> (Open-source): This is a very performant coding agent that let's you use a myriad of LLMs. One great thing about Opencode is that it let's you use paid models like Claude, Gemini and GPT alongside free open-source models like Qwen 3.5 coder, Kimi K2.5, GLM-5 and Gemma 3, some of which you can run locally on your own computer.</p></li></ul><p>Other great mentions include <a href="https://windsurf.com/">WindSurf</a> <em>(which is similar to Cursor), </em><a href="https://kiro.dev/">Kiro</a><em> (similar to Cursor but advocates for specs driven development)</em>, <a href="https://geminicli.com/">Gemini CLI</a> <em>(Made by Google and does more than just coding)</em>, <a href="https://antigravity.google/">Antigravity</a> (Google's Cursor alternative), <a href="https://kilo.ai/">Kilo code</a> <em>(a robust coding agent extension on VScode)</em>, <a href="https://pi.dev">Pi</a> <em>(an open-source highly extendable AI model)</em> and <a href="https://t3.codes/">T3code</a> <em>(an open-source and more performant alternatives to Codex with GPT and Claude models)</em>. Just pick one and get going.</p><p>Personally, I use Claude Code (Pro plan) for both the VS Code extension and CLI for automated flows, alongside GitHub Copilot (Pro plan) autocomplete because they work great as part of my daily workflow. That said, I'm currently exploring tools like Opencode, Pi, and T3 Code, so this setup may change soon. If you're a student, you can apply for student programs by GitHub and other providers that offer free or discounted access to their agents.</p><h3>Context Window</h3><p>When it comes to context-based engineering with AI coding agents, the context window is a very important component. Context window is the maximum amount of tokens a model can process in a single conversation. When you start a conversation with a coding agent, a new context-window is created to track tokens consumed by both your prompts and the agent's responses.</p><p>Every prompt you send, every file the agent reads, every command it runs, and every response it generates eats into this window. Once the limit is reached, the agent starts losing visibility of earlier parts of the conversation, which can lead to repeated mistakes, forgotten instructions, hallucinations or inconsistent code. This is why being intentional about what you feed into the context window matters &#8212; the more focused and relevant the input, the better the output.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3spE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3spE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3spE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3spE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3spE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3spE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg" width="1280" height="960" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:960,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;What is a Context Window in AI?&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="What is a Context Window in AI?" title="What is a Context Window in AI?" srcset="https://substackcdn.com/image/fetch/$s_!3spE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3spE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3spE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3spE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdee380b0-f7a9-462d-b3fa-b2d272b03a76_1280x960.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>See the context window as the working desk memory of an AI model and their a just a limited amount things it can handle on it desk at a time.</p><p>It is easy to max out the context window of a model if you're working on a really large codebase. Coding agents also seem to &#8220;<em>forget"</em> about your codebase when you open a new conversation &#8212; almost like they can't recall the instructions you gave it in a previous conversation. This is because a new conversation has a completely different context window from the previous one. </p><p>In order to ensure your coding agent doesn't lose context of what it's working on and also not max out the context-window of the conversation, you need to provide instruction files with concise in the directory your working in.</p><h3>Prompting Interface</h3><p>In order to provide instructions to coding agents, you need a prompting interface. This could be a GUI chat interface, CLI commands, a terminal UI, or voice tools. When you prompt the coding agent, your instruction needs to be detailed yet concise so that the AI can understand exactly what you want it to build, why it matters, and how it should be implemented. Vague prompts lead to vague results. The more context you provide &#8212; such as the expected behaviour, constraints, and edge cases &#8212; the better the output.</p><p>Just remember, every prompt you send adds to your context window.</p><h3>Project Directory</h3><p>This is the working folder that the AI agent is making changes to. It contains the following:</p><ul><li><p><strong>Config files</strong> that dictate the behaviour, dependencies and environment of the application you&#8217;re working on.</p></li><li><p><strong>Source code files</strong> used in building the application.</p></li><li><p><strong>Test files</strong> that ensure the app and its implementations behave the way they are meant to.</p></li><li><p><strong>Context files</strong> which include <code>README.md</code>, rules files (<code>AGENTS.md</code>, <code>.cursorrules</code>), skills, and PRDs. Context files help manage the agent&#8217;s understanding of your project and keep it on track while making changes, without compromising code quality.</p></li></ul><h3>Rules file</h3><p>When using coding agents to build an application, one of the most important files to have in your project directory is the rules file. This file is usually located at the root of your project and is the first thing your agent reads each time a new conversation starts.</p><p>The rules file explains the codebase to the agent: the file structure, tools and dependencies used, coding conventions, testing strategy, and any project-specific constraints the agent needs to respect.</p><p>The specific rules file depends on the agent you&#8217;re using. Claude Code uses a <code>CLAUDE.md</code> file, Gemini uses a <code>GEMINI.md</code> file, Cursor uses <code>.cursorrules</code> alongside <code>.mdc</code> rule files, and other agents follow the conventional <code>AGENTS.md</code> format. If you&#8217;re working with a team where members use different agents, I recommend maintaining a single <code>RULES.md</code> file in a <code>/docs</code> folder, then referencing it from each agent&#8217;s rules file in the root directory. Something like this:</p><pre><code>@docs/RULES.md</code></pre><p>This way, you only have to maintain one file as your codebase grows and requirements change.</p><p>Keep your rules file concise. Don&#8217;t include implementation details or unnecessary explanations. Straight to the point and simple.</p><p>Check out this <code>CLAUDE.md</code> file I'm currently using for an open-source project I'm working on <a href="https://github.com/Aliemeka/spit.sh/blob/main/docs/CLAUDE.md">right here</a>.</p><h3>Product Requirements Documents (PRDs)</h3><p>PRDs provide implementation details that the coding agent should follow for a specific task. Think of them as a guide that outlines what to do and how to do it. PRDs are task-specific and are usually named after the task they describe, e.g. <code>integrate-google-oauth-prd.md</code>. You can place these files in a <code>docs/prds</code> folder.</p><p>A typical PRD should contain at least the following:</p><ul><li><p>Task specification</p></li><li><p>Implementation details</p></li><li><p>Workflow</p></li><li><p>Testing strategy</p></li><li><p>Acceptance criteria (with checkboxes)</p></li></ul><p>PRDs are useful because they keep your coding agent on track with the changes that need to be made, even if you close a conversation abruptly and start a new one. You can point the agent to the relevant PRD and it will pick up from where things left off.</p><p>I recommend referencing the path to your PRDs folder in your RULES.md file. You can also prompt the agent itself to draft a PRD for a given task before it starts writing any code, then save it for future reference.</p><p>A general rule of thumb is keep task as modular and simple as possible. So if the task is too complex, it is recommended to break it up into even smaller tasks.</p><h3>Skills</h3><p>Skills are a relative new but highly useful convention. Skills are reusable instruction files that teach your coding agent how to perform specific tasks consistently. Think of them like recipes. Instead of explaining to the agent how to set up a FastAPI project with your preferred folder structure every single time, you write it once in a skill file and the agent follows it whenever that task comes up.</p><p>A skill file is typically a markdown file, e.g. <code>fastapi-setup.md</code>,<code> material-design.md</code> or <code>nextjs-component.md</code>, and you can store them in a <code>docs/skills</code> folder. Each skill should contain the steps, conventions, and constraints the agent needs to follow for that particular task. They differ from PRDs because unlike PRDs which are one-off task instructions that get completed and moved on from, skills are reusable across multiple tasks and conversations.</p><p>You can also install skills from online sources especially for best practices for external libraries and services your application relies on. Notable examples are anthropics/skills, callstackincubator/agent-skills (React Native), netlify's agent skills, microsoft's Azure SDK skills, and the Antigravity Awesome Skills library which contains over 1,200+ community-contributed skills compatible with Claude Code, Cursor, Gemini CLI, and other agents. </p><pre><code>BE CAREFUL WHEN DOWNLOADING SKILLS, SOME OF THEM HAVE COMMANDS FOR PROMPT INJECTION IN THEM THAT MAY COMPROMISE YOUR SECURITY</code></pre><p>Skills are especially useful when you&#8217;re working on a project with repeating patterns. For example, if every new API endpoint in your project follows the same structure (router, service, schema, test), you can write a skill for it and the agent will replicate that pattern each time without you having to re-explain it.</p><p>I recommend referencing your skills folder in your <code>RULES.md</code> file so the agent knows where to find them. </p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you've read this far, consider subscribing to Dome Academy Bytes. We share weekly insights on tech to help you grow in your tech career.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>The Codebase</h3><p>These are the files that contain the code your application is built on. The codebase is what the coding agent interacts with to implement features, apply updates, and refactor existing logic. It is important that you understand your codebase well, especially if you&#8217;re building production applications that serve real users.</p><p>Your codebase should have the following attributes:</p><ul><li><p>A well-structured and modular file architecture</p></li><li><p>Linting and code formatting tools (e.g. ESLint, Prettier, Ruff)</p></li><li><p>A test suite with meaningful coverage</p></li><li><p>Clean, readable code with consistent naming conventions</p></li><li><p>Version control with clear commit history and branching strategy</p></li><li><p>Environment configuration and secrets managed through <code>.env</code> files and not hardcoded values</p></li><li><p>Dependency management with a lockfile (e.g. <code>package.json</code>/<code>package-lock.json</code>, <code>Cargo.toml</code>/<code>Cargo.lock</code>, <code>requirements.txt</code>, <code>go.mod</code>) to track external packages and their versions</p></li></ul><p>When your codebase has these attributes in place, the coding agent has a much easier time navigating and making changes without breaking things. A messy codebase with no structure, no tests, and inconsistent patterns forces the agent to guess, and guessing is where bugs come from. Think of it this way: if a new developer would struggle to understand your codebase, the agent will too.</p><p>Your rules file and skills help ensure the agent follows your project's conventions and patterns, but they're only as effective as the codebase they're applied to. A well-maintained codebase gives the agent the right foundation to work with, while a messy one undermines even the best instructions.</p><h3>Tools</h3><p>Tools are plugins and integrations that extend your coding agent's capabilities beyond just reading and writing code. Through protocols like MCP (<a href="https://modelcontextprotocol.io/docs/getting-started/intro">Model Context Protocol</a>), your agent can connect to external services and resources such as documentation sites, databases, design tools like Figma, project management platforms like Jira and Linear, and APIs. For example, instead of manually copying documentation into your prompt, an MCP server can give your agent direct access to the latest docs for a library or framework.</p><p>For one, I find the <a href="https://developers.figma.com/docs/figma-mcp-server/">Figma MCP tool</a> very useful on Claude Code because it lets me one-shot complex UI designs right from Figma into my React codebase saving me a lot of time and effort. Other notable MCP tools include:</p><ul><li><p><strong><a href="https://context7.com/">Context7</a>:</strong> Fetches up-to-date, version-specific documentation and code examples directly into your agent&#8217;s context, preventing hallucinated APIs and outdated patterns.</p></li><li><p><strong><a href="https://github.com/github/github-mcp-server">GitHub MCP server</a>:</strong> Lets your agent manage pull requests, issues, and repositories without leaving your editor.</p></li><li><p><strong><a href="https://linear.app/docs/mcp">Linear MCP server</a>:</strong> Connects your agent to your Linear workspace so it can read tickets, update issue status, and reference task details while implementing features.</p></li><li><p><strong><a href="https://playwright.dev/docs/getting-started-mcp">Playwright MCP server</a>:</strong> Gives your agent browser automation capabilities for testing, visual verification, and interacting with web pages.</p></li><li><p><strong><a href="https://docs.sentry.io/ai/mcp/">Sentry MCP server</a>:</strong> Lets your agent query error logs, unresolved issues, and stack traces from your Sentry projects to debug faster.</p></li></ul><p>Tools are a productivity hack because they eliminate the back-and-forth between your agent and you. Without them, you'd have to manually copy documentation, look up error logs, check ticket details, and paste them into your prompts. With the right MCP tools connected, your agent can pull all of that context on its own, which means fewer interruptions, faster iterations, and more time spent building.</p><p>Now you have a clear picture of the basic components that up context-based engineering architecture, it great to know how to rightly approach context-based engineering.</p><p></p><h2>The Ideal Context Engineering Workflow</h2><p>The ideal workflow when it comes to software engineering with AI agents doesn't differ significantly from the regular software engineering. This means if you employ best practises while working like; writing readable code, breakdown complex task into simpler ones, documenting, and testing, transitioning to using agents would not be much of a hassle.</p><p>There is a step by step guide to approaching context-based engineering:</p><h3>1. Start with a plan</h3><p>Before you write your first prompt to the AI you need to start with a plan. Whether it's a minor bug fix or a complex end-to-end feature, you need to understand what you need to do and the direction you need to take. Don't just throw a prompt and tell it to build something and &#8220;<em>not make mistakes</em>".</p><p>The planning involves the following:</p><ol><li><p><strong>Start with some research and brainstorming, </strong>especially when you aren't clear about how to implement a solution or you don't fully understand the problem. You can use AI chatbots outside of your coding agent like ChatGPT, Claude, or Gemini for this or use <strong>plan mode</strong>. They can provide answers and point you to resources like documentation, videos, and articles that help improve your understanding. You can constantly refine your understanding by telling the AI to ask you clarifying questions.</p></li><li><p>Next, ask the chatbot to <strong>generate planning prompts</strong> that will help you create your rules file (if you're just starting the project) and PRD files. Specify the features you want to add and also specific tools you'd want the project to be built with. Here's an example of what a typical planning prompt looks like:</p><pre><code>Help me generate prompt messages for Claude Code. The project is a ticketing app built with Next.js 15, Supabase and PostgreSQL. I need prompts that will:

1. Initialise the project and generate a CLAUDE.md file covering the tech stack, folder structure, coding conventions, and testing strategy.
2. Create a PRD for implementing user authentication with Google OAuth and email/password sign-up.
3. Create a PRD for building the ticket creation and assignment workflow.

The agent should use pnpm as the package manager and not npm.
 
The prompts should be detailed, concise, and ready to paste directly into Claude Code.</code></pre></li><li><p><strong>Review and audit the prompts generated</strong>. Ensure the prompts reference the correct files, dependencies, and conventions for your project. If anything looks off or too vague, refine it before passing it to your coding agent. The goal is to hand the agent a prompt that leaves no room for guesswork.</p></li></ol><h3>2. Set up the development environment</h3><p>Once you have a plan and initial setup prompts for the work needed, it's time to set up development environment.</p><ul><li><p>For IDE-based coding agents, open your project directory in the app and use your setup prompt to let the agent generate the rules file(s). For CLI agents, run the agent&#8217;s init command in your terminal (e.g. <code>claude</code> for Claude Code, <code>codex</code> for Codex).</p></li><li><p>Install relevant <strong>skills</strong> for the tools and frameworks you plan to use in your project.</p></li><li><p>Connect the MCP tools your workflow requires, such as Context7 for documentation, GitHub for version control, or Figma for design references.</p></li><li><p>Initialise a <strong>basic boilerplate</strong> for the project using the setup prompt, install the required packages and dependencies, configure linters, code formatters, and set up your testing framework.</p></li><li><p><strong>Set up pre-commit hooks (optional but very helpful). </strong>With pre-commit hooks, you can ensure code is automatically formatted and linted every time a commit is made.</p></li><li><p>Add required environment variables that your app will be depended on like database paths and secret keys.</p></li><li><p>Verify that your agent can read your project files and run commands by giving it a simple test prompt before diving into the actual work.</p></li></ul><h3>3. Create Product Requirement Documents (PRDs)</h3><p>Once you've set up your development environment and the agent has generated your rules file, the next step is to create your PRDs. Use the planning prompts you prepared earlier and pass them to your coding agent. The agent will generate the PRD files outlining the implementation details, workflow, testing strategy, and acceptance criteria for each task. Review each PRD carefully before moving on. If something is missing or unclear, refine it now rather than letting the agent start building with incomplete instructions. Once you're satisfied, save the PRDs in your <code>docs/prds</code> folder and reference the folder path in your <code>RULES</code> config so the agent always knows where to find them.</p><p>If a task to outlined by a particular PRD is too long and complex, consider breaking it down into smaller, simpler PRDs. You could also add indexes or number your PRDs to let the AI know the sequence of execution.</p><h3>4. Execution</h3><p>At this stage, it's time for the agent to start making changes to your codebase. However, there is still a need for a human in the loop, and guardrails need to be in place. Here's how to go about it:</p><ol><li><p>Start by <strong>instructing the coding agent to set up tests</strong> based on the details in each PRD. Unit tests for functional requirements, integration tests for workflows that span multiple services, and end-to-end tests for critical user flows. Test will ensure that the code written by the agent behaves exactly as it should.</p></li><li><p>Point the agent to a PRD and instruct it to implement the feature. Let it work through the task, then review the output. Check that the code follows the conventions in your rules file and handles edge cases. If something is off, don&#8217;t just tell the agent to &#8220;fix it&#8221; &#8212; be specific about what&#8217;s wrong and why.</p></li><li><p>Once you&#8217;re satisfied with the implementation, commit the changes. Keep commits small and focused on one PRD at a time. This makes it easier to track what changed, roll back if something breaks, and keep your git history clean.</p></li><li><p>Run the application and preview the changes locally. Test the feature manually to make sure it looks and behaves the way you expect. Automated tests catch logic errors, but they won't tell you if a button is in the wrong place or if the user experience feels off. If you spot any issues, feed them back to the agent with clear descriptions before moving on.</p></li><li><p>Run your tests to confirm everything works as expected. If any tests fail, point the agent to the failing tests and let it fix the issues before moving on to the next PRD. Repeat the cycle: implement, review, commit, test.</p></li><li><p>If two tasks can be run in parallel, for example a frontend component and its corresponding API endpoint, you can spin up multiple chat windows to work on both simultaneously. Some agents like Claude Code have sub-agents that handle this natively.</p></li><li><p>If everything is great, commit your code and push the branch with your changes to GitHub</p></li></ol><h3>5. Final Code Review and Quality Assurance</h3><p>Before you deploy changes live to production, there needs to be a code review process. This can happen at a team or individual level. If your a solo dev, I recommend you have one main branch  and use feature-branches make pull request to your main branch. This is make it similar as working with a team. Here are few recommendations:</p><ul><li><p>Set up a CI/CD pipeline that runs tests and checks code quality to ensure the code works and is safe to deploy. A tool you can use for this is GitHub Actions.</p></li><li><p>You can use code review agents like <a href="https://www.coderabbit.ai/">CodeRabbit</a>, <a href="https://www.greptile.com/">Greptile</a> or Copilot Review to automate pull reviews. From personal experience, I find CodeRabbit really useful in catching issues that are easy to miss, such as security vulnerabilities, inconsistent patterns, and missing edge cases.</p></li><li><p>Use preview deployments to test your changes in a production-like environment before merging. You can set this up with an cloud services you use to host your application.</p></li></ul><p>If every checks out, the changes can be merged and the update deployed.</p><p></p><h2>Final Remarks</h2><p>Context-based engineering is not about replacing developers with AI. It's about being intentional with how you use AI to build software. It also not vibe-coding because you are involved in the process. </p><p>Remember, the tools are powerful, but they're only as good as the context you provide. Ensure you set up the right environment for the agent to work with: a rules config, a clean and modular codebase, and well-written PRDs. If you do it right, you'll reap the benefits in productivity, excellent code quality and speed.</p><h3>PS</h3><p>This article only scratches the surface of using coding agents in software engineering. Dome Academy will be hosting live sessions where we walk through these workflows in real time so you can see context-based engineering in action. I'm also writing an 'AI-Powered Developer Handbook' which will be a comprehensive guide covering advanced prompting techniques, automation strategies, real-world project walkthroughs, and practical strategies for building production-ready applications with AI coding agents. Stay tuned.</p><p></p><h3>Resources</h3><ul><li><p><strong><a href="https://modelcontextprotocol.io/docs/getting-started/intro">What is the Model Context Protocol (MCP)?</a> </strong>by modecontextprotocol.io</p></li><li><p><strong><a href="https://www.aihero.dev/how-to-make-codebases-ai-agents-love">How To Make Codebases AI Agents Love</a> </strong>by Matt Pocock</p></li><li><p><strong><a href="https://snyk.io/articles/5-best-mcp-servers-for-developers/">5 Best MCPs for Developers</a></strong> by snyk.io</p></li><li><p><strong><a href="https://agentskills.io/home">Agent Skills: Overview</a></strong></p></li><li><p><strong><a href="https://cra.mr/mcp-skills-and-agents/">MCP, Skills, and Agents</a> </strong>by cramr</p></li><li><p><strong><a href="https://www.aihero.dev/ways-ai-coding-has-rewired-my-brain">9 Ways AI Coding Has Rewired My Brain</a></strong> by Matt Pocock</p></li><li><p><strong><a href="https://www.aihero.dev/skill-test-driven-development-claude-code">My Skill Makes Claude Code GREAT</a></strong><a href="https://www.aihero.dev/skill-test-driven-development-claude-code"> </a><strong><a href="https://www.aihero.dev/skill-test-driven-development-claude-code">At TDD</a></strong> by Matt Pocock</p></li><li><p><strong><a href="https://www.youtube.com/watch?v=3zSANOIBHYw">The Unbeatable Local AI Coding Workflow (Full 2026 Setup)</a> </strong>by Zen van Riel</p><p></p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you enjoyed this article and want to see more like it, subscribe to Dome Academy Bytes. We share weekly insights on tech to help you grow your tech career.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h5 style="text-align: center;">Don't forget to like and leave a comment.</h5><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Why Every Developer Should Master Git and GitHub]]></title><description><![CDATA[Benefits of using Git and GitHub]]></description><link>https://bytes.thedomeacademy.com/p/why-every-developer-should-master</link><guid isPermaLink="false">https://bytes.thedomeacademy.com/p/why-every-developer-should-master</guid><dc:creator><![CDATA[Dome Academy]]></dc:creator><pubDate>Mon, 26 Aug 2024 17:12:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rbn0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rbn0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rbn0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rbn0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png" width="706" height="397.125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:706,&quot;bytes&quot;:1490964,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rbn0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!rbn0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd74f972f-a56c-45aa-b329-381059d38b82_2240x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As the tech industry continues to experience rapid growth and transformation, mastering Git and GitHub is very essential. It is one of the most valuable skills you can acquire in your development journey as a developer, it can transform the way you write, manage, and collaborate on code. Understanding these tools not only enhances your coding skills but also prepares you for the demands of modern software development. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.domeinitiative.com/courses/intro-to-git-and-github&quot;,&quot;text&quot;:&quot;Get Started&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.domeinitiative.com/courses/intro-to-git-and-github"><span>Get Started</span></a></p><p></p><h2>What is Git?</h2><p>Git is a popular distributed version control system widely used in software development. Unlike centralized version control systems, Git allows multiple developers to work on the same project simultaneously, even without an internet connection. It was created by Linus Torvalds in 2005 primarily for managing the Linux kernel. Git is designed for speed, data integrity, and support for distributed, non-linear workflows.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!f2rq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!f2rq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 424w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 848w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 1272w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!f2rq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp" width="386" height="216.96732026143792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:344,&quot;width&quot;:612,&quot;resizeWidth&quot;:386,&quot;bytes&quot;:43328,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!f2rq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 424w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 848w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 1272w, https://substackcdn.com/image/fetch/$s_!f2rq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3bd03bba-ae3f-467d-a585-a09d65087934_612x344.webp 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Image by TimArbaev</figcaption></figure></div><h2>What is GitHub?</h2><p>GitHub is a web-based platform that provides hosting for software development and version control using Git. It's a popular choice among developers for its collaboration features, issue tracking, code review, and project management tools.&nbsp;Let&#8217;s discover why every developer should prioritize mastering Git and GitHub.</p><h2>#1 Version Control</h2><p>One of the most powerful features of Git is its ability to track changes in your code. Every time you commit changes, Git records what has changed since the last commit. This means you can easily revert to previous versions, compare changes, and understand the evolution of your project over time. This powerful functionality streamlines debugging and ensures top-notch code quality, making it an indispensable tool for developers.</p><h2>#2 Centralized Code Storage</h2><p>GitHub offers a cloud-based hub for your code that ensures your code is always within reach, no matter where you are or what device you're using. Whether you're working on a solo project or teaming up with others, storing your code in a GitHub repository provides a secure safety net, protecting your progress from hardware malfunctions, data loss, or other potential setbacks.</p><h2>#3 Collaboration Made Easy</h2><p>Git simplifies the process of working in teams. Multiple developers can work on the same project simultaneously without overwriting each other's changes. Git's branching and merging capabilities allow team members to develop features independently and integrate their work seamlessly. This fosters a collaborative environment where ideas can flourish.</p><h2>#4 Improving Code Quality</h2><p>Using Git allows you to review your past code, identify areas for improvement, and implement best practices. By maintaining a history of your work, you can reflect on your coding journey, learn from mistakes, and see how your skills have evolved over time. This continuous improvement mindset is crucial for any developer.</p><h2>#5 Open Source Contributions</h2><p>GitHub is a hub for open-source projects, making it easy for developers to contribute to existing projects or start their own. By mastering Git and GitHub, you can engage with the open-source community, collaborate with other developers, and showcase your skills. This involvement can significantly enhance your learning and professional network.</p><h2>#6 Showcasing Your Work</h2><p>GitHub serves as an online portfolio for developers. By pushing your projects to GitHub, you can showcase your skills to potential employers and collaborators. Recruiters often look for GitHub profiles to assess a candidate's coding abilities and contributions to the community. A well-maintained GitHub profile can significantly enhance your job prospects.</p><h2>#7 Continuous Learning and Improvement</h2><p>Using Git and GitHub encourages a mindset of continuous improvement. By regularly committing code and reviewing past projects, you can reflect on your growth as a developer and identify areas for further learning. This practice not only enhances your technical skills but also prepares you for more advanced roles in the future.</p><h2>How to Get Started with Git and GitHub</h2><p>Starting your journey with Git and GitHub can be both exciting and a bit overwhelming. From managing repositories to collaborating on projects, there's a lot to explore. But don't worry&#8212;we&#8217;ve got you covered! Instead of just listing the steps, we&#8217;ve created a comprehensive course that walks you through everything you need to know to get started with Git and GitHub. Guess what? It is completely free. Whether you're a beginner or looking to sharpen your skills, this course will provide you with practical insights and hands-on experience. Ready to dive in? Join our free Git and GitHub course now and take your coding skills to the next level! </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.domeinitiative.com/courses/intro-to-git-and-github&quot;,&quot;text&quot;:&quot;Register Now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.domeinitiative.com/courses/intro-to-git-and-github"><span>Register Now</span></a></p>]]></content:encoded></item><item><title><![CDATA[7 Essential Tools that Maximize your Productivity as a Developer]]></title><description><![CDATA[10X your productivity as a developer by using the right tools]]></description><link>https://bytes.thedomeacademy.com/p/7-essential-tools-that-maximize-your</link><guid isPermaLink="false">https://bytes.thedomeacademy.com/p/7-essential-tools-that-maximize-your</guid><dc:creator><![CDATA[Dome Academy]]></dc:creator><pubDate>Fri, 29 Mar 2024 13:03:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V_vd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V_vd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V_vd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V_vd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1355175,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!V_vd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!V_vd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9fd78d-fa08-4027-a22c-12034bf273cb_2240x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>As a developer, productivity is so important to your daily workflow. Most times, you can be productive all on your own. However, using the right tools can boost your productivity. In this article, we'll explore seven core tools that every developer should consider integrating into their toolkit.</p><h4>#1 Integrated Development Environments (IDEs) and Code Editors</h4><p>IDEs like Visual Studio, Atom, or JetBrains IntelliJ IDEA offer comprehensive coding, debugging, and version control features in a centralized environment, aiding organization and focus. Meanwhile, lightweight code editors such as Visual Studio Code, Zed, Sublime Text, Notepad++, or Vim are preferred for quick edits or scripting tasks due to their speed, simplicity, and extensibility, providing alternative options for developers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DiF1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DiF1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 424w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 848w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 1272w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DiF1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png" width="1012" height="506" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3996d0f1-d551-4075-8666-c9186e266490_1012x506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:506,&quot;width&quot;:1012,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Visual Studio Code - Code Editing. Redefined&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Visual Studio Code - Code Editing. Redefined" title="Visual Studio Code - Code Editing. Redefined" srcset="https://substackcdn.com/image/fetch/$s_!DiF1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 424w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 848w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 1272w, https://substackcdn.com/image/fetch/$s_!DiF1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3996d0f1-d551-4075-8666-c9186e266490_1012x506.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Visual Studio Code</figcaption></figure></div><h4>#2 Version Control Systems</h4><p>Version control systems like Git allow developers to track changes to their code, collaborate with team members, and revert to previous versions if needed. Platforms like GitHub and Bitbucket host your repositories, making sharing your code with others easy.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0mFU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0mFU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 424w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 848w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 1272w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0mFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png" width="1024" height="650" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:650,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Bitbucket Cloud gets a new source browser experience - Bitbucket&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Bitbucket Cloud gets a new source browser experience - Bitbucket" title="Bitbucket Cloud gets a new source browser experience - Bitbucket" srcset="https://substackcdn.com/image/fetch/$s_!0mFU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 424w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 848w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 1272w, https://substackcdn.com/image/fetch/$s_!0mFU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcefa3812-a768-46ac-8f68-e9fc70a90832_1024x650.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Bitbucket</figcaption></figure></div><h4>#3 Task and Project Management Tools</h4><p>Tools like Trello, Asana, or Jira can help you keep track of your tasks, set deadlines, and prioritize your work. By breaking down your projects into smaller, manageable tasks, you can stay organised and ensure that nothing falls through the cracks.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Urto!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Urto!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 424w, https://substackcdn.com/image/fetch/$s_!Urto!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 848w, https://substackcdn.com/image/fetch/$s_!Urto!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 1272w, https://substackcdn.com/image/fetch/$s_!Urto!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Urto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png" width="1456" height="813" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:813,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Planning Poker Power-Up | Trello&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Planning Poker Power-Up | Trello" title="Planning Poker Power-Up | Trello" srcset="https://substackcdn.com/image/fetch/$s_!Urto!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 424w, https://substackcdn.com/image/fetch/$s_!Urto!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 848w, https://substackcdn.com/image/fetch/$s_!Urto!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 1272w, https://substackcdn.com/image/fetch/$s_!Urto!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf82188f-0c18-48a0-8427-6bc154a20da0_2880x1608.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Trello</figcaption></figure></div><h4>#4 Documentation Generators</h4><p>Writing clear and comprehensive documentation is essential for maintaining and sharing your projects. Documentation generators like Javadoc, Swagger, Sphinx, Docusurus or Doxygen can automatically generate documentation from your code comments, saving time and ensuring project consistency.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!639K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!639K!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 424w, https://substackcdn.com/image/fetch/$s_!639K!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 848w, https://substackcdn.com/image/fetch/$s_!639K!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!639K!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!639K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png" width="1456" height="815" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:815,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!639K!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 424w, https://substackcdn.com/image/fetch/$s_!639K!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 848w, https://substackcdn.com/image/fetch/$s_!639K!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 1272w, https://substackcdn.com/image/fetch/$s_!639K!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4fda90c3-78d5-4684-91f3-5266c990885d_1895x1061.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Swagger doc</figcaption></figure></div><h4>#5 Continuous Integration and Deployment (CI/CD) Tools</h4><p>CI/CD tools like Github Actions, Jenkins, Travis CI, or CircleCI automate the process of building, testing, and deploying your code. Using CI/CD tools ensures your code is always up-to-date, properly tested, and deployed without manual intervention.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!eXLy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!eXLy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!eXLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg" width="1032" height="887" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:887,&quot;width&quot;:1032,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Introducing GitHub Actions | CSS-Tricks - CSS-Tricks&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Introducing GitHub Actions | CSS-Tricks - CSS-Tricks" title="Introducing GitHub Actions | CSS-Tricks - CSS-Tricks" srcset="https://substackcdn.com/image/fetch/$s_!eXLy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 424w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 848w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!eXLy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F82e9345b-e469-41f4-8459-67301776e631_1032x887.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">GitHub Action Workflow</figcaption></figure></div><h4>#6 Developer Tools</h4><p>Developer Tools are essential resources for product developers. Web developers use browser developer tools like Chrome DevTools and Firefox Developer Edition to enable real-time inspection and manipulation of web elements. Mobile developers use tools like Xcode with Instruments for iOS development, and Android Studio with Android Debug Bridge (ADB) for Android development, providing comprehensive environments for building, testing, and optimizing mobile applications.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!heq0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!heq0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 424w, https://substackcdn.com/image/fetch/$s_!heq0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 848w, https://substackcdn.com/image/fetch/$s_!heq0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 1272w, https://substackcdn.com/image/fetch/$s_!heq0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!heq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png" width="1456" height="866" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:866,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:290688,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!heq0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 424w, https://substackcdn.com/image/fetch/$s_!heq0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 848w, https://substackcdn.com/image/fetch/$s_!heq0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 1272w, https://substackcdn.com/image/fetch/$s_!heq0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fceb47e76-1f8b-4e95-8feb-ce9c2997b42d_1459x868.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Chrome Dev Tools</figcaption></figure></div><h4>#7 Code snippets and code generators: </h4><p>Code snippets are tiny blocks of code that can be generated through keybindings on a code editor. They are good starting points for your programs. Code generator generators are web-based and desktop tools that generate code based on your input, you use AI tools like GitHub Copilot to generate code.</p><div><hr></div><p>By incorporating these core tools into your workflow, you can boost your productivity as a developer and take your coding skills to the next level. Whether working on a solo project or collaborating with a team, having the right tools at your disposal can make all the difference in your success. So why wait? Start exploring these tools today and watch your productivity soar!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you enjoyed this post and want more tech-related posts like this, subscribe to Dome Academy Bytes.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Simple Git Commands Every Developer Must Know]]></title><description><![CDATA[11 essential git commands to know for any software project]]></description><link>https://bytes.thedomeacademy.com/p/simple-git-commands-every-developer</link><guid isPermaLink="false">https://bytes.thedomeacademy.com/p/simple-git-commands-every-developer</guid><dc:creator><![CDATA[Dome Academy]]></dc:creator><pubDate>Fri, 15 Mar 2024 09:01:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1luX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1luX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1luX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!1luX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!1luX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!1luX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1luX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1201155,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1luX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!1luX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!1luX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!1luX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe2eac738-7e86-44c2-ae97-3ae10985b8e3_2240x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Whether you're just starting your coding journey or a seasoned pro, understanding <strong>git</strong> and its core commands is essential for efficient collaboration and version management. In this article, we'll walk you through the fundamental Git commands that every developer must know, providing clear explanations and examples.</p><h3><strong>What is Git?</strong></h3><p>Git is a distributed version control system that allows developers to track changes to their codebase, collaborate with others, and manage project versions effectively. It offers a decentralized workflow, enabling multiple developers to work on the same codebase simultaneously without conflicts.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OiDR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OiDR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OiDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg" width="392" height="220.33986928104576" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:344,&quot;width&quot;:612,&quot;resizeWidth&quot;:392,&quot;bytes&quot;:49471,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OiDR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 424w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 848w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!OiDR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa4b98d7e-90bd-4fed-9c49-47dcb3ff54bb_612x344.jpeg 1456w" sizes="100vw"></picture><div></div></div></a><figcaption class="image-caption">Image by TimArbaev</figcaption></figure></div><h3><strong>Essential Git Commands:</strong></h3><h4>#1. <code>git init</code></h4><p>Use <code>git init</code> to initialize a new Git repository in your project directory. This command creates a hidden <code>.git</code> folder, which stores your project's version control information.</p><p>Example:</p><p>bash</p><pre><code><code>$ mkdir my_project  # Creates a new project directory
$ cd my_project
$ git init # Initializes git to track changes</code></code></pre><p></p><h4>#2. <code>git add</code></h4><p>The <code>git add</code> command adds changes in your working directory to the staging area, preparing them to be committed.</p><p>Example:</p><p>bash</p><p><em>- stage a single file "file1.py"&nbsp;</em></p><pre><code><code>$ git add file1.py&nbsp;# stages "file1.py"</code></code></pre><p><em>- stage all the files in the working dir</em></p><pre><code><code>$ git add .&nbsp;&nbsp;</code></code></pre><p></p><h4>#3.<code> git status</code></h4><p>To view the status of your working directory and see which files are staged or modified, use <code>git status</code>.</p><p>Command:</p><p>bash</p><pre><code><code>$ git status&nbsp;</code></code></pre><p></p><h4>#4. <code>git commit</code></h4><p>After staging your changes, use git commit to permanently store them in the repository with a descriptive message.</p><p>Example:</p><p>bash</p><pre><code><code>$ git commit -m "Add feature XYZ"</code></code></pre><p></p><h4>#5. git log</h4><p>The <code>git log</code> command displays a chronological list of commits in the repository.</p><p>Example:</p><p>bash</p><pre><code><code>$ git log</code></code></pre><p></p><h4>#6. <code>git branch</code></h4><p>To create, list, or delete branches in your repository, use <code>git branch</code>.</p><p>Example:</p><p>bash</p><p><em>- create a new branch</em></p><pre><code><code>$ git branch dev&nbsp; # Creates a branch called "dev"</code></code></pre><p><em>- list all branches</em></p><pre><code><code>$ git branch</code></code></pre><p>- <em>delete a branch</em></p><pre><code><code>$ git branch -D quick-audit&nbsp; # deletes 'quick-audit' branch</code></code></pre><p></p><h4>#7. <code>git checkout</code></h4><p>To switch between branches or restore files to a previous state, use <code>git checkout</code>.</p><p>Example:</p><p>bash</p><p><em>- switch to an existing branch "dev"</em></p><pre><code><code>$ git checkout dev # Switches to dev branch</code></code></pre><p><em>- create and switch to a new branch</em></p><pre><code><code>$ git checkout -b feature-1&nbsp;# Create and switch to "feature-1" branch</code></code></pre><p></p><h4>#8. <code>git merge</code></h4><p>The <code>git merge</code> command combines changes from different branches into your current branch.</p><p>Example:</p><p>bash</p><pre><code><code>$ git merge feature-1&nbsp; # merges the feature-1 branch to the current branch</code></code></pre><p></p><h4>#9. <code>git remote</code></h4><p>This command creates connections with remote repositories on Github, GitLab or BitBucker.</p><p>Example:</p><p>bash</p><p><em>- list all remote connection</em></p><pre><code><code>$ git remote</code></code></pre><p><em>- create a connection to a remote repo with a reference</em></p><pre><code><code>$ git remote add origin &lt;link-to-remote-repo&gt; # Creates new connection to remote repo with the reference "origin"</code></code></pre><p><em>- disconnect from a remote repo</em></p><pre><code><code>$ git remote remove origin # Removes&nbsp;the remote reference to origin</code></code></pre><p></p><h4>#10.<code> git push</code></h4><p>After committing your changes, use <code>git push</code> to upload them to a remote repository, enabling collaboration with others.</p><p>Example:</p><p>bash</p><p><em>- sync changes from a local branch to an existing branch in a remote repository</em></p><pre><code><code>$ git push origin dev </code></code></pre><p><em>- sync changes from a local branch to a non-existing branch in a remote repository</em></p><pre><code><code>$ git push origin -u dev # Creates and updates a branch "dev" in the remote repo</code></code></pre><p><em>- sync changes from a local branch to a matching branch in the remote repository</em></p><pre><code><code>$ git push</code></code></pre><p></p><h4>#11. <code>git pull</code></h4><p>Use <code>git pull</code> to fetch and merge changes from a remote repository to your local branch.</p><p>Example:</p><p>bash</p><p><em>- sync changes from a remote branch to a local branch</em></p><pre><code><code>$ git pull origin main # Pulls changes to the remote branch "main"</code></code></pre><p><em>- sync all changes from the remote branch</em></p><pre><code><code>$ git pull</code></code></pre><p></p><h2><strong>Conclusion</strong></h2><p>Mastering these essential Git commands lays a strong foundation for effective version control and collaboration in your development projects. Whether you're a beginner or an experienced developer, understanding Git is a valuable skill that will streamline your workflow and enhance productivity.</p><p>Ready to take your coding skills to the next level? Join <a href="https://bit.ly/join-dome">Dome Academy's</a> vibrant community of developers and learners today! Sign up for our newsletter to stay updated on the latest tech trends, courses, and exclusive offers. Let's embark on this coding journey together!&nbsp;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you enjoyed this post and want more tech-related posts like this, subscribe to Dome Academy Bytes.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[A Beginner's Guide to Programming]]></title><description><![CDATA[A comprehensive beginner's guide to the world of programming.]]></description><link>https://bytes.thedomeacademy.com/p/a-beginners-guide-to-programming</link><guid isPermaLink="false">https://bytes.thedomeacademy.com/p/a-beginners-guide-to-programming</guid><dc:creator><![CDATA[Dome Academy]]></dc:creator><pubDate>Mon, 15 May 2023 09:00:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ozV4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ozV4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ozV4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ozV4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1145153,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ozV4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 424w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 848w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 1272w, https://substackcdn.com/image/fetch/$s_!ozV4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa09230-1956-4901-8986-efb1640735f9_2240x1260.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Of all the highly valued skills in the tech industry, computer programming is one of the top 3 most essential skills on demand. Programming jobs like software development, automation scripting, robotics and data science are part of the highest-paying skills in tech. The average salary of an entry-level programmer can range between $20K to $55K annually in the US and senior-level role salaries can be up to over $350K annually in the US.</p><h3>What is programming?</h3><p>According to Coursera, <strong>programming</strong> refers to a <strong>technological process</strong> for telling a computer which <strong>tasks to perform</strong> in order to <strong>solve problems</strong>. You can think of programming as a collaboration between humans and computers, in which humans create instructions for a computer to follow (code) in a language computers can understand.</p><p>Simply put, programming is telling the computer what to do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!H5M6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!H5M6!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 424w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 848w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 1272w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!H5M6!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif" width="498" height="277" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:277,&quot;width&quot;:498,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Coding GIFs | Tenor&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Coding GIFs | Tenor" title="Coding GIFs | Tenor" srcset="https://substackcdn.com/image/fetch/$s_!H5M6!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 424w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 848w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 1272w, https://substackcdn.com/image/fetch/$s_!H5M6!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76f72395-67dc-43e3-bae6-38f42731a5f8_498x277.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Coding. Photo credits: Tenor</figcaption></figure></div><h3>Why should you consider programming?</h3><p>There are a number of reasons you may consider a programming career.</p><ul><li><p>You are into math, logic and problem-solving.</p></li><li><p>You are interested in how applications and computers work under the hood and want to build one yourself.</p></li><li><p>You are interested in a career that involves coding like software engineering or data science.</p></li><li><p>You want to automate a process that takes you too much time to complete.</p><p></p></li></ul><h3>How do you get started with programming?</h3><p>Getting started with coding can be intimidating, but it's not as difficult as it may seem.</p><p>The best way to get started is to choose a programming language that interests you, and then find beginner-level tutorials, books, or online courses that will teach you the basics.</p><p>You can also join a programming community, coding academy or bootcamp.</p><p>Start with simple projects or challenges and build your way up as you gain confidence and experience.</p><h3>Popular Programming Languages</h3><p>According to the StackOver 2022 review, the top 10 most popular programming languages include:</p><ul><li><p>Javascript</p></li><li><p>Python</p></li><li><p>Java</p></li><li><p>Typescript</p></li><li><p>C#</p></li><li><p>C++</p></li><li><p>PHP</p></li><li><p>C</p></li><li><p>Go</p></li><li><p>Ruby</p></li></ul><p>Other notable programming languages include Swift, Kotlin, Scala, Rust, Cjoure, Julia, Perl, Haskel, Lisp, Solidity, R and Dart.</p><h3>Programming Languages Used in Tech Fields</h3><p>There are specialized programming languages used in certain fields:</p><p><strong>Web development:</strong> The most popular language for web development is <strong><a href="https://www.youtube.com/watch?v=W6NZfCO5SIk">Javascript</a></strong> because it can be used for both frontend (the UI the user sees on the browser) development and backend development (the unseen logic that makes the website work from a server). Other programming languages used in web development include PHP, Python, Ruby, Java and Go.</p><p><strong>Data Science: <a href="https://www.youtube.com/watch?v=LHBE6Q9XlzI">Python</a></strong> is the most popular language for data science because it is easy to write and read, and has a lot of math and data science libraries. Another popular language for data science is <strong>R</strong>. Other languages for data science include Julia, Javascript, C and MATLAB.</p><p><strong>Desktop app development:</strong> The most popular languages for desktop app development include Java, Scala, C#, Javascript and Typescript.</p><p><strong>Mobile app development:</strong> When building mobile apps, it depends on the platform. You can either build for the <strong>Android platform</strong> or the <strong>IOS platform</strong>. If you're building for Android the languages to use include <strong>Kotlin</strong> and <strong>Java</strong>. <strong>Swift</strong> and <strong>Objective-C</strong> are the widely used language for IOS app development. You can also build across platforms with languages like <strong><a href="https://flutter.dev/">Dart</a></strong> (with Flutter), <strong><a href="https://www.youtube.com/watch?v=dK7XQwOy6vU">C#</a></strong> (with Xamarin) and <strong><a href="https://reactnative.dev/">Javascript</a></strong> (with React Native).</p><p><strong>Game development:</strong> The most popular platforms for game development Unity and Unreal engine use both C# and C/C++ for development. Other gaming tools use languages like Python and Java. Python has a beginner-friendly library for game development called <strong><a href="http://www.pygame.org">Pygames</a></strong>.</p><p><strong>Blockchain development:</strong> The most popular language for blockchain development is <strong><a href="https://www.youtube.com/watch?v=ipwxYa-F1uY">Solidity</a></strong> used for making smart contracts for Ethereum. Other programming languages used for blockchain development include Rust, C/C++ and Go.</p><p><strong>Robotics and embedded systems:</strong> <strong>C and C++</strong> remain the most widely used languages for robotics and embedded systems. However, due to the security issues with these languages, <strong>Rust</strong> is becoming the preferred language. Python and Go can also be used for robotics and embedded systems programming.</p><h3>Common programming concepts</h3><p>There are common concepts that are universal across most programming languages, they include:</p><ul><li><p>Variables</p></li><li><p>Conditionals</p></li><li><p>Loops</p></li><li><p>Functions</p></li><li><p>Classes and objects</p></li></ul><h4>Variables</h4><p>In programming, a <strong>variable</strong> is a named container that can store a value or reference to a value. Variables allow us to store and manipulate data in our programs, making it easier to write reusable and dynamic code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rS4i!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rS4i!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 424w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 848w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 1272w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rS4i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png" width="416" height="267.8787878787879" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a9983249-76d8-4933-9a47-a82069a0650a_1188x765.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:765,&quot;width&quot;:1188,&quot;resizeWidth&quot;:416,&quot;bytes&quot;:171346,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rS4i!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 424w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 848w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 1272w, https://substackcdn.com/image/fetch/$s_!rS4i!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa9983249-76d8-4933-9a47-a82069a0650a_1188x765.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>Javascript</strong> example, we're defining a variable called age and assigning it an initial value of 30. We can now use this variable throughout our program to perform calculations, comparisons, or any other operations that involve the age of a person.</p><h4>Conditionals</h4><p>In programming, conditionals are statements that allow us to execute certain blocks of code based on whether a condition is <strong>true</strong> or <strong>false</strong>. In most programming languages, conditionals are implemented using the <strong>if</strong> statement. The <strong>if</strong> statement takes a condition and executes the code inside the block if the condition is true.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1vSr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1vSr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 424w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 848w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 1272w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1vSr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png" width="452" height="254.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:452,&quot;bytes&quot;:663555,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1vSr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 424w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 848w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 1272w, https://substackcdn.com/image/fetch/$s_!1vSr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F007fee4d-ddd6-4560-9943-7beb07f5cab6_2464x1386.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>Python</strong> example, we're using the <strong>modulo operator</strong> % to determine if the number is even or odd. If the <strong>remainder</strong> of the number divided by 2 is 0, the number is even, so we print "<em>The number is even</em>". Otherwise, we print "<em>The number is odd</em>".</p><h4>Loops</h4><p>In programming, <strong>loops</strong> allow us to execute a block of code repeatedly. Loops are useful for performing repetitive tasks, such as iterating over an array or processing a large dataset. In most programming languages, there are several types of loops available, including for, while, and do-while loops. The for loop is commonly used when we know in advance the number of times we want to execute a block of code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TFdB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TFdB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 424w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 848w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 1272w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TFdB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png" width="494" height="277.5357142857143" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:1456,&quot;resizeWidth&quot;:494,&quot;bytes&quot;:607392,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TFdB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 424w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 848w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 1272w, https://substackcdn.com/image/fetch/$s_!TFdB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ab5f230-d1a3-4db8-966c-3f2341c1a8ca_2376x1335.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>Ruby</strong> example, we're using a <strong>for loop</strong> to iterate over the range 1..10, which includes the <strong>integers</strong> from 1 to 10. On each iteration of the loop, we print the value of <strong>i</strong> using the <code>puts</code> method. This code will output the numbers from 1 to 10 on separate lines.</p><h4>Functions</h4><p>In programming, <strong>functions</strong> are reusable blocks of code that perform a specific task. Functions help to organize code and make it more modular, which makes it easier to read, debug, and maintain. <strong>Functions</strong> are typically defined with a name, a list of <strong>parameters</strong>, and a block of code that is executed when the function is <strong>called</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1li9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1li9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 424w, https://substackcdn.com/image/fetch/$s_!1li9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 848w, https://substackcdn.com/image/fetch/$s_!1li9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 1272w, https://substackcdn.com/image/fetch/$s_!1li9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1li9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png" width="482" height="270.43656422379826" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:712,&quot;width&quot;:1269,&quot;resizeWidth&quot;:482,&quot;bytes&quot;:185627,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1li9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 424w, https://substackcdn.com/image/fetch/$s_!1li9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 848w, https://substackcdn.com/image/fetch/$s_!1li9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 1272w, https://substackcdn.com/image/fetch/$s_!1li9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F62b3d4fd-c919-4258-b349-b881af9b6094_1269x712.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>C </strong>example, we're defining a function called add that takes two integer parameters, <strong>a</strong> and <strong>b</strong>. Inside the function, we're defining a <strong>local variable</strong> called <strong>sum</strong> that holds the result of adding <strong>a</strong> and <strong>b</strong> together. Finally, we're return&#65279;ing the value of <strong>sum </strong>using the <strong>return</strong> keyword.</p><h4>Classes &amp; Objects</h4><p>In programming, a <strong>class</strong> is a blueprint for creating <strong>objects</strong> that share a set of properties and methods. A class defines the structure and behaviour of an <strong>object</strong>, including its <strong>attributes</strong> (data) and <strong>methods</strong> (functions).</p><p>An <strong>object</strong> is an <strong>instance</strong> of a <strong>class</strong>, which means that it has its own set of values for the <strong>attributes</strong> and can <strong>invoke</strong> the methods defined in the class.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Gkf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Gkf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 424w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 848w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 1272w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Gkf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png" width="516" height="290.25" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:516,&quot;bytes&quot;:267280,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9Gkf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 424w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 848w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 1272w, https://substackcdn.com/image/fetch/$s_!9Gkf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea3854c-eb62-4643-a432-ad1760c86789_1588x893.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>Java</strong> example, we're defining a class called Person that has a private attribute called name and a <strong>constructor</strong> that sets the value of name when a new object is created. We're also defining a <strong>public method</strong> called <code>printName</code> that prints the name of the person to the console using the <code>System.out.println</code> method.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!T_b2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!T_b2!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 424w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 848w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 1272w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!T_b2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png" width="496" height="279" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:496,&quot;bytes&quot;:898265,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!T_b2!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 424w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 848w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 1272w, https://substackcdn.com/image/fetch/$s_!T_b2!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57551438-9e94-4a7c-a1b6-2c43723086f7_3137x1764.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In this <strong>Java </strong>example, we're creating an object instance of the Person class called john. It has a name attribute set to "John" and a <strong>printName</strong> method that pri&#65279;nts the name to the console. Calling <code>john.printName()</code> would output "<em>My name is John</em>" to the console.</p><h3>Some challenges programmers face</h3><p>When embarking on your programming journey, you will have the following challenges:</p><ol><li><p>Lack of motivation</p></li><li><p>Lack of resources</p></li><li><p>Tutorial hell</p></li><li><p>Burn out</p></li></ol><h3>How to overcome them</h3><p>You can overcome challenges by doing any or all of these:</p><ol><li><p>Join a community.</p></li><li><p>Utilise YouTube.</p></li><li><p>Have a path, stick to it.</p></li><li><p>Take breaks and rest occasionally.</p></li></ol><h3>Resources you can check out</h3><ul><li><p><a href="https://freecodecamp.org/">Freecodecamp</a></p></li><li><p><a href="https://youtu.be/_uQrJ0TkZlc">Introduction to programming with Python by Mosh Hamedani.</a></p></li><li><p><a href="https://youtu.be/upDLs1sn7g4">Introduction to programming with Javascript by Mosh Hamedani.</a></p></li></ul><h3>So Get Started</h3><p>As you embark on your programming journey, it's important to surround yourself with a supportive community that can enhance your learning experience. Joining Dome Academy's waitlist and becoming part of our vibrant community on <a href="https://bit.ly/join-dome">WhatsApp</a> can greatly benefit you in your coding endeavours. Dome Academy is dedicated to providing top-notch programming education, resources, and a network of like-minded individuals who share a passion for coding. By joining our waitlist, you'll gain access to exclusive updates, early enrollment opportunities, and exciting programming events. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://domeinitiative.com&quot;,&quot;text&quot;:&quot;Join our waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://domeinitiative.com"><span>Join our waitlist</span></a></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://bytes.thedomeacademy.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Dome Academy Bytes! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p></p><p></p><p></p>]]></content:encoded></item></channel></rss>