<?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"><channel><title><![CDATA[Developer Nation Community Feed]]></title><description><![CDATA[Developer Nation Community Feed]]></description><link>https://community-development.developernation.net</link><generator>GatsbyJS</generator><lastBuildDate>Thu, 05 Feb 2026 13:16:19 GMT</lastBuildDate><item><title><![CDATA[Another Discourse test]]></title><description><![CDATA[<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quam facilis asperiores expedita eveniet ex qui magni at eaque deleniti laboriosam ut veniam dignissimos, necessitatibus provident illum sequi autem illo pariatur! Illo placeat beatae nam, molestias in tempore ipsum recusandae odit assumenda iure earum porro vel nemo, impedit, dolorem laborum odio ut nulla voluptatum? Repellat minus [&hellip;]</p>
]]></description><link>https://community-development.developernation.net/blog/another-discourse-test</link><guid isPermaLink="false">https://community-development.developernation.net/blog/another-discourse-test</guid><pubDate>Mon, 16 Dec 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quam facilis&lt;/p&gt;



&lt;p&gt;asperiores expedita eveniet ex qui magni at eaque deleniti laboriosam ut&lt;/p&gt;



&lt;p&gt;veniam dignissimos, necessitatibus provident illum sequi autem illo&lt;/p&gt;



&lt;p&gt;pariatur! Illo placeat beatae nam, molestias in tempore ipsum recusandae&lt;/p&gt;



&lt;p&gt;odit assumenda iure earum porro vel nemo, impedit, dolorem laborum odio ut&lt;/p&gt;



&lt;p&gt;nulla voluptatum? Repellat minus aliquid autem laborum quos omnis&lt;/p&gt;



&lt;p&gt;doloribus, fuga est quo amet delectus quae itaque voluptatum iure esse&lt;/p&gt;



&lt;p&gt;enim eius assumenda quas? Omnis necessitatibus repudiandae vel, iure vitae&lt;/p&gt;



&lt;p&gt;delectus repellendus consequatur error similique architecto rem&lt;/p&gt;



&lt;p&gt;dignissimos at dicta facere harum ab, laudantium pariatur ipsa? Optio rem,&lt;/p&gt;



&lt;p&gt;fugiat excepturi labore nihil sunt voluptas aliquid voluptates, a&lt;/p&gt;



&lt;p&gt;assumenda quasi dolor animi dolorum commodi enim alias laborum natus&lt;/p&gt;



&lt;p&gt;quibusdam accusantium autem voluptate? Neque incidunt magnam quo dolores&lt;/p&gt;



&lt;p&gt;iure ea quod mollitia architecto ut? Iste inventore sint excepturi, sed,&lt;/p&gt;



&lt;p&gt;fugit officiis explicabo quis vero ut doloremque, iure ipsa quaerat ea&lt;/p&gt;



&lt;p&gt;impedit.&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Discourse test]]></title><description><![CDATA[<p>This is a test post to verify integration with the Discourse forum.</p>
]]></description><link>https://community-development.developernation.net/blog/test</link><guid isPermaLink="false">https://community-development.developernation.net/blog/test</guid><pubDate>Fri, 27 Sep 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;This is a test post to verify integration with the Discourse forum.&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Advanced git: Demystifying git Remotes and git cherry-pick: Powerful Tools for Collaboration]]></title><description><![CDATA[<p>Collaboration is key in the world of Git version control. But keeping track of changes from multiple developers can get tricky. This blog post dives into two essential Git features—remotes and cherry-pick—that empower you to streamline your workflow and effectively manage contributions.</p>
]]></description><link>https://community-development.developernation.net/blog/advanced-git-demystifying-git-remotes-and-git-cherry-pick-powerful-tools-for-collaboration</link><guid isPermaLink="false">https://community-development.developernation.net/blog/advanced-git-demystifying-git-remotes-and-git-cherry-pick-powerful-tools-for-collaboration</guid><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;Collaboration is key in the world of Git version control. But keeping track of changes from multiple developers can get tricky. This blog post dives into two essential Git features—remotes and cherry-pick—that empower you to streamline your workflow and effectively manage contributions.&lt;/p&gt;



&lt;p&gt;{{ advertisement }}&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Understanding Git Remotes: A Bird&amp;#8217;s Eye View&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;By default, your GitHub repository typically has a single remote—the origin, representing the main repository you cloned from. However, in larger projects with multiple developers, things get more interesting. Often, developers create personal forks before they push their code.This allows them to work on a separate copy of the code base, and once they are satisfied with the changes, they can merge back into the main codebase.&lt;/p&gt;



&lt;p&gt;Here&amp;#8217;s where remotes come into play. They are references to additional copies of your Git repository, potentially containing valuable contributions from other developers.&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;/&gt;



&lt;p&gt;&lt;em&gt;NEW Developer Nation survey is live! Participate, shape the trends in software development, and win big. &lt;a href=&quot;https://survey.developernation.net/name/dn27/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=advancedgit_blog&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Start here!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;/&gt;



&lt;p&gt;&lt;strong&gt;Let&amp;#8217;s use an Open-Source project: Lottie&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Imagine we&amp;#8217;re working with the fantastic Lottie by Airbnb, a library that renders After Effects animations on mobile platforms. We&amp;#8217;ve cloned a fork (iayanpahwa/lottie-android) and want to explore changes made by other contributors to lottie (gpeal and felipecsl).&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image2-3-660x236.png&quot; alt=&quot;&quot; class=&quot;wp-image-24856&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Adding Remotes: Reaching Out to Other Forks&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;To access these developers&amp;#8217; workspaces, we can add them as remotes using the &lt;code&gt;git remote add&lt;/code&gt; command:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git remote add &amp;lt;remote_name&amp;gt; &amp;lt;repository_URL&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;For example:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git remote add gpeal https://github.com/gpeal/lottie-android.git&lt;/code&gt;&lt;/pre&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git remote add felipecsl https://github.com/felipecsl/lottie-android.git&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Now, using &lt;code&gt;git remote -v&lt;/code&gt;, you can see all configured remotes, including their URLs.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large is-resized&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image1-2-660x404.png&quot; alt=&quot;&quot; class=&quot;wp-image-24858&quot; style=&quot;width:609px;height:auto&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Fetching the Goods: Downloading Changes&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;With remotes in place, we can retrieve changes from other contributors using &lt;code&gt;git fetch&lt;/code&gt;.&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Fetching from a specific remote:&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image3-2-660x310.png&quot; alt=&quot;&quot; class=&quot;wp-image-24860&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;Fetching from all configured remotes:&lt;/li&gt;
&lt;/ul&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;	git fetch --all&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This downloads the commits made by these developers without integrating them into your local working directory yet.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;git cherry-pick: Borrowing the Best Bits&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;Git cherry-pick allows you to meticulously select and apply specific commits from other branches (including those fetched from remotes) onto your current branch. This is particularly useful for integrating contributions from multiple developers, testing them individually, or incorporating specific fixes.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;A Real-World Cherry-picking Scenario&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Imagine you manage an open-source project that receives a wave of pull requests. You might want to test these contributions together before merging them. Here&amp;#8217;s how cherry-picking can help:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Create a New Branch:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git checkout -b my-test-branch&lt;/code&gt;&lt;/pre&gt;



&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Fetch Necessary Code (if not already done):&lt;/strong&gt; Use &lt;code&gt;git fetch&lt;/code&gt; as explained earlier.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Cherry-picking Commits:&lt;/strong&gt; Once you have access to the desired commits, cherry-pick them one by one using their commit hashes:&lt;/li&gt;
&lt;/ol&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git cherry-pick &amp;lt;commit_hash&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;For instance, to test a specific commit (648c61f5275998c461347b5045dc900405306b31) by contributor gpeal:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git cherry-pick 648c61f5275998c461375647845dc900405306b31 &amp;#91; commit made by gpeal ] &lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This brings gpeal’s changes to your my-best-branch for isolated testing.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; Cherry-picking can rewrite history, so use it cautiously. Always create a dedicated branch for testing before integrating changes into your main codebase.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Wrapping Up:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;By mastering remotes and cherry-pick you can effectively collaborate on Git projects, leverage valuable contributions from others, and ensure a smooth and efficient development workflow.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Feel free to reach out with any questions! Happy coding! Do check our blogs on git internals for more learning:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/how-git-submodules-can-save-you-time-and-headaches-taming-the-dependency-beast/&quot;&gt;How Git Submodules Can Save You Time&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-list-of-basic-concepts-that-power-your-git-directory/&quot;&gt;Git Internals Part 1- List of basic Concepts That Power your .git Directory&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-how-does-git-store-your-data/&quot;&gt;Git Internals Part 2: How does Git store your data?&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-part-3-understanding-the-staging-area-in-git/&quot;&gt;Git Internals Part 3: Understanding the staging area in Git&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;em&gt;NEW Developer Nation survey is live! Participate, shape the trends in software development, and win big. &lt;a href=&quot;https://survey.developernation.net/name/dn27/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=advancedgit_blog&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Start here!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Managing Complex Dependencies with Google’s repo tool]]></title><description><![CDATA[<p>In my last blog, I discussed managing dependencies with git submodules. However, for large projects with many dependencies, Google&#8217;s repo tool offers a more efficient solution, providing a streamlined and flexible approach to handle complex dependency management.</p>
]]></description><link>https://community-development.developernation.net/blog/managing-complex-dependencies-with-googles-repo-tool</link><guid isPermaLink="false">https://community-development.developernation.net/blog/managing-complex-dependencies-with-googles-repo-tool</guid><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;In my last blog, I discussed managing dependencies with git submodules. However, when working with large projects that have many dependencies, traditional methods like git submodules can become cumbersome. Google&amp;#8217;s repo tool emerges as a powerful solution specifically designed to handle this challenge.&lt;/p&gt;



&lt;h4 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;What is repo tool?&lt;/strong&gt;&lt;/h4&gt;



&lt;p&gt;repo is an in-house dependency management tool developed by Google. It excels at managing many dependencies, making it ideal for projects like the Android Open Source Project (AOSP) and custom Android ROMs.&lt;/p&gt;



&lt;p&gt;Unlike git submodules, which are an integrated git feature, repo functions as a separate executable script. This necessitates installation before diving in.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://gerrit.googlesource.com/git-repo&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;&lt;strong&gt;Installation (Choose your adventure!)&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Linux:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Create a directory for Repo&lt;/strong&gt;&lt;code&gt;:&lt;/code&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&lt;code&gt;mkdir ~/bin&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;Update your PATH environment variable:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&lt;code&gt;export PATH=~/bin:$PATH&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;Download and make Repo executable:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;curl https://storage.googleapis.com/git-repo-downloads/repo &amp;gt; ~/bin/repo
chmod a+x ~/bin/repo&lt;/code&gt;&lt;/pre&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image4-2-660x241.png&quot; alt=&quot;Google repo tool&quot; class=&quot;wp-image-24826&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;OSX:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Use Homebrew to install Repo:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&lt;code&gt;brew install repo&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-full&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image3-1.png&quot; alt=&quot;Google repo tool&quot; class=&quot;wp-image-24831&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;For other platforms, refer to official docs:&lt;a href=&quot;https://gerrit.googlesource.com/git-repo&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt; https://gerrit.googlesource.com/git-repo&lt;/a&gt;&lt;/p&gt;



&lt;h4 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Manifest Magic: Defining Dependencies&lt;/strong&gt;&lt;/h4&gt;



&lt;p&gt;Repo relies on a &lt;strong&gt;manifest&lt;/strong&gt; file stored in a separate Git repository. This XML file is the central hub, outlining where to fetch project dependencies, their storage location, and specific revisions (commits).&lt;/p&gt;



&lt;p&gt;The beauty of Repo lies in its ability to manage multiple manifests. Imagine a huge, complex project like the Android Operating system with 100 dependencies. You could create a dedicated &amp;#8220;lib.xml&amp;#8221; manifest to fetch those specific libraries, eliminating the need to include hundreds of unrelated dependencies from a broader manifest. Similarly, the testing and compliance team can have “qa.xml” and “compliance.xml” to manage extra QA and compliance-related dependencies separately, which might not be needed in production but required during development. Both could also have the same libraries but different versions. Hence repo using manifest.xml makes handling dependencies extremely flexible.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;For this demo, we&amp;#8217;ll keep things simple with a single &amp;#8220;default.xml&amp;#8221; file.&lt;/p&gt;



&lt;h4 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Creating a Manifest&lt;/strong&gt;&lt;/h4&gt;



&lt;p&gt;&lt;strong&gt;Clone the Example Repository having our manifest:&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&lt;code&gt;git clone git@github.com:iayanpahwa/manifest-demo.git&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;Examine the default.xml file:&lt;br&gt;&lt;/strong&gt;This file specifies the main Project (ex, EazyExit) with two dependencies, FastLED and PubSubClient, along with their corresponding URLs, paths, and revision IDs.&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;manifest&amp;gt;

&amp;lt;remote fetch=&quot;https://github.com/iayanpahwa/&quot; name=&quot;EazyExit&quot; /&amp;gt;
    
    &amp;lt;project name=&quot;FastLED.git&quot; path=&quot;lib/FastLED&quot; remote=&quot;EazyExit&quot; revision=&quot;c1ab8fa86f6d6ecbf40ab7f28b36116a3c931916&quot; /&amp;gt;
    &amp;lt;project name=&quot;pubsubclient.git&quot; path=&quot;lib/PubSubClient&quot; remote=&quot;EazyExit&quot; revision=&quot;dddfffbe0c497073d960f3b9f83c8400dc8cad6d&quot; /&amp;gt;

&amp;lt;/manifest&amp;gt; &lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The manifest allows for various configurations, including project branches and alternative remotes (like Bitbucket or GitLab). Refer to the official documentation for a comprehensive list:&lt;a href=&quot;https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt; https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md&lt;/a&gt;&lt;/p&gt;



&lt;h4 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Putting it All Together: Fetching Dependencies&lt;/strong&gt;&lt;/h4&gt;



&lt;ol&gt;
&lt;li&gt;Push the default.xml file to your GitHub repository (if using the provided example).&lt;/li&gt;



&lt;li&gt;Create a project directory (e.g., EazyExit).&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Navigate to your project directory and initialise Repo&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-full is-resized&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image1-1.png&quot; alt=&quot;Google repo tool&quot; class=&quot;wp-image-24835&quot; style=&quot;width:617px;height:auto&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;3. This command establishes the current directory as your project workspace.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Fetch dependencies using the repo sync command:&lt;/strong&gt;&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-full&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image2-2.png&quot; alt=&quot;&quot; class=&quot;wp-image-24837&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;4. This command retrieves all dependencies specified in the manifest and stores them according to the defined paths.&lt;/p&gt;



&lt;p&gt;By leveraging repo, you can effectively manage many dependencies within a single, streamlined workflow.&lt;/p&gt;



&lt;p&gt;Repo empowers you to manage complex dependencies with ease, promoting a more flexible and adaptable development process. Checkout our other blogs on:&amp;nbsp;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/how-git-submodules-can-save-you-time-and-headaches-taming-the-dependency-beast/&quot;&gt;How Git Submodules Can Save You Time&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-list-of-basic-concepts-that-power-your-git-directory/&quot;&gt;Git Internals Part 1- List of basic Concepts That Power your .git Directory&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-how-does-git-store-your-data/&quot;&gt;Git Internals Part 2: How does Git store your data?&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-part-3-understanding-the-staging-area-in-git/&quot;&gt;Git Internals Part 3: Understanding the staging area in Git&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;em&gt;NEW Developer Nation survey is live! Participate, shape the trends in software development, and win big. &lt;a href=&quot;https://survey.developernation.net/name/dn27/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=google&apos;s_repo_tool_blog&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Start here!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[How Git Submodules Can Save You Time (and Headaches): Taming the Dependency Beast]]></title><description><![CDATA[<p>This blog post explores a simple yet powerful Git feature called git-submodule, which streamlines dependency management and keeps your codebase clean and organised.</p>
]]></description><link>https://community-development.developernation.net/blog/how-git-submodules-can-save-you-time-and-headaches-taming-the-dependency-beast</link><guid isPermaLink="false">https://community-development.developernation.net/blog/how-git-submodules-can-save-you-time-and-headaches-taming-the-dependency-beast</guid><pubDate>Fri, 07 Jun 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;In software development, we rarely build projects entirely from scratch. We leverage open-source libraries and frameworks to accelerate development and avoid reinventing the wheel. But managing these dependencies can quickly become a tangled mess, especially as projects grow and dependencies multiply.&lt;/p&gt;



&lt;p&gt;This blog post explores a simple yet powerful Git feature called git-submodule, which streamlines dependency management and keeps your codebase clean and organised.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-full&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image3.png&quot; alt=&quot;Git Submodules&quot; class=&quot;wp-image-24800&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;/&gt;



&lt;p&gt;&lt;em&gt;NEW Developer Nation survey is live! Participate, shape the trends in software development, and win big. &lt;a href=&quot;https://survey.developernation.net/name/dn27/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=git_submodules_blog&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Start here!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;



&lt;hr class=&quot;wp-block-separator has-alpha-channel-opacity&quot;/&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;The Downside of the Manual Approach&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;Many developers resort to simply manually cloning and directly pushing dependency code into their main project’s codebase. While this may seem convenient at first, it creates several challenges:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Version Control Issues:&lt;/strong&gt; Updating dependencies becomes a manual process, increasing the risk of compatibility issues and security vulnerabilities.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Upstream Changes:&lt;/strong&gt; New features or bug fixes in the original library require manual integration, which is time-consuming and error-prone.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Introducing Git Submodules&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;&lt;a href=&quot;https://git-scm.com/book/en/v2/Git-Tools-Submodules&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;git submodules&lt;/a&gt; allow you to integrate external Git repositories (containing your dependencies) directly into your project. This creates a modular approach with several benefits:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Independent Updates:&lt;/strong&gt; You can update submodules individually without affecting your main project code.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Version Tracking:&lt;/strong&gt; Submodules track the specific commit hash of the dependency you&amp;#8217;re using, ensuring consistency and reproducibility.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Modular Codebase:&lt;/strong&gt; Your project remains clean and organised, with dependencies clearly separated from your core code.&lt;/li&gt;
&lt;/ul&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Putting Git Submodules into Action&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;Let&amp;#8217;s walk through a practical example. Imagine a project named &amp;#8220;submodule-demo&amp;#8221; that relies on two libraries:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FastLED:&lt;/strong&gt; A library for controlling LEDs&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;PubSubClient:&lt;/strong&gt; A library for implementing an MQTT client&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image1-660x496.png&quot; alt=&quot;Git Submodules&quot; class=&quot;wp-image-24802&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;Here&amp;#8217;s how to leverage git-submodules to manage these dependencies:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Project Structure:&lt;/strong&gt; You can create a dedicated directory (e.g., &lt;code&gt;lib&lt;/code&gt;) within your project to store dependencies.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Adding Submodules:&lt;/strong&gt; Use the &lt;code&gt;git submodule add&lt;/code&gt; command to specify the URL of the external repository and the desired submodule path:&lt;/li&gt;
&lt;/ol&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;cd your_project/lib
git submodule add https://github.com/iayanpahwa/FastLED.git
git submodule add https://github.com/iayanpahwa/pubsubclient.git&lt;/code&gt;&lt;/pre&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image2-660x230.png&quot; alt=&quot;Git Submodules&quot; class=&quot;wp-image-24806&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;This fetches the code from the specified repositories and stores them within the &lt;code&gt;lib&lt;/code&gt; directory.&lt;/p&gt;



&lt;p&gt;3. &lt;strong&gt;Initialising and Updating:&lt;/strong&gt; Anyone cloning your project can easily initialise and update the submodules using the following commands:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git clone &amp;lt;your_project_URL&amp;gt;
cd &amp;lt;your_project_URL&amp;gt;
git submodule init
git submodule update&lt;/code&gt;&lt;/pre&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large is-resized&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image4-1-660x472.png&quot; alt=&quot;Git Submodules&quot; class=&quot;wp-image-24808&quot; style=&quot;width:610px;height:auto&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;Alternatively, you can use the &lt;code&gt;--recursive&lt;/code&gt; flag during cloning to automate these steps:&lt;/p&gt;



&lt;pre class=&quot;wp-block-code&quot;&gt;&lt;code&gt;git clone --recursive &amp;lt;your_project_URL&amp;gt;&lt;/code&gt;&lt;/pre&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-full&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/06/image5.png&quot; alt=&quot;Git Submodules&quot; class=&quot;wp-image-24810&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;4&lt;/strong&gt;. &lt;strong&gt;Version Control:&lt;/strong&gt; Git submodules record the specific commit hash used from each dependency. This ensures everyone working on the project uses the same library version, promoting consistency and preventing compatibility issues.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Beyond the Basics:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;While submodules default to fetching the latest commit from the dependency&amp;#8217;s main branch, you can specify a different branch or commit hash. Refer to the official Git documentation (&lt;a href=&quot;https://git-scm.com/book/en/v2/Git-Tools-Submodules&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;https://git-scm.com/book/en/v2/Git-Tools-Submodules&lt;/a&gt;) for details on advanced usage.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;&lt;strong&gt;Key Takeaways&lt;/strong&gt;&lt;/h3&gt;



&lt;p&gt;By embracing git submodules, you can effectively manage dependencies, improve code organization, and streamline project collaboration. This approach promotes a more modular and maintainable codebase, saving you time and headaches in the long run.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Feel free to explore our other blog posts on Git internals for further insights!&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-list-of-basic-concepts-that-power-your-git-directory/&quot;&gt;Git Internals Part 1- List of basic Concepts That Power your .git Directory&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-how-does-git-store-your-data/&quot;&gt;Git Internals Part 2: How does Git store your data?&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://developernation.net/blog/git-internals-part-3-understanding-the-staging-area-in-git/&quot;&gt;Git Internals Part 3: Understanding the staging area in Git&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt;&lt;em&gt;NEW Developer Nation survey is live! Participate, shape the trends in software development, and win big. &lt;a href=&quot;https://survey.developernation.net/name/dn27/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=git_submodules_blog&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Start here!&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Docker container monitoring with Netdata]]></title><description><![CDATA[<p>Monitoring Docker containers&#8217; health and performance is crucial for developers and teams managing complex infrastructures. Netdata&#8217;s Docker container collector provides real-time insights into CPU, memory, disk I/O, and networking, enabling swift issue identification and resolution.</p>
]]></description><link>https://community-development.developernation.net/blog/docker-container-monitoring-with-netdata</link><guid isPermaLink="false">https://community-development.developernation.net/blog/docker-container-monitoring-with-netdata</guid><pubDate>Fri, 29 Mar 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;This blog is contributed to Developer Nation by &lt;a href=&quot;https://blog.netdata.cloud/docker-monitoring-netdata/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Netdata&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Properly monitoring the health and performance of Docker containers is an essential skill for solo developers and large teams alike. As your infrastructure grows in complexity, it’s important to streamline every facet of the performance of your apps/services. Plus, it’s essential that the tools you use to make those performance decisions work across teams, and allow for complex scaling architectures.&lt;/p&gt;



&lt;p&gt;Netdata does all that, and thanks to our Docker container collector, you can now monitor the health and performance of your Docker containers in real-time.&lt;/p&gt;



&lt;p&gt;With Docker container monitoring enabled via cgroups, you get real-time, interactive charts showing key CPU, memory, disk I/O, and networking of entire containers. Plus, you can use other collectors to monitor the specific applications or services running&amp;nbsp;&lt;em&gt;inside&lt;/em&gt;&amp;nbsp;Docker containers.&lt;/p&gt;



&lt;p&gt;With these per-second metrics at your fingertips, you can get instant notifications about outages, performance hiccups, or excessive resource usage, visually identify the anomaly, and fix the root cause faster.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/03/Screenshot-2024-03-28-at-15.09.57-660x371.png&quot; alt=&quot;&quot; class=&quot;wp-image-24170&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;What is Docker?&lt;/h3&gt;



&lt;p&gt;&lt;a href=&quot;https://www.docker.com/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Docker&lt;/a&gt;&amp;nbsp;is a virtualization platform that helps developers deploy their software in reproducible and isolated packages called containers. These containers have everything the software needs to run properly, including libraries, tools, and their application’s source code or binaries. And because these packages contain everything the application needs, it runs&amp;nbsp;&lt;em&gt;everywhere&lt;/em&gt;, isolating problems where code works in testing, but not production.&lt;/p&gt;



&lt;p&gt;Docker containers are a popular platform for distributing software via&amp;nbsp;&lt;a href=&quot;https://hub.docker.com/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Docker Hub&lt;/a&gt;, as we do for&amp;nbsp;&lt;a href=&quot;https://hub.docker.com/r/netdata/netdata&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Netdata itself&lt;/a&gt;. But perhaps more importantly, containers are now being “orchestrated” with programs like&amp;nbsp;&lt;a href=&quot;https://docs.docker.com/compose/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Docker Compose&lt;/a&gt;, and platforms like&amp;nbsp;&lt;a href=&quot;https://kubernetes.io/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Kubernetes&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;https://docs.docker.com/engine/swarm/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Docker Swarm&lt;/a&gt;. DevOps teams also use containers to orchestrate their microservices architectures, making them a fundamental component of scalable deployments.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;How Netdata monitors Docker containers&lt;/h3&gt;



&lt;p&gt;Netdata uses control groups—most often referred to as&amp;nbsp;&lt;strong&gt;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/collectors/cgroups.plugin/#cgroupsplugin&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;cgroups&lt;/a&gt;&lt;/strong&gt;—to monitor Docker containers. cgroups is a Linux kernel feature that limits and tracks the resource usage of a collection of processes. When you combine resource limits with process isolation (thanks, namespaces!), you get what we commonly refer to as containers.&lt;/p&gt;



&lt;p&gt;Linux uses virtual files, usually placed at&amp;nbsp;&lt;code&gt;/sys/fs/cgroup/&lt;/code&gt;, to report the existing containers and their resource usage. Netdata scans these files/directories every few seconds (configurable via&amp;nbsp;&lt;code&gt;check for new cgroups every&lt;/code&gt;&amp;nbsp;in&amp;nbsp;&lt;code&gt;netdata.conf&lt;/code&gt;) to find added or removed cgroups.&lt;/p&gt;



&lt;p&gt;The best part about monitoring Docker containers with Netdata is that it’s zero-configuration. If you have Docker containers running when you install Netdata, it’ll auto-detect them and start monitoring their metrics. If you spin up Docker containers&amp;nbsp;&lt;em&gt;after&lt;/em&gt;&amp;nbsp;installing Netdata, restart it with&amp;nbsp;&lt;code&gt;sudo service netdata restart&lt;/code&gt;&amp;nbsp;or the&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/getting-started/#start-stop-and-restart-netdata&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;appropriate variant for your system&lt;/a&gt;, and you’ll be up and running!&lt;/p&gt;



&lt;p&gt;Read more about Netdata’s cgroup collector in our &lt;a href=&quot;https://learn.netdata.cloud/docs/agent/collectors/cgroups.plugin/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;View many containers at-a-glance&lt;/h3&gt;



&lt;p&gt;Netdata auto-detects running containers and auto-populates the right-hand menu with their IDs or container names, based on the configuration of your system. This interface is expandable to any number of Docker containers you want to monitor with Netdata, whether it’s 1, 100, or 1,000.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/03/Screenshot-2024-03-28-at-15.11.57-660x761.png&quot; alt=&quot;&quot; class=&quot;wp-image-24174&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;Netdata also uses its&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/why-netdata/meaningful-presentation/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;meaningful presentation&lt;/a&gt;&amp;nbsp;to organize CPU and memory charts into families, so you can quickly understand which containers are using the most CPU, memory, disk I/O, or networking, and begin correlating that with other metrics from your system.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Get alarms when containers go awry&lt;/h3&gt;



&lt;p&gt;Netdata comes with pre-configured CPU and memory alarms for every running Docker container. Once Netdata auto-detects a Docker container, it initializes three alarms: RAM usage, RAM+swap usage, and CPU utilization for the cgroup. These alarms calculate their usage based on the cgroup limits you set, so they’re completely dynamic to any Docker setup.&lt;/p&gt;



&lt;p&gt;You can, of course, edit your&amp;nbsp;&lt;code&gt;health.d/cgroups.conf&lt;/code&gt;&amp;nbsp;file to modify the existing alarms or create new ones entirely.&lt;/p&gt;



&lt;figure class=&quot;wp-block-image size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/03/Screenshot-2024-03-28-at-15.13.01-660x664.png&quot; alt=&quot;&quot; class=&quot;wp-image-24177&quot;/&gt;&lt;/figure&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Dive into real-time metrics for containerized apps and services&lt;/h3&gt;



&lt;p&gt;Netdata’s Docker monitoring doesn’t stop with entire containers—it’s also fully capable of monitoring the apps/services running&amp;nbsp;&lt;em&gt;inside those containers&lt;/em&gt;. This way, you’ll get more precise metrics for your mission-critical web servers or databases, plus all the pre-configured alarms that come with that collector!&lt;/p&gt;



&lt;p&gt;You can monitor specific metrics for any of the&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/collectors&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;200+ apps/services&lt;/a&gt;&amp;nbsp;like MySQL, Nginx, or Postgres, with little or no configuration on your part. Just set the service up using the recommended method, and Netdata will auto-detect it.&lt;/p&gt;



&lt;p&gt;For example, here are some real-time charts for an Nginx web server, running inside of a Docker container, while it’s undergoing a stress test.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/03/Screenshot-2024-03-28-at-15.13.46-660x355.png&quot; alt=&quot;&quot; class=&quot;wp-image-24180&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;p&gt;Visit our&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;documentation&lt;/a&gt;&amp;nbsp;and use the search bar at the top to figure out how to monitor favorite&amp;nbsp;&lt;em&gt;containerized&lt;/em&gt;&amp;nbsp;service.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;What’s next?&lt;/h3&gt;



&lt;p&gt;To get started monitoring Docker containers with Netdata,&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/get&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;install Netdata&lt;/a&gt;&amp;nbsp;on any system running the Docker daemon. Netdata will auto-detect your cgroups and begin monitoring the health and performance of any running Docker containers.&lt;/p&gt;



&lt;p&gt;If you already have Netdata installed and want to enable Docker monitoring,&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/getting-started/#start-stop-and-restart-netdata&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;restart Netdata&lt;/a&gt;&amp;nbsp;using the appropriate command for your system.&lt;/p&gt;



&lt;p&gt;Netdata handles ephemeral Docker containers without complaint, so don’t worry about situations where you’re scaling up and down on any given system. As soon as a new container is running, Netdata dynamically attaches all the relevant alarms, and you can see new charts after refreshing the dashboard.&lt;/p&gt;



&lt;p&gt;For a more thorough investigation of Netdata’s Docker monitoring capabilities, read our&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/collectors/cgroups.plugin/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;cgroups collector&lt;/a&gt;&amp;nbsp;documentation and our&amp;nbsp;&lt;a href=&quot;https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/docker_engine/&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;Docker Engine&lt;/a&gt;&amp;nbsp;documentation. You can also learn about&amp;nbsp;&lt;a href=&quot;https://hub.docker.com/r/netdata/netdata&quot; target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;&gt;running Netdata inside of a container&lt;/a&gt;&amp;nbsp;in your ongoing efforts to containerize everything.&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[The state of Data Science and future of Generative AI with Anand Mishra]]></title><description><![CDATA[<p>In this episode, we explore Anand Mishra&#8217;s journey from Data Scientist to CTO at Analytics Vidhya, a leading figure in Data Science. Anand sheds light on his career evolution, offering insights into the changing Data Science landscape, especially amid the growing impact of AI.</p>
]]></description><link>https://community-development.developernation.net/blog/the-state-of-data-science-and-future-of-generative-ai-with-anand-mishra</link><guid isPermaLink="false">https://community-development.developernation.net/blog/the-state-of-data-science-and-future-of-generative-ai-with-anand-mishra</guid><pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;In this captivating episode, we delve into the dynamic journey of Anand Mishra, the CTO of Analytics Vidhya, a frontrunner in the Data Science realm. Anand shares his transformative evolution from a Data Scientist to assuming the pivotal role of CTO, illuminating the intricate pathways and milestones that shaped his career trajectory. As we navigate through his experiences, listeners gain invaluable insights into the evolving landscape of Data Science, particularly amidst the burgeoning influence of AI.&lt;/p&gt;



&lt;p&gt;Anand provides a compelling narrative on where the field of Data Science is headed, painting a vivid picture of its metamorphosis under the relentless march of artificial intelligence. From the intricate nuances of modern data analytics to the potential unleashed by generative AI, Anand&amp;#8217;s perspective offers a glimpse into the future of this rapidly evolving domain.&lt;/p&gt;



&lt;p&gt;With each anecdote and observation, Anand weaves a narrative that not only captures the essence of his personal journey but also serves as a compass for those navigating the ever-changing seas of Data Science and AI. Join us as we unravel the tapestry of innovation and exploration in this thought-provoking conversation with one of the foremost voices in the field.&lt;/p&gt;



&lt;p&gt;Tune in to uncover the untold stories, gain exclusive insights, and embark on a journey of discovery that promises to illuminate the path ahead in the enthralling world of Data Science and AI.&lt;/p&gt;



&lt;figure class=&quot;wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio&quot;&gt;&lt;div class=&quot;wp-block-embed__wrapper&quot;&gt;
&lt;iframe loading=&quot;lazy&quot; title=&quot;Podcast w/ Anand Mishta, CTA of Analytics Vidhya || Season 1 Episode 8&quot; width=&quot;580&quot; height=&quot;326&quot; src=&quot;https://www.youtube.com/embed/x5hvihtTxLw?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/figure&gt;
</content:encoded></item><item><title><![CDATA[Understanding Practical Engineering Management – Developer Teams & Hiring with Mirek Stanek]]></title><description><![CDATA[<p>This episode offers guidance for both aspiring and experienced software engineers, providing valuable insights on project management, team leadership, career growth, and the hiring process. </p>
]]></description><link>https://community-development.developernation.net/blog/understanding-practical-engineering-management-developer-teams-hiring-with-mirek-stanek</link><guid isPermaLink="false">https://community-development.developernation.net/blog/understanding-practical-engineering-management-developer-teams-hiring-with-mirek-stanek</guid><pubDate>Fri, 08 Mar 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;This episode features Mirek Stanek, an experienced Engineering Manager and author of the blog &amp;#8220;Practical Engineering Manager.&amp;#8221; Ayan and Mirek engage in a conversation covering several crucial aspects of software development:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Software Project Planning:&lt;/strong&gt;&amp;nbsp;They delve into the art of planning software projects effectively. This involves discussions on setting goals, defining clear roadmaps, breaking down tasks, and utilizing project management tools and methodologies.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Managing and Motivating Engineers:&lt;/strong&gt;&amp;nbsp;Mirek shares his insights on building and leading successful engineering teams. He discussed strategies for fostering communication, collaboration, and a positive work environment, along with techniques for keeping engineers motivated and engaged.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Climbing the Ladder:&lt;/strong&gt;&amp;nbsp;Aspiring engineers can gain valuable knowledge as Ayan and Mirek explore the topic of career advancement in software development, skills and experiences needed to progress, strategies for professional development, and navigating career transitions.&lt;/li&gt;
&lt;/ul&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hiring:&lt;/strong&gt;&amp;nbsp;The conversation also touched upon the complexities of hiring talented engineers. Mirek, with his expertise, might share insights on building a strong hiring process, conducting effective interviews, and identifying the right individuals for the team.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;This episode offers guidance for both aspiring and experienced software engineers, providing valuable insights on project management, team leadership, career growth, and the hiring process. By listening to Mirek&amp;#8217;s expertise and Ayan&amp;#8217;s engaging discussion, listeners can gain valuable knowledge and practical tips for navigating the world of software development.&lt;/p&gt;



&lt;figure class=&quot;wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio&quot;&gt;&lt;div class=&quot;wp-block-embed__wrapper&quot;&gt;
&lt;iframe loading=&quot;lazy&quot; title=&quot;Podcast w/ Mirek Stanek, from Practical Enginnering Management || Season 1 Episode 6&quot; width=&quot;580&quot; height=&quot;326&quot; src=&quot;https://www.youtube.com/embed/Kk6uGmp5618?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/figure&gt;
</content:encoded></item><item><title><![CDATA[Cross-Platform Apps, Solopreneurship, and Course Creation with Simon Grimm]]></title><description><![CDATA[<p>This podcast episode features Simon Grimm, a multi-faceted entrepreneur and content creator behind DevDactic, Galaxies.dev, and the Ionic Academy.</p>
]]></description><link>https://community-development.developernation.net/blog/cross-platform-apps-solopreneurship-and-course-creation-with-simon-grimm</link><guid isPermaLink="false">https://community-development.developernation.net/blog/cross-platform-apps-solopreneurship-and-course-creation-with-simon-grimm</guid><pubDate>Fri, 01 Mar 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;This podcast episode features Simon Grimm, a multi-faceted entrepreneur and content creator behind DevDactic, Galaxies.dev, and the Ionic Academy. The discussion revolves around three key areas:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Cross-Platform Applications:&lt;/strong&gt;&amp;nbsp;Ayan and Simon delve into the world of cross-platform app development, exploring the benefits and challenges of building apps that work seamlessly across different platforms like mobile and web. They also discussed various frameworks and tools available for efficient cross-platform development.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Solopreneur Journey:&lt;/strong&gt;&amp;nbsp;Simon shares his experiences and insights as a solopreneur content creator. He talked about the initial steps he took, the challenges he faced while building his ventures, and the strategies he used to stay motivated and productive.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Course Planning and Execution:&lt;/strong&gt;&amp;nbsp;Ayan and Simon delve into the process of planning and executing courses, likely specific to the context of Simon&amp;#8217;s online academies. They also discussed topics like identifying course themes, structuring content, building engaging learning experiences, and reaching the target audience.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;This episode offers valuable insights for aspiring developers, content creators, and solopreneurs interested in learning from Simon&amp;#8217;s experience in building successful online businesses and educational platforms.&lt;/p&gt;



&lt;figure class=&quot;wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio&quot;&gt;&lt;div class=&quot;wp-block-embed__wrapper&quot;&gt;
&lt;iframe loading=&quot;lazy&quot; title=&quot;Podcast w/ Simon Grimm, Galaxies.dev, Ionic Academy || Season 1 Episode 5&quot; width=&quot;580&quot; height=&quot;326&quot; src=&quot;https://www.youtube.com/embed/GHWpdLx2H8g?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Exploring the Landscape of Enterprise Development: A Regional and Technological Perspective]]></title><description><![CDATA[<p>Learning about enterprise developers is essential for a holistic understanding of software development, especially in  large organizations where the challenges and requirements are distinct from those of smaller projects. This knowledge can benefit various stakeholders, from business leaders and project managers to individual developers and technology enthusiasts. </p>
]]></description><link>https://community-development.developernation.net/blog/exploring-the-landscape-of-enterprise-development-a-regional-and-technological-perspective</link><guid isPermaLink="false">https://community-development.developernation.net/blog/exploring-the-landscape-of-enterprise-development-a-regional-and-technological-perspective</guid><pubDate>Tue, 23 Jan 2024 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;Forget about dusty old maps and boring stats – imagine navigating the ever-changing jungle of enterprise software development! It&amp;#8217;s like discovering hidden tribes of people who code in modern programming languages (Python! Kotlin!), use cutting-edge CI/CD tools &amp;#8211; Jenkins, CircleCI and work in big teams and have years of experience bringing an idea to life from the ground up by writing the most optimised code. It’s like building magical castles in the cloud.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;That&amp;#8217;s where we&amp;#8217;re headed, adventurer! We&amp;#8217;ll trek through Silicon Valley&amp;#8217;s glittering skyscrapers, sneak into Bangalore&amp;#8217;s secret startup dens, and even chill by the beach with coders from Africa brewing the next big tech revolution. No region is off-limits! Along the way, we&amp;#8217;ll decode the whispers of rising tech trends – AI whispering innovation to your data, blockchain building invisible fortresses, and old giants like Java shaking hands with nimble new stars like Swift. We&amp;#8217;ll peek into everyone&amp;#8217;s toolbox, from open-source bazaars to enterprise treasure chests, and maybe even borrow a cool gadget or two.&lt;/p&gt;



&lt;p&gt;All this, based on our most recent pulse report, Q3, 2023, which you can find &lt;a href=&quot;https://developernation.net/developer-reports/dn25&quot;&gt;here&lt;/a&gt;. But before that, if you  are a professional developer or know someone who is, consider participating in our ongoing 26th Developer Nation survey and contribute to the optimisation of the developer experience.&lt;/p&gt;



&lt;p&gt;Enterprise Development isn&amp;#8217;t just about gadgets and gizmos. This is about the passionate humans behind the code – the keyboard warriors battling bugs, the dreamers sketching the future, and the masterminds building software that&amp;#8217;ll change the world (one line at a time!). Learning about enterprise developers is essential for a holistic understanding of software development, especially in&amp;nbsp; large organizations where the challenges and requirements are distinct from those of smaller projects. This knowledge can benefit various stakeholders, from business leaders and project managers to individual developers and technology enthusiasts.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;So, grab your coding backpack, your adventurous spirit, and your insatiable curiosity. It&amp;#8217;s time to rewrite the jungle rules, one bug fix, one feature update, one innovative idea at a time.&amp;nbsp;&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Regional Disparities&lt;/h3&gt;



&lt;p&gt;While regions like South Asia hold a scant 9.5% share of the world&amp;#8217;s enterprise developers, North America, Western Europe, and Israel stand as towering giants, each wielding around 31% and 28.6% of the talent pool, respectively. This chasm in geographical distribution begs the question: what factors have sculpted such an uneven landscape?&lt;/p&gt;



&lt;p&gt;Disparity in software development likely stems from socioeconomic and economic factors. Developed economies have better educational resources and established tech ecosystems, fostering a critical mass of skilled developers. Thriving tech hubs in other regions attract talent with promising careers and salaries while nascent ecosystems struggle to compete, hindering talent growth.&lt;/p&gt;



&lt;p&gt;The stark disparities in the distribution of enterprise developers highlight the need for concerted efforts to bridge the digital divide and create a more equitable global tech landscape. By investing in human capital, fostering collaboration, and promoting inclusive growth, we can unlock the full potential of technology for all corners of the world.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image3-2-660x419.png&quot; alt=&quot;Enterprise Developers&apos; Geo&quot; class=&quot;wp-image-23421&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;Technology Preferences&lt;/h3&gt;



&lt;p&gt;The technological preferences of enterprise developers paint a vivid picture of the industry&amp;#8217;s driving forces. Web development and backend tasks reign supreme, captivating a whopping 82% of the developer pool. This focus reflects the ever-expanding web ecosystem and the crucial role of robust backend infrastructure in powering modern applications.&lt;/p&gt;



&lt;p&gt;While web and backend rule the roost, mobile development and artificial intelligence (AI) are carving their own niches. With their ubiquitous presence in our daily lives, mobile apps attract roughly 35% of developers, driven by the ever-evolving mobile landscape and the insatiable demand for user-centric experiences. AI, though still in the early stages of enterprise adoption, holds the attention of around 33% of developers, hinting at its immense potential to revolutionise various sectors.&amp;nbsp;&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image5-2-660x422.png&quot; alt=&quot;Enterprise Developers Areas&quot; class=&quot;wp-image-23423&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;Industry Spotlight: Software and Finance Lead the Way&lt;/h3&gt;



&lt;p&gt;Beyond technologies, the industries drawing developer interest are equally revealing. Software products and services take the crown, with nearly 40% of developers gravitating towards this dynamic domain. This affinity stems from the constant churn of innovation and the fast-paced nature of the software world. Financial services and banking, with their complex data landscapes and growing reliance on technology, come in a close second at 21.6%, showcasing the increasing convergence of finance and technology.&lt;/p&gt;



&lt;p&gt;These trends signify a close interplay between developer preferences and industry needs. The prevalence of web and backend development aligns seamlessly with the software and financial sectors&amp;#8217; demand for a robust online presence and advanced data processing. Simultaneously, the growing interest in mobile and AI mirrors the increasing importance of user engagement and data-driven insights across various industries.&lt;/p&gt;



&lt;p&gt;Understanding these connections provides valuable insights into the future of enterprise development. The emphasis on web, mobile, and AI is expected to strengthen, driven by both developer enthusiasm and industry demands. As these technologies advance, the software and financial sectors will likely stay ahead, attracting and fostering top developer talent.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image4-2-660x399.png&quot; alt=&quot;Enterprise Developers industry verticals&quot; class=&quot;wp-image-23425&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;CI/CD Practices&lt;/h3&gt;



&lt;p&gt;As the software development lifecycle evolves, Continuous Integration and Continuous Deployment (CI/CD) practices have become indispensable. &lt;strong&gt;Jenkins&lt;/strong&gt; emerges as the dominant force in this arena, enjoying a staggering 66.5% usage. GitLab&amp;#8217;s self-hosted version follows suit, while IBMCode and TeamCity trail as smaller players. Notably, Jenkins is popular in organizations with over 1,000 employees, with self-hosted GitLab closely behind at 37.2%. Azure Pipelines, IBM UrbanCode, and TeamCity cater to smaller segments of the market.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image1-3-660x415.png&quot; alt=&quot;CI/CD tools&quot; class=&quot;wp-image-23427&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;Containerization and Cloud Services&lt;/h3&gt;



&lt;p&gt;The age-old frustration of &amp;#8220;It works on my machine but not yours&amp;#8221; has become a relic of the past, thanks to containerisation technologies like LXC and Docker. These container technologies are especially favoured by backend developers, commanding an impressive 61.8% usage. Database-as-a-Service (DBaaS) is also prominent at 34.6%. In the backend developer&amp;#8217;s toolkit, cloud monitoring services are vital, with 23.7% usage.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image2-3-660x396.png&quot; alt=&quot;top 5 technologies used by backend developers&quot; class=&quot;wp-image-23430&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;DevOps Tooling&lt;/h3&gt;



&lt;p&gt;In the DevOps domain, &lt;strong&gt;GitHub&lt;/strong&gt; is the leader, commanding a substantial 28% usage. Google Cloud Developer Tools follow closely at 13.8%, while AWS CodeCommit lags&amp;nbsp; with just around 8% usage. These statistics underline the importance of collaboration and version control in the modern software development landscape.&lt;/p&gt;


&lt;div class=&quot;wp-block-image&quot;&gt;
&lt;figure class=&quot;aligncenter size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2024/01/image6-660x413.png&quot; alt=&quot;top 5 technologies used by devops&quot; class=&quot;wp-image-23432&quot;/&gt;&lt;/figure&gt;&lt;/div&gt;


&lt;h3 class=&quot;wp-block-heading&quot;&gt;Conclusion&lt;/h3&gt;



&lt;p&gt;The enterprise development world is dynamic and shaped by regional influences and technological preferences. As we navigate the evolving landscape, it is clear that specific tools and practices have become integral to the development lifecycle. Whether it&amp;#8217;s the dominance of Jenkins in CI/CD or the widespread adoption of containerisation technologies, staying informed about the trends is essential for developers and businesses alike. As we move forward, anticipating and adapting to these shifts will be key to thriving in the ever-changing enterprise development world. &lt;/p&gt;



&lt;p&gt;If you are an enterprise developer, I’d love to connect with you personally and learn more about your work and day-to-day challenges and how Developer Nation and SlashData can help you from our decades of experience in Developer Market Research and community building. Please reach out to me at &lt;a href=&quot;mailto:ayan.pahwa@slashdata.co&quot;&gt;ayan.pahwa@slashdata.co&lt;/a&gt; or on social media. Cheers!&lt;/p&gt;



&lt;p&gt;&amp;#8211; @iAyanPahwa&amp;nbsp;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Passwords are DEAD, Let’s meet Passkeys and our new State of Software Supply Chain Security Survey ]]></title><description><![CDATA[<p>Tired of dealing with complex passwords and two-factor authentications? Discover the future of secure logins with Passkeys. Say goodbye to traditional passwords and hello to a more convenient, faster, and robust authentication process. Read on to explore how Passkeys work and why they&#8217;re your next best security companion.</p>
]]></description><link>https://community-development.developernation.net/blog/passwords-are-dead-lets-meet-passkeys-and-our-new-state-of-software-supply-chain-security-survey</link><guid isPermaLink="false">https://community-development.developernation.net/blog/passwords-are-dead-lets-meet-passkeys-and-our-new-state-of-software-supply-chain-security-survey</guid><pubDate>Wed, 25 Oct 2023 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;div class=&quot;wp-block-buttons alignfull is-layout-flex wp-block-buttons-is-layout-flex&quot;&gt;
&lt;div class=&quot;wp-block-button aligncenter&quot;&gt;&lt;a class=&quot;wp-block-button__link wp-element-button&quot; href=&quot;https://survey.developernation.net/name/rhcs1/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=rhcs1_blog_passwords&quot;&gt;Take the survey&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;p&gt;Let&amp;#8217;s get real. It&amp;#8217;s a pain generating unique long alpha-numeric passwords and 2-factor authentications for every web or app service we use today, often ending up using the same old password (we can remember) across services and skipping 2fas if not enforced. Even if you use a password manager to generate and auto-fill your state-of-the-art strong passwords, you&amp;#8217;re still vulnerable to attacks like Phishing, where a website looks identical to the one you are trying to access, although in reality it is a fraudulent copy -trying to use and steal your passwords as soon as they&amp;#8217;re entered.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Using a 2-factor authentication is handy in this situation. Still, it involves either SMS-based OTPs or authenticator apps like Authy or Google Authenticator for TOTPs, requiring cellular connectivity or installation of additional apps. Not to mention, if you lose your password manager, it will be a nightmare.&amp;nbsp;&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Enter Passkey&amp;nbsp;&lt;/h3&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh5.googleusercontent.com/f1Y0gkgZPMoLQmNBoAaCufCUMOpyWrc99AIiNwCt1Dgx0HQYufEjqBdTSwytkG8jwfucpEAMgMjCaTJZH6319m-_81urAlwc8YQHRSnk9t-PwQMKviOpoAhdOMKfexQ4jAdpoGOPv6E2r4lmGd9gSdI&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;Passkey is a new passwordless authentication, standard by the FIDO alliance that aims to replace passwords and 2FAs, providing a faster, easier, and more secure authentication process.&lt;/p&gt;



&lt;p&gt;&lt;br&gt;Passkeys work on public-key architecture, generating public and private keys for each web or app service you use. The public key is saved on the web/mobile service server you intend to use, and the private key is kept securely on your local device, e.g. your Smartphone. Every modern smartphone processor today has a Secure Element which will generate and save these passkeys, which means not even&amp;nbsp; you can&amp;nbsp; read or directly access your private key.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Whenever you want to authenticate on a service,- a signature generated from your saved public key will be sent to your device, and you can authenticate this signature using your private key + Biometric Authentication, e.g. your device PIN, fingerprint or Face ID. Once the signature from the public key and private key matches, you&amp;#8217;ll be successfully logged in, meaning you don&amp;#8217;t have to enter any password or OTPs, saving you from creeping eyes while entering your passwords in the coffee shops. The Private key never leaves your device, and you don&amp;#8217;t need to remember everything, + it&amp;#8217;s Phishing proof since Phishing sites won&amp;#8217;t have your public key anyway 😉&amp;nbsp;&lt;/p&gt;



&lt;p&gt;So, to actually hack you, the hacker will require your device + your fingerprints/FaceID, and I don’t wanna imagine that scenario anyway.&lt;/p&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh3.googleusercontent.com/myCOwSS-Kr7eNL-ga35OWSbm5yiLc250Y1Oq-n7M06oBPwdv3JUHpsTkbFA3zwYJYA1RZRwNqZyNT0vjeF4jhH5C32kvFh2MFQmjGVoKK_RaxAHzNfYyWElyBfLMEfO6pvNS56UHzhy1MPYCW5u7Zcs&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Passkey in Action&lt;/h3&gt;



&lt;p&gt;Every service you wish to use will generate a unique passkey that can be synced across all your devices using the ecosystem cloud sync, e.g. iCloud or password manager provided by your browser. You can also share your passkeys with devices and people you want. Hardware keys like Yubikeys can also be used to generate and save passkeys. If you&amp;#8217;re on a desktop, you can still use your mobile device for passkey authentication using QR codes generated by the services while trying to log in. The QR code can then be scanned by your phone and finished with the passkey authentication.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;For businesses, it saves cost on OTP services you provide for your users, and it&amp;#8217;s pretty easy to add support for passkeys in your web or mobile applications using already existing authentication APIs offered for all major platforms &amp;#8211; iOS, Android, Chrome, etc.&lt;/p&gt;



&lt;p&gt;To start with Passkeys, look at the services already supporting it at&lt;a href=&quot;https://www.passkeys.io/who-supports-passkeys&quot;&gt; https://www.passkeys.io/who-supports-passkeys&lt;/a&gt; and join the Passwordless train.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://survey.developernation.net/name/rhcs1/branch/main?utm_medium=blogpost&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=rhcs1_blog_passwords&quot;&gt;Take the survey&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Participate in our ongoing survey and share your thoughts to help us and our partners build a secure experience for You!&amp;nbsp;&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[Headless Raspberry Pi Setup – WiFi and SSH]]></title><description><![CDATA[<p>Setting up a new Raspberry Pi Board can be daunting without a monitor and keyboard, Once you flash a new image of the Operating System &#8211; Raspberry Pi OS or similar, the next obvious step is to boot the Pi, log in to it and access the terminal over SSH. But for a headless setup, [&hellip;]</p>
]]></description><link>https://community-development.developernation.net/blog/headless-raspberry-pi-setup-wifi-and-ssh</link><guid isPermaLink="false">https://community-development.developernation.net/blog/headless-raspberry-pi-setup-wifi-and-ssh</guid><pubDate>Tue, 08 Aug 2023 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;Setting up a new Raspberry Pi Board can be daunting without a monitor and keyboard, Once you flash a new image of the Operating System &amp;#8211; Raspberry Pi OS or similar, the next obvious step is to boot the Pi, log in to it and access the terminal over SSH. But for a headless setup, i.e. without a Monitor and Keyboard, it’s not that straightforward. The same goes if you’re using a lite image of the OS (without a Desktop Environment). For SSH to work, you first need to get your board on your home network, even if you manage to create an ad-hoc network between your Pi and workstation, the SSH is disabled for security reasons. &lt;/p&gt;



&lt;p&gt;&lt;em&gt;Are you ready to influence the tech landscape too? Take part in the Developer Nation survey and be a catalyst for change. Your thoughts matter, and you could be the lucky recipient of our weekly swag and prizes!&lt;/em&gt; &lt;a href=&quot;https://survey.developernation.net/name/dn26/branch/main?utm_medium=blog&amp;amp;utm_source=websitedn&amp;amp;utm_campaign=dn26_blog_headlessrasp&quot;&gt;Start Here&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;There are two simple ways to sort this out, and we’ll look into it one-by-one&amp;nbsp;&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;#1 The Simple Way: Using the official Raspberry Pi Imager,&amp;nbsp;&lt;/h3&gt;



&lt;p&gt;Raspberry Pi&amp;#8217;s official flashing utility can be downloaded from &lt;a href=&quot;https://www.raspberrypi.com/software/&quot;&gt;here&lt;/a&gt; . This tool allows you to pick the OS image you want to flash. It also has a setting page where you can enable SSH and add credentials of your home router WiFi SSID and password. All this information is baked into the OS image during the SD card flashing process.&lt;/p&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh4.googleusercontent.com/eyaWWU8WFyFmD-ZXd1FNUA0fMhOdXk5Db6Y6vadSloFNOz3su3VxXKEvJNwJzgwmpGBYNVPrSTQXseshctm1Nt_bhdbWU3bHewTsTu0cFcr3JnzYCg74oexQhuxhFMqcLdCyFGalenn4XWChC6jbRZ4&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;#2 The Ninja Way: Underneath the hood&amp;nbsp;&lt;/h3&gt;



&lt;p&gt;While the Raspberry Pi Imager way works pretty straightforward, for the ninja user, it’s important to understand how this all works underneath the hood. So the job of the flasher programmer is to partition your SD card into two segments &amp;#8211; BOOT and the Root File System (rootfs) of the raspberry pi. This is how typical how Linux distributions are stored.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;The boot partition holds all the essential files used during the booting process, including the bootloader, and the rootfs partition holds the primary filesystem of the Linux operating system. Now let’s add settings for our WiFi connection and enable SSH on the raspberry pi board the ninja way.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Once you flashed a new operating system, the SD card shall be auto-ejected, so re-insert the SD card, and you shall see a partition named BOOT mounted on your system. Create a new file in the root folder of the boot partition with the exact name &amp;#8211; wpa_supplicant.conf. In this file add following using your favourite text editor or terminal:&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&amp;#8220;` code-block&lt;/p&gt;



&lt;figure class=&quot;wp-block-image size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2023/08/image-8-660x298.png&quot; alt=&quot;&quot; class=&quot;wp-image-22450&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;This information shall be used by “wpa_supplicant”, a utility used by Linux distributions like Debian to connect to wifi networks. After the boot is complete, it’ll scan for WiFi networks nearby and connect to your SSID and password you supplied.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;em&gt;Don’t worry about supplying your password in plain text, after the boot, this file will be removed automatically.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Now to enable SSH, which is disabled by default for security, just create a new empty file with the name ssh in the root directory of the boot partition. Use the terminal command to create this file&amp;nbsp;&lt;/p&gt;



&lt;figure class=&quot;wp-block-image size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2023/08/image-9-660x96.png&quot; alt=&quot;&quot; class=&quot;wp-image-22457&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;And that’s it, your raspberry pi will be connected to your WiFi network and ready to accept incoming SSH connection requests, and all this is done without ever connecting your board to a monitor and keyboard &amp;#8211; Headless.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Test your SSH connection from your workstation open the terminal, and type:&lt;/p&gt;



&lt;figure class=&quot;wp-block-image size-large&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://wordpress.developernation.net/wp-content/uploads/2023/08/image-10-660x119.png&quot; alt=&quot;&quot; class=&quot;wp-image-22459&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;and you shall be logged in.&lt;/p&gt;



&lt;p&gt;Found this tutorial interesting? Read more about the latest trends in Embedded System development in our previous blog &lt;a href=&quot;https://developernation.net/blog/embedded-software-development?utm_source=dn&amp;amp;utm_medium=dnblog&amp;amp;utm_campaign=rasberry&quot;&gt;here&lt;/a&gt; and take your embedded projects to IoT using MQTT via this blog &lt;a href=&quot;https://developernation.net/blog/iot-and-mqtt-for-software-developers?utm_source=dn&amp;amp;utm_medium=dnblog&amp;amp;utm_campaign=raspberry&quot;&gt;here&lt;/a&gt; .&lt;/p&gt;
</content:encoded></item><item><title><![CDATA[On the role of female coders in software development]]></title><description><![CDATA[<p>Since the beginning of computing, women have consistently played a pivotal role in software development that has frequently been overlooked; from Ada Lovelace developing the first algorithms for modern computers to Margaret Hamilton’s crucial role in the development of on-board guidance software for NASA’s Apollo program. However, despite women’s exceptional contributions to the field, they [&hellip;]</p>
]]></description><link>https://community-development.developernation.net/blog/on-the-role-of-female-coders-in-software-development</link><guid isPermaLink="false">https://community-development.developernation.net/blog/on-the-role-of-female-coders-in-software-development</guid><pubDate>Mon, 10 Jul 2023 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;&lt;/p&gt;



&lt;p&gt;Since the beginning of computing, women have consistently played a pivotal role in software development that has frequently been overlooked; from Ada Lovelace developing the first algorithms for modern computers to Margaret Hamilton’s crucial role in the development of on-board guidance software for NASA’s Apollo program.&lt;/p&gt;



&lt;p&gt;However, despite women’s exceptional contributions to the field, they have often received less credit than their male counterparts, and their place in the field is questioned.&lt;/p&gt;



&lt;p&gt;Today, efforts are being made across the software development ecosystem to address these historical biases. While efforts have been made to promote women to get involved in the historically male-dominated field, there is still considerable work to be done.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Data and technology are not free from bias. Past applications and software development projects have demonstrated the need for input from diverse groups2. &lt;/p&gt;



&lt;p&gt;In this chapter, we specifically explore the involvement of women in software development. According to our latest global developer survey (Q1 2023), nearly a quarter of all developers (22%) self-identify as females, the highest proportion since we began asking respondents about their gender. &lt;/p&gt;



&lt;p&gt;This is a small increase from two years ago, since Q1 2021, when female coders accounted for 19% of all developers.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;This slight increase in the proportion of developers self-identifying as females can be partially attributed to the rise in the representation of women among early-to-mid-career developers. Women currently make up a quarter (25%) of developers between the ages of 25 and 34, the highest proportion of all age groups, up from less than 20% in Q1 2021. &lt;/p&gt;



&lt;p&gt;This is followed closely by 23% of developers between the ages of 18 and 24. The highest proportion of women falling within the 25-34 age bracket indicates the possible beginning of a positive trend for the future of women in the tech industry. This is the age when people begin to settle into their careers and is a point where people are likely to develop additional skills that allow them to cross-train and enter industries of their choosing.&lt;/p&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh3.googleusercontent.com/M3vSxeLMy-LNhFUZvUsRGQ0-js0mriiNHoir3HUvlP2lK-lq_jutZ55SFWlaLSo1oblqtTOPZLGF6ioJH0Fjf1fwoUCaOW2z6YjXwKKPvuHaubnnLDKL2YE9S5n6xwWBC7J5YaSL3XOcuAgvgPYDdT0&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;Further to this, we are also seeing an increasing presence of women in certain regions that are leading to an increase in the proportion of women in technology overall.&lt;/p&gt;



&lt;p&gt;Specific highlights include the Middle East and Africa, where the proportion of women in technology in this region has gone from 10% in Q1 2021 to over 20% currently. Similarly, women made up 15% of developers in East Asia in Q1 2021 and now makeup almost 30% of developers.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Overall, a higher representation of women in the software development ecosystem is a great development. Not only do they bring critical perspectives and approaches to the work being undertaken, but diversity in the workforce offers fresh experiences that can help businesses address underserved needs. &lt;/p&gt;



&lt;p&gt;It also enhances efforts to make spaces that are less hostile to women in both overt and subtle ways, allowing even more women to follow their interests in the technology space.&lt;/p&gt;



&lt;p&gt;The proportion of women among developers varies substantially depending on the types of projects they are involved in. Virtual reality (VR) and augmented reality (AR) projects have the highest proportion of women, at 33% and 28% respectively, followed by games (28%).&amp;nbsp;&lt;/p&gt;



&lt;p&gt;On the contrary, backend services and web application projects have the lowest concentration of female coders, at just 13% and 16%, respectively. &lt;/p&gt;



&lt;p&gt;With these sectors selecting those with formal degrees at higher rates than other areas, and a 10 percentage point difference between men and women having such a degree, this may be one factor in the lower presence of women.&lt;/p&gt;



&lt;p&gt;Undergraduate degrees in computer science or equivalent are held by 45% of backend developers and 43% of web developers, compared to 37% of all developers.&lt;/p&gt;



&lt;p&gt;Further, the lower proportion of women working in backend services and web application development may, in part, be attributed to the historically male-dominated culture within these sectors. Addressing cultural differences3 and fostering a more inclusive atmosphere can contribute to balancing representation and mentorship opportunities within these sectors. &lt;/p&gt;



&lt;p&gt;Further, there may be potential unconscious biases in hiring practices derived from existing workplace culture, which may prevent certain development areas from harnessing the full spectrum of talent, and benefit from the input of individuals with diverse backgrounds.&lt;/p&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh6.googleusercontent.com/DpzlwS81aT4pWHCyBhs8v_E670tjXsgDBLEZNRP4JdE-dNKmylyYDzH_925h5p2dHSWsc5YhB_YluNkY1hn8O8hmgREyduB6H2GBVthOiprEJ-boN_7uSlfrrN7Y7qDJUMlZFqVcwjAVC4mndRVdVs0&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;



&lt;p&gt;Examining the sizes of organisations that female developers work for throughout various stages of their life and career could indicate that company characteristics have an influence on women&amp;#8217;s decisions in the technology sector. &lt;/p&gt;



&lt;p&gt;Like young men, young women are more likely to work as freelancers relative to other age groups and only return to similar proportions among developers aged 55 and above. Additionally, younger female developers (18-24) tend to work for smaller companies, whereas older female developers (45+) are more inclined to work for larger organisations with over 10,000 employees.&lt;/p&gt;



&lt;p&gt;Examining a particular age group, women between the age of 35 and 44, may offer an insight into issues women have with progressing through their careers. Previous research into women’s careers in the software development sector has highlighted that women are promoted at a lower rate than men4. &lt;/p&gt;



&lt;p&gt;However, when looking at the roles women self-identify with, we find that at mid-market companies (251-1,000 employees) and enterprises (1,001-10,000 employees) the percentage of women in management positions (20% and 29%) is significantly higher than at other organisation sizes (13% on average). &lt;/p&gt;



&lt;p&gt;These organisations could offer better opportunities for career growth, decision-making, and leadership. In larger companies, management roles might be more hierarchical and bureaucratic, leading to less autonomy and slower career progression.&lt;/p&gt;



&lt;p&gt;In smaller companies, limited opportunities due to their size might result in fewer leadership positions being available overall, and with women being a minority in software development, there are fewer women in leadership positions.&lt;/p&gt;



&lt;p&gt;Further, there is an underrepresentation of women in certain leadership roles. 11% of men list their role as CIO, CTO, or IT manager, and 14% identify as technical team leads, compared to just 9% and 8% of women. This could create a cycle whereby there may be fewer mentorship opportunities for other women. &lt;/p&gt;



&lt;p&gt;When there are fewer female leaders, it has been found in a range of fields5 that it can be harder for women to progress in their careers, and it can be more challenging for aspiring women to find mentors who can guide them, provide valuable insights, and help them navigate their career paths.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;However, while still a minority of those in such roles, 25% of those in CEO or management positions are women, compared to their position as 22% of the developer population. &lt;/p&gt;



&lt;p&gt;While only a small percentage difference, given their underrepresentation in other leadership roles, this represents an area where women are getting leadership positions. Among the previously discussed issues women may face, women are also less likely to apply for leadership positions where they do not fulfil all of the requirements than men6. &lt;/p&gt;



&lt;p&gt;This may be leading women to also self-select towards management positions that are not solely dependent on technical skills.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;The observation that women hold a higher proportion of CEO/management roles compared to men (7% against 5%, respectively), particularly in companies with more than 250 employees (8% of women to 4% of men), could indicate a positive shift in gender representation and diversity in leadership positions. &lt;/p&gt;



&lt;p&gt;This trend might be driven by a changing corporate culture that is increasingly recognising the importance of gender diversity in leadership, leading companies to seek out and promote women into these roles6 proactively. &lt;/p&gt;



&lt;p&gt;Embracing diverse perspectives at the decision-making level can result in better organisational performance and decision-making.&lt;/p&gt;



&lt;p&gt;Another factor that may contribute to this observation is the growing appreciation for women&amp;#8217;s leadership styles, which tend to be more collaborative, participative, and relationship-oriented. These qualities are often valued in today&amp;#8217;s business environment and might make women particularly well-suited for CEO/management roles.&lt;/p&gt;



&lt;p&gt;Moreover, women, through their skills and abilities, are likely actively contributing to this positive trend, demonstrating that they are well-equipped for leadership roles. Despite women remaining a minority in leadership &lt;em&gt;this growing representation in CEO/management roles is a step in the right direction, highlighting the benefits of diverse and inclusive leadership.&lt;/em&gt;&lt;/p&gt;



&lt;figure class=&quot;wp-block-image&quot;&gt;&lt;img decoding=&quot;async&quot; src=&quot;https://lh4.googleusercontent.com/xk_PGg-AmHu7TmYLKhfiBsAupzdmZ7bJ0ukLkoGgb2JsgErVx5We641igK3ClcMYuH60d7sCYmz4iyJ2Nfr814YEgLxKuskRYv9TNNcclDgZvZra3kCOwLVv1jtG7SbLj8jRJobBn5JRB9tgpRxAaI0&quot; alt=&quot;&quot;/&gt;&lt;/figure&gt;
</content:encoded></item><item><title><![CDATA[Introducing Developer Nation forums]]></title><description><![CDATA[<p>It&#8217;s been a while (read 3 months) since we launched the Official Developer Nation forum along with our revamped website. But we have yet to make a formal announcement about it. This blog will serve as an official bulletin illustrating our rationale behind launching a self-hosted forum for Developer Nation. Being a global community, we [&hellip;]</p>
]]></description><link>https://community-development.developernation.net/blog/introducing-developer-nation-forums</link><guid isPermaLink="false">https://community-development.developernation.net/blog/introducing-developer-nation-forums</guid><pubDate>Wed, 05 Jul 2023 00:00:00 GMT</pubDate><enclosure url="https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png" length="0" type="image/png"/><content:encoded>&lt;img src=https://wordpress-development.developernation.net/wp-content/uploads/2024/07/dn_logo_square_badge.png alt=&quot;&quot;/&gt;
&lt;p&gt;It&amp;#8217;s been a while (read 3 months) since we launched the Official Developer Nation forum along with our revamped website. But we have yet to make a formal announcement about it. This blog will serve as an official bulletin illustrating our rationale behind launching a self-hosted forum for Developer Nation.&lt;/p&gt;



&lt;p&gt;Being a global community, we are aware that developers worldwide depend on us and each other for support, sharing ideas, collaboration, and diverse perspectives to make informed decisions in their programming journey. However, we didn&amp;#8217;t want to hastily create yet another Discord server or Slack workspace without careful consideration, which could result in unanswered queries and inactivity.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;How we support our global developer community&amp;nbsp;&lt;/h3&gt;



&lt;p&gt;We have been providing extensive assistance to our community members via email for a considerable period. Our support ranges from answering their questions, and connecting them with relevant individuals in the community, to sharing developer market research reports upon request from our vast data repository. We also extend it to help them with job hunting, among other things. However, we noticed all this happening behind closed doors, isolated from the rest of the community, for no reason but a lack of an open platform. Even if another developer had a similar query or request, they could not benefit from previous conversation flows with other members. Therefore, we decided to take this to the next level by providing the community with a platform to collaborate openly and benefit from the conversations other members are having.&lt;/p&gt;



&lt;h3 class=&quot;wp-block-heading&quot;&gt;Announcing Developer Nation Forums&lt;/h3&gt;



&lt;p&gt;Developer Nation forums are our discourse server which can be accessed at: &lt;a href=&quot;https://forum.developernation.net/&quot;&gt;https://forum.developernation.net/&lt;/a&gt;, now without actually telling you what you can do here, I would highly encourage you to check it out yourself and consider this our community playground where nothing is wrong, and everything posted is regarded as a healthy flow of conversations within the community. We&amp;#8217;ve created the categories we see fit (for now), but this is ever-evolving as we receive community feedback.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;One of the key goals of creating our own forums is to help our community self-serve themselves; that means once the forums have significant conversations, the chances of you finding an answer to your query increase by many folds. Thus, new members can better navigate our community and surveys and get support without needing to reach out to us personally.&lt;/p&gt;



&lt;p&gt;Apart from creating your own threads and participating in conversations started by other community members, you can customise the look and feel from dark to light mode. Feel free to explore more and share your feedback with me on how we can make it better and more inclusive for everyone. I believe our community members will generously help each other on the forums and make it a sustainable healthy hangout place for all the members.&lt;/p&gt;



&lt;p&gt;P.S: Since every member of the Developer Nation community team, including me, spends time on forums every day, the chances of your query being addressed are relatively high there.&lt;/p&gt;



&lt;p&gt;I&amp;#8217;ve created this short video as a quick crash course on using the forums for the first time; check it out, and I look forward to welcoming you there. Cheers!&lt;/p&gt;



&lt;div class=&quot;wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2 wp-block-buttons-is-layout-flex&quot;&gt;
&lt;div class=&quot;wp-block-button&quot;&gt;&lt;a class=&quot;wp-block-button__link wp-element-button&quot; href=&quot;https://forum.developernation.net/?utm_source=dn_forum&amp;amp;utm_medium=blog_dn&amp;amp;utm_campaign=introducing_forums&quot;&gt;Join forums here&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;figure class=&quot;wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio&quot;&gt;&lt;div class=&quot;wp-block-embed__wrapper&quot;&gt;
&lt;iframe loading=&quot;lazy&quot; title=&quot;Introducing Developer Nation Forum | Quick Tour&quot; width=&quot;580&quot; height=&quot;326&quot; src=&quot;https://www.youtube.com/embed/OGtOu08Fzg0?feature=oembed&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;&amp;#8211; Ayan&lt;/p&gt;
</content:encoded></item></channel></rss>