<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fum</title>
    <description>The latest articles on DEV Community by Fum (@funbeedev).</description>
    <link>https://dev.to/funbeedev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F451342%2F369f4c02-4f58-47fe-b818-540afef54704.jpg</url>
      <title>DEV Community: Fum</title>
      <link>https://dev.to/funbeedev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/funbeedev"/>
    <language>en</language>
    <item>
      <title>7 Inevitable Challenges in Software Development and How to Combat Them ⚔️</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Mon, 18 Jul 2022 07:12:00 +0000</pubDate>
      <link>https://dev.to/inspirezone/7-inevitable-challenges-in-software-development-and-how-to-combat-them-4o50</link>
      <guid>https://dev.to/inspirezone/7-inevitable-challenges-in-software-development-and-how-to-combat-them-4o50</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: This post includes affiliate links. I may receive compensation if you purchase products or services from the different links provided in this article.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;The efforts of launching software products can be a complicated process as it usually involves multiple parties working together across several stages whilst trying to solve technical problems. &lt;/p&gt;

&lt;p&gt;As a result, the process of developing software is usually met with challenges that most engineering teams can relate to. &lt;/p&gt;

&lt;p&gt;Challenges in software development can be driven by factors internal to the organisation or by external factors such as those caused by changes in the software industry as a whole.&lt;/p&gt;

&lt;p&gt;It’s critical that engineering teams are aware of challenges in software development they are likely to face so the necessary plans and processes can be put in place to combat them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--foHqlfow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/designing.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--foHqlfow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/designing.png" alt="Requirements is a type of software documentation" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, these challenges are not only limited to large teams and can apply to smaller teams and individuals working on software projects.&lt;/p&gt;

&lt;p&gt;Read on to discover ideas for how to guard yourself and your teams against these inevitable challenges so they aren’t so inevitable any more!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Several points in this article 'how to combat challenges in software development', were inspired by the book&lt;/em&gt; &lt;a href="https://www.amazon.co.uk/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052/ref=sr_1_1?crid=17H2LPIA76VW&amp;amp;keywords=the+pragmatic+programmer&amp;amp;qid=1658869812&amp;amp;s=books&amp;amp;sprefix=the+pra%252Cstripbooks%252C61&amp;amp;sr=1-1&amp;amp;_encoding=UTF8&amp;amp;tag=inspirezone0e-21&amp;amp;linkCode=ur2&amp;amp;linkId=7a8d4df8d74efeaa56ee3c50599dda86&amp;amp;camp=1634&amp;amp;creative=6738"&gt;&lt;em&gt;"The Pragmatic Programmer" by David Thomas and Andrew Hunt&lt;/em&gt;&lt;/a&gt; &lt;em&gt;(affiliate link), a well-renowned book in the software engineering field that we recommend every developer should read.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  1. Keeping up with the Trends
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0kWXryO_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/09/tech-industry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0kWXryO_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/09/tech-industry.png" alt="gears-with-tech-icons" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The software engineering world is known for its extremely dynamic nature. Technology available today can be deemed obsolete a decade later. It’s important to be aware of changing trends in the industry and adapt accordingly. &lt;/p&gt;

&lt;p&gt;Tools, libraries, frameworks and even programming languages that developers rely on may not be so reliable later if support for them continuously declines down the line affecting the maintainability of solutions that use those components.&lt;/p&gt;

&lt;p&gt;Don’t let yourself or your team be left behind and be aware of critical changes in technology trends.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Design solutions using the concept of &lt;strong&gt;reversibility&lt;/strong&gt;. This means being able to reverse an entire system or components of it so it's not reliant on a single technology, tool, vendor and if possible, programming language.&lt;/p&gt;

&lt;p&gt;Implement solutions with architectures that are flexible enough to withstand changes without having to redesign the entire solution.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Ever-Changing Requirements
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QuMJQl85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/project-management.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QuMJQl85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/project-management.png" alt="project-management" width="600" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Requirements are the information that communicates the problem to be solved for the end-user. Requirements are therefore critical to allow engineering teams to closely solve these problems.&lt;/p&gt;

&lt;p&gt;An all too common challenge (for any industry) is when requirements change. Reasons for evolving requirements can be: missing information, changing market demands,  customers' needs changing or not evaluating requirements for technical soundness before executing them.&lt;/p&gt;

&lt;p&gt;Requirements that are poorly communicated also result in an end product that does not match the customer’s expectations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Work closely with the end customer to understand why they need a particular problem solved. This will help in the refinement of the requirements and eliminate ones that are not essential to address the core problems the software is trying to solve. &lt;/p&gt;

&lt;p&gt;Negotiate on an MVP (&lt;a href="https://en.wikipedia.org/wiki/Minimum_viable_product"&gt;Minimum Viable Product&lt;/a&gt;) - a product with just enough features to be usable by customers and can be released to receive early feedback.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The Race Against Time and Resources
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aleAwLqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/11/planning-calendar.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aleAwLqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/11/planning-calendar.png" alt="circling-calendar" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, the software industry is infamous for constantly missing targets on deliverables and providing timescales that should be taken with a &lt;a href="https://en.wikipedia.org/wiki/Grain_of_salt"&gt;grain of salt&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;This is one of the common challenges in software development because teams are often faced with many unknowns that may be difficult to plan for. These unknowns can cause major roadblocks when faced and eventually cause delays in meeting deliverables. &lt;/p&gt;

&lt;p&gt;There are also often gaps between expectations and what can be realistically achieved in the given time frame. &lt;/p&gt;

&lt;p&gt;This can be caused by agreeing on deadlines before the full scope of the project is evaluated. Estimating when products can be delivered to end-users takes proficient planning and awareness of the technical challenges the project will come across. &lt;/p&gt;

&lt;p&gt;Poor resource management also plays a factor and lack of resources and skills needed to deliver on projects will put pressure on individuals and have negative effects on productivity. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Perform sufficient research and planning beforehand that will provide clues on where roadblocks could source from. &lt;em&gt;Don’t be surprised by roadblocks, anticipate them.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;Set clear and realistic expectations on what can be achieved given the available resources. Get better at estimating to avoid surprises and continuously re-evaluate timescales as the project progresses.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Maintenance Struggles
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TyfF4Z6g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/taking-notes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TyfF4Z6g--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/08/taking-notes.png" alt="laptop-and-pen" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All software requires maintenance at some point. Balancing maintenance activities while continuing on with core development activities can be one of the common challenges in software development.&lt;/p&gt;

&lt;p&gt;Maintenance can be required for shipped products or for ones still in the development stages. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;“All software becomes legacy as soon as it’s written” - Andrew Hunt &amp;amp; David Thomas (&lt;a href="https://www.amazon.co.uk/Pragmatic-Programmer-journey-mastery-Anniversary/dp/0135957052/ref=sr_1_1?crid=17H2LPIA76VW&amp;amp;keywords=the+pragmatic+programmer&amp;amp;qid=1658869812&amp;amp;s=books&amp;amp;sprefix=the+pra%252Cstripbooks%252C61&amp;amp;sr=1-1&amp;amp;_encoding=UTF8&amp;amp;tag=inspirezone0e-21&amp;amp;linkCode=ur2&amp;amp;linkId=7a8d4df8d74efeaa56ee3c50599dda86&amp;amp;camp=1634&amp;amp;creative=6738"&gt;The Pragmatic Programmer Book&lt;/a&gt;)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A codebase not touched for years may need an urgent bug fix. A project in the active development stages may need a continuous update of the environment and tools. These are all examples of maintenance activities that should not be overlooked.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Do not neglect to tackle potentially unexpected maintenance activities that may arise throughout a project. &lt;/p&gt;

&lt;p&gt;The availability of &lt;a href="https://inspirezone.tech/5-types-of-software-documentation/"&gt;software documentation&lt;/a&gt; such as on source code, software design and development processes will allow critical information to be passed onto developers that will handle the maintenance of the product.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Neglected Testing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hAbaTZeG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/09/software-bugs-always-there.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hAbaTZeG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/09/software-bugs-always-there.png" alt="software-bugs" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can all agree that testing is one activity that should not be neglected when developing software. However, testing is often not given the necessary attention especially as deadlines approach.&lt;/p&gt;

&lt;p&gt;Not placing enough effort on testing will not only negatively affect the robustness and quality assurance but software riddled with bugs will reduce the end-users confidence in the product. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;View testing as a critical activity and allocate sufficient time and resources for it during the project planning phases.&lt;/p&gt;

&lt;p&gt;Document testing requirements that will set expectations on the type and level of testing processes that should be carried out at various stages of the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. The Technical Debt Bill
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LmktMGTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/02/technical-debt-too-busy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LmktMGTX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/02/technical-debt-too-busy.png" alt="what is technical debt, too busy" width="700" height="400"&gt;&lt;/a&gt;&lt;/p&gt;
Too busy for efficiency. &lt;a href="https://medium.com/the-andela-way/what-technical-debt-is-and-how-its-measured-ff41603005e3"&gt;(Image source)&lt;/a&gt;



&lt;p&gt;&lt;a href="https://inspirezone.tech/what-is-technical-debt/"&gt;Technical debt&lt;/a&gt; is an analogy describing a trade-off between a shorter time to market launch and software quality assurance.&lt;/p&gt;

&lt;p&gt;Like financial debt, technical debt accumulates interest and the longer it takes to pay back the higher the interest will be.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;“Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite…&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt.&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;em&gt;&lt;a href="http://c2.com/doc/oopsla92.html"&gt;- Ward Cunningham, The WyCash Portfolio Management System&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Software is never perfect, so technical debt is inevitable. The danger is when engineering teams are unaware of the debt, or when they refuse to pay it back promptly. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The first challenge engineering teams must overcome is accepting that technical debt is not imaginary and should be taken seriously. Next, become aware of the &lt;a href="https://inspirezone.tech/what-is-technical-debt/"&gt;sources of technical debt&lt;/a&gt; and indications of accumulating debt.&lt;/p&gt;

&lt;p&gt;Like any other activity, plan technical debt pay back into your software development processes. This will ensure the debt is not neglected and will prevent the team from being overloaded with debt interest before realising it too late.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Glaring Gaps in Communication
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P_ppkI_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/06/communicate.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P_ppkI_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://inspirezone.tech/wp-content/uploads/2021/06/communicate.png" alt="people-talking" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clear and effective communication is an essential part to the success of any project. This is even more crucial when considering the technical challenges in software development and the efforts to reach solutions to complex problems.&lt;/p&gt;

&lt;p&gt;It's all too easy for gaps in communication to appear. Gaps can appear amongst the developers on a team or between developers and external influences such as stakeholders.&lt;/p&gt;

&lt;p&gt;The consequences of this can be a misalignment of the goals of a project and lack of ownership which will only cause confusion and disorganisation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How to Combat:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Set expectations on the methods and frequency of communication before a project begins. &lt;/p&gt;

&lt;p&gt;Will an Agile approach be used? How will progress be communicated to stakeholders? Will teams have daily standups? Are periodic meetings necessary? As &lt;a href="https://www.techrepublic.com/article/developers-explain-what-makes-them-most-productive-and-what-can-totally-ruin-their-day/"&gt;too many meetings can be detrimental to productivity&lt;/a&gt;, agree on a non-intrusive schedule amongst the relevant parties.&lt;/p&gt;

&lt;p&gt;There are numerous challenges in software development that most engineering teams will face at some point. A good first step in combating these challenges is acknowledging them and putting processes in place to handle or prevent them from occurring.&lt;/p&gt;

&lt;p&gt;With each project you’re involved with, whether past or current, reflect on what challenges you faced and evaluate how to tackle them more effectively the next time.&lt;/p&gt;

&lt;p&gt;Which of these challenges in software development can you relate with?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://inspirezone.tech/"&gt;Inspirezone.tech&lt;/a&gt; is a developer community focused on encouraging active coding practice and reaching your goals through accountability with other devs in a close-knit community. If this sounds interesting to you consider &lt;a href="https://community.inspirezone.tech/"&gt;joining us&lt;/a&gt; or following us on &lt;a href="https://twitter.com/inspirezonetech"&gt;Twitter&lt;/a&gt; 💻 ✨&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>product</category>
      <category>motivation</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>10 Essential Things Software Engineers Do Apart From Coding</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Tue, 28 Jun 2022 17:55:33 +0000</pubDate>
      <link>https://dev.to/inspirezone/10-essential-things-software-engineers-do-apart-from-coding-e5d</link>
      <guid>https://dev.to/inspirezone/10-essential-things-software-engineers-do-apart-from-coding-e5d</guid>
      <description>&lt;p&gt;Most will imagine things software engineers do as likely sitting in front of a computer typing code all day. While coding is certainly one activity carried out by programmers, it’s not quite an accurate description of what it takes to produce functional software.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jI-Pw__h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41sxngx1q63f9lx1jmcv.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jI-Pw__h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41sxngx1q63f9lx1jmcv.jpg" alt="Code-Sleep-Repeat" width="500" height="488"&gt;&lt;/a&gt;&lt;/p&gt;
Programmers only code? Not quite...



&lt;p&gt;The art of creating software is a lot more than just writing code. Let’s look at some stats to back this statement up.&lt;/p&gt;

&lt;p&gt;A developer survey performed by &lt;a href="https://www.activestate.com/resources/white-papers/developer-survey-2019-open-source-runtime-pains/"&gt;ActiveState&lt;/a&gt; with 1,250 responses showed that 61.52% of developers spend 4 hours or less programming on a typical day. And only 10.56% spend 8 hours or more programming on a typical day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gb1mDX_z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eax7p2xy6xyyvfn7i2qj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gb1mDX_z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eax7p2xy6xyyvfn7i2qj.png" alt="time-spent-coding-survey" width="880" height="334"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;a href="https://www.activestate.com/resources/white-papers/developer-survey-2019-open-source-runtime-pains/"&gt;Result &lt;/a&gt; of 1,250 respondents on time spent programming on a typical day



&lt;p&gt;Another developer survey performed by &lt;a href="https://tidelift.com/subscription/managed-open-source-survey"&gt;Tidelift&lt;/a&gt; with 295 responses shows developers only spend 32% of their time writing or improving code. The remaining 68% of their time is spent on other duties such as testing, maintenance and admin tasks.&lt;/p&gt;

&lt;p&gt;Stats like those provided by the &lt;a href="https://www.activestate.com/resources/white-papers/developer-survey-2019-open-source-runtime-pains/"&gt;ActiveState&lt;/a&gt; and &lt;a href="https://tidelift.com/subscription/managed-open-source-survey"&gt;Tidelift&lt;/a&gt; surveys prove there are other essential things software engineers do as part of working on software projects. &lt;/p&gt;

&lt;p&gt;What activities apart from coding are arguably as critical in the process of developing software? Let’s look into 10 of these other essential things software engineers do on a regular basis.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Researching and planning
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UkatODTK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8b2hlsw0itdxioeyxl8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UkatODTK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f8b2hlsw0itdxioeyxl8.png" alt="project-management" width="600" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The initial stages when commencing new development projects will likely involve research on the suitable technologies, toolkits, libraries, development environments, programming languages and any other necessary tools.&lt;/p&gt;

&lt;p&gt;Depending on the scale of a project, engineering teams may plan to dedicate efforts in performing research to confirm validity of the projects concept.&lt;/p&gt;

&lt;p&gt;The efforts placed in a validating phase is usually referred to as a Proof Of Concept (PoC). This is when intentional efforts are placed to prove the core concept of a project can be successfully delivered. This will occur before officially launching execution of the project and before significant time and resources are allocated.&lt;/p&gt;

&lt;p&gt;Proper research of the tools and technologies required and placing effort in planning the projects execution is worth the investment and will ultimately save time in the long run. &lt;/p&gt;

&lt;h2&gt;
  
  
  2. Documentation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QAUPNPa6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zz4gziopj5rvdh2iix03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QAUPNPa6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zz4gziopj5rvdh2iix03.png" alt="Documents" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Documentation is useful for exchanging and handing over knowledge and therefore writing documents is a large part of the things software engineers do. Documents also provides a formal method of communication amongst all parties involved in a project such as development teams, stakeholders and end users.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Developers experience a 55% increase in productivity with good documentation – &lt;a href="https://github.blog/2021-11-16-the-2021-state-of-the-octoverse/"&gt;GitHub 2021 developer survey&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Functional specifications, architecture design, flow diagrams, READMEs, bug fix reports, testing reports, release notes, user guides… These are some of the common forms of documentation and records generated by software development teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Gathering Requirements
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5C5dPX74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d4vftwxohsbob4sskyz4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5C5dPX74--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d4vftwxohsbob4sskyz4.png" alt="requirements-gathering" width="500" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Whether writing up requirements or interpreting them, requirements are the base-line of what is ultimately translated into a working solution. &lt;/p&gt;

&lt;p&gt;Software engineers are fundamentally problem solvers and therefore, understanding the needs of customers is essential to the success of a project. In an ideal scenario requirements inform what customers are looking for which is then made into reality through engineering efforts.&lt;/p&gt;

&lt;p&gt;However, the work involved in properly capturing requirements can be underestimated. Requirements can change over time, be misunderstood or communicated poorly. This is why placing sufficient efforts in capturing and executing requirements is one of the essential things software engineers do. &lt;/p&gt;

&lt;h2&gt;
  
  
  4. Maintenance Activities
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cYwQXduV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ri86md681hgghgm83wz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cYwQXduV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ri86md681hgghgm83wz.png" alt="tools" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Code needs regular care and the process of writing code will always involve follow up maintenance work.&lt;/p&gt;

&lt;p&gt;Refactoring, tidying up, releasing bug fixes or &lt;a href="https://inspirezone.tech/what-is-technical-debt/"&gt;paying back Technical Debt&lt;/a&gt; are some forms of maintenance work carried out by developers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Developers spend 35% of their time on maintenance activities – &lt;a href="https://thenewstack.io/how-much-time-do-developers-spend-actually-writing-code/"&gt;thenewstack analysis of the Tidelift developer survey&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Open source projects typically have a dedicated person or team that oversees the repository who are called &lt;a href="https://inspirezone.tech/reasons-to-become-an-open-source-maintainer/"&gt;open source maintainers&lt;/a&gt;. Open source maintainers perform many duties often not related to writing code such as code reviews, updating documentation or merging pull requests.&lt;/p&gt;

&lt;p&gt;The upkeep and support of the components that make up a software project is certainly an important part of the things software engineers do. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Debugging
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PJaRgldM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1959cx530kpur7q8rstv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PJaRgldM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1959cx530kpur7q8rstv.png" alt="debugging" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Analytical and problem solving are key skills required of software engineers and this especially comes into play when debugging issues. Debugging usually accounts for a large chunk of the efforts involved in the process of developing software.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“If debugging is the process of removing bugs. Then programming must be the process of putting them in” – &lt;a href="https://softwarequotes.com/quote/if-debugging-is-the-process-of-removing-bugs--then"&gt;Edsger Dijkstra&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Unless you write perfect software, there’s no way out of having to debug at some point in every project. Debugging activities can involve taking part in a &lt;a href="https://revdebug.com/blog/root-cause-analysis-in-software-development/"&gt;root cause analysis&lt;/a&gt;, studying API reference manuals, using IDE debug tools or &lt;a href="https://inspirezone.tech/how-to-search-for-programming-solutions/"&gt;googling for an answer to your programming problems&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Coding is an art and so is debugging. &lt;a href="https://inspirezone.tech/9-indispensable-rules-for-debugging-software-and-hardware/"&gt;Learning to debug problems in a systematic way&lt;/a&gt; and resolving them is a key part of the things software engineers do. &lt;/p&gt;

&lt;h2&gt;
  
  
  6. Reading Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LlEZWs2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lo6gj7gaxk83npz08rj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LlEZWs2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lo6gj7gaxk83npz08rj7.png" alt="reading-code" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reading, studying, analysing, interpreting code also comes part of the package in the role of programmers.&lt;/p&gt;

&lt;p&gt;The ability to read and understand other people’s code is arguably as important as being able to write it especially when working in teams.&lt;/p&gt;

&lt;p&gt;Reading code written by others often requires patience, after all, you’re attempting to understand the thought process of how someone else or a group of people formulated a solution to a particular problem (or attempted to!).&lt;/p&gt;

&lt;p&gt;So while programmers write code, we also certainly spend lots of time staring at it, perhaps a bit too long at times…&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Testing
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YVg1dly5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5v9qc76vvthvks1tpzk1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YVg1dly5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5v9qc76vvthvks1tpzk1.png" alt="testing" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Proper planning and execution of tests are critical in increasing confidence in the solutions robustness, reliability, security and overall functionality.&lt;/p&gt;

&lt;p&gt;Testing activities performed by programmers can involve: drawing up test cases, smoke tests, unit tests, integration tests and end-to-end tests.&lt;/p&gt;

&lt;p&gt;The concept of &lt;a href="https://www.guru99.com/test-driven-development.html"&gt;Test Driven Development (TDD)&lt;/a&gt; is becoming increasingly common where test planning and creation are prioritised and implemented early in the development stages. &lt;/p&gt;

&lt;p&gt;Part of the things software engineers do apart from coding &lt;em&gt;&lt;strong&gt;should&lt;/strong&gt;&lt;/em&gt; be testing, and &lt;em&gt;&lt;strong&gt;doing lots of it&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Attending Meetings
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0CwXkDLb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o2ujq7hff2102xdyhwhz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0CwXkDLb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o2ujq7hff2102xdyhwhz.png" alt="meetings" width="500" height="286"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sprint planning, daily stand-ups, brainstorming sessions, feature discussions, resource allocation. These are just a handful of the many different types of meetings developers may attend.&lt;/p&gt;

&lt;p&gt;It’s all about communication and meetings can be impactful in improving collaboration.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Software developers/engineers spend 14% of their time in meetings.&lt;br&gt;
Software development/engineering managers spend 30% of their time in meetings. – &lt;a href="https://thenewstack.io/how-much-time-do-developers-spend-actually-writing-code/"&gt;thenewstack analysis of the Tidelift developer survey&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Although &lt;a href="https://www.techrepublic.com/article/developers-explain-what-makes-them-most-productive-and-what-can-totally-ruin-their-day/"&gt;too many meetings can be detrimental to productivity&lt;/a&gt;, if done right it presents opportunities to collaborate with engineering teams and stakeholders and is therefore an essential part of the things software engineers do apart from coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Mentoring Others
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--luz5Zz0z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j1f8cq31obdn2x2asog.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--luz5Zz0z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8j1f8cq31obdn2x2asog.png" alt="sharing-knowledge" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mentoring each other is vital in passing knowledge to the future generation of developers. Within teams, senior engineers are often expected to act as a mentor to those in junior positions.  &lt;/p&gt;

&lt;p&gt;Mentoring can involve but is not limited to: passing on learnings from your personal experiences, providing training, peer programming or providing coaching and career advice.&lt;/p&gt;

&lt;p&gt;A willingness to teach and patience is a requirement for people who want to be a mentor to others.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://inspirezone.tech/tips-for-mentoring-junior-developers/"&gt;Read more&lt;/a&gt; about tips on providing encouragement and support to junior software engineers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Never discourage anyone…who continually makes progress, no matter how slow.” – Plato&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  10. Upskilling and Learning
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KNaYKFw2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfl2hrht10wbqg3keuuo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KNaYKFw2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gfl2hrht10wbqg3keuuo.png" alt="code-books" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Investing in your knowledge is critical due to the rapid changing nature of the software industry. A technology that may be popular today may not be quite so popular a few years later.&lt;/p&gt;

&lt;p&gt;Being intentional about diversifying your abilities will increase your flexibility in taking on different roles and will in turn make you more employable.&lt;/p&gt;

&lt;p&gt;Building up knowledge will also improve your confidence as you’ll feel more prepared to adapt to new roles and industries if you ever need to (or are forced to) take a shift in career direction.  &lt;/p&gt;

&lt;p&gt;Consider picking up a new programming language if you feel yourself becoming stale or bored of using the same language for every project. If switching to a new language is not practical for the type of work you do, consider picking up a side project or get involved in &lt;a href="https://inspirezone.tech/what-is-open-source-infographic/"&gt;open source projects&lt;/a&gt; using different languages and tools to what you’re used to.&lt;/p&gt;

&lt;p&gt;Other ways to expand your knowledge portfolio and interests are through books, training courses, bootcamps, webinars, conferences or just googling!&lt;/p&gt;




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

&lt;p&gt;We explored 10 essential things software engineers do apart from coding that highlight the diverse nature of the role. While writing code is one side, there are other activities you must also be prepared to perform to become a well-rounded software engineer.&lt;/p&gt;

&lt;p&gt;It’s also important to note the time spent on non-coding activities will also depend on specific roles the individual plays in the software project. For example, someone with the title of an engineering manager is likely not spending as much time coding as a full-stack developer.&lt;/p&gt;

&lt;p&gt;Do any of these non-coding activities surprise you? If you work as a developer, what activities apart from coding do you spend most of your time on?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="https://inspirezone.tech/"&gt;Inspirezone.tech&lt;/a&gt; is a developer community focused on encouraging active coding practice and reaching your goals through accountability with other devs in a close-knit community. If this sounds interesting to you consider &lt;a href="https://community.inspirezone.tech/"&gt;joining us!&lt;/a&gt; 💻 ✨&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>beginners</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Monitor New DEV.to Comments With Azure Cloud IoT Hub and Raspberry PI ☁️</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Tue, 08 Mar 2022 23:50:21 +0000</pubDate>
      <link>https://dev.to/funbeedev/monitor-new-devto-comments-with-azure-cloud-iot-hub-and-raspberry-pi-3k07</link>
      <guid>https://dev.to/funbeedev/monitor-new-devto-comments-with-azure-cloud-iot-hub-and-raspberry-pi-3k07</guid>
      <description>&lt;p&gt;&lt;strong&gt;Use the Azure Cloud and Forem DEV API to alert a device when a new comment is made on your DEV.to article. Blink an LED on a raspberry PI and read out the comment using a text to speech engine (connect the Raspberry PI to a speaker e.g. alexa for extra effect).&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Why this application?, Why not? 😀&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Overview of My Submission
&lt;/h3&gt;

&lt;p&gt;Get alerted of new comments on your DEV.to articles. &lt;br&gt;
Azure Cloud app interacts with an end device through the Azure IoT Hub SDK to send the commenter username and comment content. Device reads out comment using a speech engine (and blinks an LED if the end device is a raspberry pi connected to an LED).&lt;/p&gt;
&lt;h3&gt;
  
  
  Demo Video
&lt;/h3&gt;

&lt;p&gt;EDIT: Adding a demo video to show the concept working.&lt;br&gt;
 &lt;iframe width="710" height="399" src="https://www.youtube.com/embed/X1Y-008UNpY"&gt;
&lt;/iframe&gt;
 &lt;/p&gt;
&lt;h3&gt;
  
  
  Core technologies and kits overview
&lt;/h3&gt;

&lt;p&gt;✔️ &lt;a href="https://developers.forem.com/api"&gt;DEV Forem API&lt;/a&gt;.&lt;br&gt;
✔️ Azure Linux Virtual Machines.&lt;br&gt;
✔️ Azure IoT Hub.&lt;br&gt;
✔️ Python Requests Module.&lt;br&gt;
✔️ Python Text to Speech Engine.&lt;br&gt;
✔️ Raspberry PI.&lt;/p&gt;

&lt;p&gt;If using MQTT:&lt;br&gt;
✔️ Mosquitto MQTT broker.&lt;br&gt;
✔️ Paho MQTT Client.&lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Wacky Wildcards&lt;/strong&gt;&lt;br&gt;
Uses &lt;strong&gt;Azure Linux Virtual Machines&lt;/strong&gt; and &lt;strong&gt;Azure IoT Hub.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Link to Code on GitHub
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/funbeedev"&gt;
        funbeedev
      &lt;/a&gt; / &lt;a href="https://github.com/funbeedev/Monitor-Devto-Comments-With-AzureCloud"&gt;
        Monitor-Devto-Comments-With-AzureCloud
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Be alerted of new comments on a DEV.to article using the Azure Cloud
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Monitor-Devto-Comments-With-AzureCloud&lt;/h1&gt;
&lt;p&gt;Be alerted of new comments on a &lt;a href="https://dev.to" rel="nofollow"&gt;DEV.to&lt;/a&gt; article using the Azure Cloud ☁️&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/d3850ca0fda07eb1c89443f0eebc9274bd59182309d6a34b0e686e9626fdef4b/68747470733a2f2f696e73706972657a6f6e652e746563682f77702d636f6e74656e742f75706c6f6164732f323032322f30342f417a757265436c6f75642d446576746f2d636f6d6d656e742d616c657274732d31323830783634302d312e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/d3850ca0fda07eb1c89443f0eebc9274bd59182309d6a34b0e686e9626fdef4b/68747470733a2f2f696e73706972657a6f6e652e746563682f77702d636f6e74656e742f75706c6f6164732f323032322f30342f417a757265436c6f75642d446576746f2d636f6d6d656e742d616c657274732d31323830783634302d312e706e67" alt="azurecloud-app-header-image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
About&lt;/h2&gt;
&lt;p&gt;Consists of an application running on the Azure Cloud and another on a device to detect new messages posted on a DEV.to article and alert you by reading out the comment. If the device is a PI, LED will indicate new comments.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use the Azure Cloud to alert you when a new comment is posted on your DEV.to post by polling the DEV.to api.&lt;/li&gt;
&lt;li&gt;When a new comment is detected the Azure Cloud will send a message to a selected device registered on the Azure IoT Hub. This message will contain the username along with the comment. The device reads out the username and comment using a text to speech engine.&lt;/li&gt;
&lt;li&gt;As a bonus if the device is a raspberry PI an LED will blink while the comment is being read.&lt;/li&gt;
&lt;li&gt;The method of…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/funbeedev/Monitor-Devto-Comments-With-AzureCloud"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  Additional Info
&lt;/h3&gt;

&lt;p&gt;Consider giving the &lt;a href="https://github.com/funbeedev/Monitor-Devto-Comments-With-AzureCloud/"&gt;GitHub repo&lt;/a&gt; a ⭐. Contributions and ideas are also welcome!&lt;/p&gt;

&lt;p&gt;Plans for the future of this application:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More use of Azure resources &lt;/li&gt;
&lt;li&gt;Refactoring &lt;/li&gt;
&lt;li&gt;Stability improvement &lt;/li&gt;
&lt;li&gt;Lots more cool stuff with the Raspberry PI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Consider checking out my website &lt;a href="https://inspirezone.tech/"&gt;inspirezone.tech&lt;/a&gt;, a developer blog and growing &lt;a href="https://community.inspirezone.tech/"&gt;dev community&lt;/a&gt; 💻&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>azuretrialhack</category>
      <category>azure</category>
      <category>iot</category>
      <category>forem</category>
    </item>
    <item>
      <title>21 Reflections for 2021 (As a Developer)</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Fri, 07 Jan 2022 06:45:51 +0000</pubDate>
      <link>https://dev.to/funbeedev/21-reflections-for-2021-as-a-developer-5fhn</link>
      <guid>https://dev.to/funbeedev/21-reflections-for-2021-as-a-developer-5fhn</guid>
      <description>&lt;p&gt;With 2021 concluded I thought it would be a nice exercise to reflect on how the year has gone from the perspective of a developer. I made a similar post last year that focused on what I learnt over the year: &lt;a href="https://dev.to/funbeedev/20-things-i-learned-in-2020-programmer-edition-2bai"&gt;20 Things I Learned in 2020 (Programmer Edition).&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2021 I had many targets of learning new skills and working on several development projects. These reflections for 2021 are useful for looking back and analysing how the year went,  any accomplishments, lessons I learned and what can be done to improve for the following year. &lt;/p&gt;

&lt;p&gt;Why don’t you carry out your own reflections for 2021 yourself? 🙂&lt;/p&gt;

&lt;h2&gt;
  
  
  Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;1. Learn the fundamentals&lt;/li&gt;
&lt;li&gt;2. Don’t do too many projects at once&lt;/li&gt;
&lt;li&gt;3. A PoC wouldn’t hurt&lt;/li&gt;
&lt;li&gt;4. Beware Technical Debt&lt;/li&gt;
&lt;li&gt;5. Accountability matters&lt;/li&gt;
&lt;li&gt;6. Be organised&lt;/li&gt;
&lt;li&gt;7. Stick to a plan&lt;/li&gt;
&lt;li&gt;8. Python is cool&lt;/li&gt;
&lt;li&gt;9. Web Design is fun&lt;/li&gt;
&lt;li&gt;10. Know your tools&lt;/li&gt;
&lt;li&gt;11. GameOff 2021&lt;/li&gt;
&lt;li&gt;12. Done is better than perfect&lt;/li&gt;
&lt;li&gt;13. Code Mentoring&lt;/li&gt;
&lt;li&gt;14. Imposter syndrome is real&lt;/li&gt;
&lt;li&gt;15. Hacktoberfest&lt;/li&gt;
&lt;li&gt;16. Open Source infographic&lt;/li&gt;
&lt;li&gt;17. Repository maintenance&lt;/li&gt;
&lt;li&gt;18. GitHub Hackathon&lt;/li&gt;
&lt;li&gt;19. Developer communities&lt;/li&gt;
&lt;li&gt;20. Blogging&lt;/li&gt;
&lt;li&gt;21. Learn from your past&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  1. Learn the fundamentals &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--k4VNb3It--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/da0d5ae6xix73vho4isr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--k4VNb3It--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/da0d5ae6xix73vho4isr.png" alt="dev books" width="600" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This reflection comes from my attempt at working on several development projects without knowing the fundamental language or framework that is needed in it’s implementation. Particularly, a web design project I’m working on called &lt;a href="http://www.biblebeforebread.com/"&gt;BibleBeforeBread.com&lt;/a&gt; which uses the &lt;a href="https://www.gatsbyjs.com/"&gt;GatsbyJS&lt;/a&gt; web framework (source on available on &lt;a href="https://github.com/funbeedev/BibleBeforeBread"&gt;GitHub&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;In my attempt to put together the site, I didn’t take the time to learn the languages behind what the Gatsby framework is based on which is JavaScript and React. This ultimately slowed me down in the execution of the site as I tried to ‘hack’ my way to a solution by using examples on the web. &lt;/p&gt;

&lt;p&gt;In the end, I realised a proper understanding of JavaScript at the minimum is needed to execute this project properly which I am now working on learning.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Don’t do too many projects at once &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7mQn5T85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kclqxtzho2nudlfc3dq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7mQn5T85--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kclqxtzho2nudlfc3dq8.png" alt="juggling" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Perhaps the biggest lesson of the year for me is not attempting to execute too many project ideas at once. I certainly got carried away with several plans for development projects and trying to jump between them.&lt;/p&gt;

&lt;p&gt;Not only does this slow down the progress of each project but doing this also makes it more likely to rush through the current project of attention so you can move on to the next one.&lt;/p&gt;

&lt;p&gt;I’m writing this down as my own reminder for next year to be more focused on reaching each project to a satisfactory stage before moving on to the next.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. A PoC wouldn’t hurt &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OSavsEzE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xlkz9jgnsqpc21g9mkxb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OSavsEzE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xlkz9jgnsqpc21g9mkxb.png" alt="puzzles" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A PoC (Proof of Concept) is a task done with the purpose of validating a core concept before turning it into a full project. This is usually done to ensure the project itself is a concept that can be made a reality and the proper development tools, frameworks and so on, are available to execute it.&lt;/p&gt;

&lt;p&gt;The task of carrying out a PoC is something I want to pay more attention to for future projects. As mentioned previously, I tended to get carried away working on several projects at once and jumping from one to the next. &lt;/p&gt;

&lt;p&gt;Several of these projects could have benefited with a PoC where I first tested the main concept using several programming languages or frameworks to test which one would be most suitable. Something to keep in mind for the next project…&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Beware Technical Debt &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;In summary, technical debt is a concept to describe when shortcuts are taken for software development projects that will ultimately result in a long term consequence that will need to be paid back in the form of a ‘debt’.&lt;/p&gt;

&lt;p&gt;Read more about technical debt: &lt;a href="https://inspirezone.tech/what-is-technical-debt/"&gt;What is Technical Debt? – The elephant in the development room&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The topic of technical debt has been an area of study for me in the past and I continuously look for ways to overcome it in engineering projects.  Again, with attempting to do too many development projects at once I felt impacted by technical debt as some projects did not reach the stage I aimed them to be by the end of the year. Taking shortcuts such as not learning the core fundamentals properly of several technologies also slowed down the progress of many projects.&lt;/p&gt;

&lt;p&gt;Technical debt is something I want to be a lot more conscious of as I plan the execution of several projects next year. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. Accountability matters &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m07FMxiK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5qhfv880xg6ko4s9ir2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m07FMxiK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5qhfv880xg6ko4s9ir2.png" alt="flag" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When attempting to execute several plans, it can be easy to get distracted (or lazy) if no one is expecting you to deliver. I discovered the importance of accountability when I joined a group that focuses on pairing people up with similarities to help keep each other accountable and keep on track with goals.&lt;/p&gt;

&lt;p&gt;Also check out this post highlighting the importance of having accountability as a developer: &lt;a href="https://inspirezone.tech/why-accountability-matters-for-programmers/"&gt;Don’t go on the dev journey solo – 3 Key reasons why accountability matters&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Be organised &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4YIZvX8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9swxdic83cfi15rkkkmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4YIZvX8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9swxdic83cfi15rkkkmn.png" alt="stick notes" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Organisation is key to having a clear path and mind in what your next goals should be. I use &lt;a href="https://trello.com/"&gt;Trello&lt;/a&gt;, an online task management platform to organise my work. Read more about how I use Trello as a developer: &lt;a href="https://inspirezone.tech/trello-for-developers/"&gt;Using Trello to organise your dev projects&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, the arrangements of my Trello boards become disorganised during the year. This eventually slowed me down as I spent more time than ideal figuring out where to retrieve my next task. &lt;/p&gt;

&lt;p&gt;This showed the importance of keeping organised and not getting carried away with management tools. Simplicity is what I want to remember for next year as I re-structure how I handle tasks on Trello.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Stick to a plan &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fLU877u3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6qltwcw2zb6t3gpl261.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fLU877u3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u6qltwcw2zb6t3gpl261.png" alt="calendar" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Following on from the point of being organised, drawing up a plan and also sticking to it is another valuable lesson. It’s nice to have plans, but what use is it if not followed? I often drifted away from plans I  created to help reach a particular goal or milestone due to getting distracted by other tasks.&lt;/p&gt;

&lt;p&gt;Probably another result of attempting to work on several projects at the same time, which I intend to correct for next year. So the main plan, is not only having a plan, but also sticking to it!&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Python is cool &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LRA6ETVU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/406t1u46yd3yznosw7np.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LRA6ETVU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/406t1u46yd3yznosw7np.png" alt="python" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I continued to use Python in 2021 to enhance existing projects and work on new ones. Check out my &lt;a href="https://github.com/funbeedev"&gt;GitHub profile&lt;/a&gt; for several Python projects I work on. &lt;/p&gt;

&lt;p&gt;The first language I learned was C which is suitable for low-level embedded programming. From my recent interest in developing side projects, I find myself reaching for Python due to the ease of putting together a program. Python is truly a general purpose language that can be used for tasks big or small.&lt;/p&gt;

&lt;p&gt;I also wrote a blog post about the popularity of Python and why every developer should consider picking up the language: &lt;a href="https://inspirezone.tech/why-python-is-popular-with-developers-2021/"&gt;Compelling reasons why python is popular with developers in 2021&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Web Design is fun &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jjbh60jD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3xovj1v4f1sxqe54fx1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jjbh60jD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3xovj1v4f1sxqe54fx1.png" alt="web dev" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I discovered throughout the year I enjoyed web development as I worked on various web design activities and working with HTML, CSS and attempt to learn the Gatsby framework. &lt;/p&gt;

&lt;p&gt;Web development is an entirely different area to my field of Embedded systems but it’s been a fun experience learning about it and hope to continue my learnings into next year!&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Know your tools &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_YhnZ_bs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cat7jgs7d1wjslrc1vvx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_YhnZ_bs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cat7jgs7d1wjslrc1vvx.png" alt="tools" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I continued to use VSCode as my main development editor. I also discovered taking time to learn more advanced features of your tools can go a long way in improving efficiency. The lesson here is to become more intentional in learning how to truly use the tools you have at hand.&lt;/p&gt;

&lt;h2&gt;
  
  
  11. GameOff 2021 &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VTz1cL4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkmign8yntsk58txkoa5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VTz1cL4s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bkmign8yntsk58txkoa5.png" alt="gameoff 2021" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://itch.io/jam/game-off-2021"&gt;GameOff&lt;/a&gt; is a game development competition hosted by &lt;a href="https://itch.io/"&gt;itch.io&lt;/a&gt;. For the GameOff 2020 competition, I submitted a game called &lt;a href="https://funbeedev.itch.io/save-the-sheep"&gt;“SaveTheSheep”&lt;/a&gt;. In 2021 I used the “bug” theme of the competition to make a &lt;a href="https://funbeedev.itch.io/v20-save-the-sheep"&gt;“2.0SaveTheSheep”&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;View the source code for the game on &lt;a href="https://github.com/funbeedev/SaveTheSheepGame"&gt;GitHub&lt;/a&gt; which was built using &lt;a href="https://godotengine.org/"&gt;Godot game engine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Interested in learning how to build games using Godot game engine? Check out this post on my experience with the engine as a beginner to game dev: &lt;a href="https://inspirezone.tech/first-game-using-godot-engine/"&gt;Making my first game in under a week using Godot engine (you can do it too!)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  12. Done is better than perfect &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Perhaps one of the key takeaways for me in 2021 is the concept of “Done is better than perfect”. In fact, I wrote a whole post about this and how developers can learn from this concept: &lt;a href="https://inspirezone.tech/done-is-better-than-perfect-for-programmers/"&gt;Done is better than perfect: The implications in software development.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The idea is to work on implementing tasks and projects by focusing on the key items needed for that task to be completed or the project to be shipped. Otherwise, you can find yourself falling for the trap of trying to get things perfect and never getting it done at all. This lesson is one I want to keep in mind as I plan several projects for the year ahead.&lt;/p&gt;

&lt;h2&gt;
  
  
  13. Code Mentoring &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;I successfully applied to be a mentor on the &lt;a href="https://www.codementor.io/"&gt;CodeMentor.io&lt;/a&gt; platform. On CodeMentor, anyone who needs advice can get help for anything relating to their development projects, tech startup, assignments (with some limitations), tutoring and much more. Reach out directly to mentors on the platform with relevant experience to help you or post a request and let mentors reach out to you. &lt;/p&gt;

&lt;p&gt;On the other side, you can apply to be a mentor to help others which is how I’ve been involved with the platform. My experience with CodeMentor has been positive and I encourage anyone who either needs help or who wants to help out as a mentor to give it a try.&lt;/p&gt;

&lt;p&gt;You can directly reach out to me on the CodeMentor platform and let’s discuss how I could be of help to you:&lt;br&gt;
&lt;a href="https://www.codementor.io/@funbee?refer=badge"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P7maMVC5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.codementor.io/m-badges/funbee/find-me-on-cm-b.svg" alt="Contact me on Codementor" width="137" height="51"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  14. Imposter syndrome is real &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PFHyAe5G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pskadmxt158ty0fmdxlh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PFHyAe5G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pskadmxt158ty0fmdxlh.png" alt="hacker" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imposter syndrome refers to feelings of doubt about your competencies and capabilities. This leads to feelings of inadequacy and feelings of fearing you may get ‘caught’ as an imposter. This is common amongst programmers of all levels of experience and is one to watch out for. &lt;/p&gt;

&lt;p&gt;I related to this throughout the year, particularly when  I registered on the &lt;a href="https://www.codementor.io/"&gt;CodeMentor&lt;/a&gt; as a mentor to assist others. I also wrote a post on &lt;a href="https://inspirezone.tech/combat-programmer-imposter-syndrome/"&gt;5 Powerful ways to combat programmer imposter syndrome&lt;/a&gt; which I hope can encourage someone to overcome such feelings!&lt;/p&gt;

&lt;h2&gt;
  
  
  15. Hacktoberfest &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VuOa6WPM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0r43kfg27xvh1ax3lxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VuOa6WPM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t0r43kfg27xvh1ax3lxk.png" alt="hacktoberfest" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Similar to Hacktoberfest 2020, I once again participated in Hacktoberfest 2021. There were a few lessons I carried over from my experience of the previous year that helped with receiving even more contributions this year. &lt;/p&gt;

&lt;p&gt;See my reflections on Hacktoberfest 2021: &lt;a href="https://inspirezone.tech/maintainer-reflections-on-hacktoberfest-2021/"&gt;Maintainer Reflections on Hacktoberfest 2021 (And what to do better next time!)&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  16. Open Source infographic &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://inspirezone.tech/what-is-open-source-infographic/"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Kq5cFZsx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dax677bvm7t7ap003x0t.png" alt="open source infographic" width="880" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Open source was a big part of my development involvement in 2021 and has always been a focus on our &lt;a href="https://community.inspirezone.tech/"&gt;inspirezone community&lt;/a&gt;. So much so that I created an infographic to explain the importance of open source on the developer community: &lt;a href="https://inspirezone.tech/what-is-open-source-infographic/"&gt;What is open source and why does it matter? | An infographic&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looking at the infographic helps keep me motivated to continue with open source endeavours. Check it out and perhaps it will inspire you!&lt;/p&gt;

&lt;h2&gt;
  
  
  17. Repository maintenance &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;2021 saw a continuation of being an open source maintainer for the &lt;a href="https://github.com/inspirezonetech"&gt;inspirezone GitHub repositories&lt;/a&gt;. It was great to see contributions to the repositories, particularly during Hacktoberfest. &lt;/p&gt;

&lt;p&gt;Being a maintainer has its challenges but equivalently great rewards which is why I will continue to act as an open source maintainer in the next year and beyond.&lt;/p&gt;

&lt;p&gt;I also wrote a post to encourage more people to consider taking on the role of a maintainer: &lt;a href="https://inspirezone.tech/reasons-to-become-an-open-source-maintainer/"&gt;5 Compelling reasons to become an open source maintainer and accelerate your growth as a programmer 🚀&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  18. GitHub Hackathon &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Another hackathon participation was the &lt;a href="https://dev.to/devteam/join-us-for-the-2021-github-actions-hackathon-on-dev-4hn4"&gt;GitHub Action hackathon hosted by DEV&lt;/a&gt;. The goal is to submit a &lt;a href="https://github.com/features/actions"&gt;GitHub Action&lt;/a&gt; for the challenge designed to help maintainers, contributors or just as a fun way to interact with Actions.&lt;/p&gt;

&lt;p&gt;My entry for the hackathon was a GitHub Action called “Checked Changed File Helper” which is designed to help maintainers perform automated checks on files submitted to a repository. &lt;/p&gt;

&lt;p&gt;Participating in this hackathon has been a great way to get me thinking of how to improve the efficiency in how I maintain repositories and I hope to improve on this GitHub Action in the future. &lt;/p&gt;

&lt;p&gt;Read full details about the “Checked Changed File Helper” GitHub Action in my DEV submission: &lt;a href="https://dev.to/funbeedev/check-changed-files-helper-github-actions-4dao"&gt;Perform powerful automated checks on repository files | Using GitHub Actions ✔️&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  19. Developer communities &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;It’s been over a year since I began my involvement with developer communities by registering here with DEV. DEV is an incredible space for developers of all kinds to exchange knowledge and experiences. Join the DEV community if you're reading this and you haven't already!&lt;/p&gt;

&lt;p&gt;Throughout 2021, I also discovered some other developer communities which I’ve become a part of such as &lt;a href="https://www.codenewbie.org/"&gt;Codenewbie&lt;/a&gt;, &lt;a href="https://hackernoon.com/"&gt;Hackernoon&lt;/a&gt; and &lt;a href="https://aviyel.com/"&gt;Aviyel&lt;/a&gt;. I also kick-started the &lt;a href="https://community.inspirezone.tech/"&gt;inspirezone community&lt;/a&gt; and Discord server as the starting point of the goal to grow a space where motivated developers can help keep each other accountable.&lt;/p&gt;

&lt;p&gt;Participating in communities is a great way to interact with like-minded individuals and provides opportunities to become visible and network with others in your areas of interest. &lt;/p&gt;

&lt;p&gt;Check out this post highlighting the positive influence developer communities can have on you: &lt;a href="https://inspirezone.tech/reasons-to-join-a-developer-community/"&gt;5 Persuasive reasons to join a developer community&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  20. Blogging &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CK2Evjsd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3yjt9ns7slz3zdiiwk4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CK2Evjsd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3yjt9ns7slz3zdiiwk4.png" alt="wordpress" width="400" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My site &lt;a href="https://inspirezone.tech"&gt;inspirezone&lt;/a&gt; launched mid-2020 as a result of my attempt to start a blog to help developers be inspired, motivated and efficient in their goals to develop their skills. Although at launch, I might not have used those exact descriptions of the purpose of this site! Inspirezone will continue to change according to needs of the community.&lt;/p&gt;

&lt;h2&gt;
  
  
  21. Learn from your past &lt;a&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Reflecting over the past year is one thing, another is to actually take the learnings from those reflections to have a more efficient in the upcoming year. This final reflection is more of a solidification of previous reflections to remind ourselves to actually learn from our previous experiences.&lt;/p&gt;

&lt;p&gt;Around time last year, I wrote a post on &lt;a href="https://inspirezone.tech/7-coding-resolutions-to-grow-your-skills/"&gt;7 Exciting coding resolutions to grow your development skills&lt;/a&gt;. While I ticked off several on that list, I’d like to complete it this year, especially the 1st point of ‘Complete a project from start to finish’ to get several projects over the completion line!&lt;/p&gt;




&lt;p&gt;Hope you enjoyed reading and perhaps this could help you set out your goals for the year ahead!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Inspirezone is a developer community focused on encouraging active coding practice and reaching your goals through accountability with other devs in a close-knit community. If this sounds interesting to you consider &lt;a href="https://community.inspirezone.tech/"&gt;joining us!&lt;/a&gt; 💻 ✨&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>yearinreview</category>
      <category>productivity</category>
      <category>career</category>
      <category>2021</category>
    </item>
    <item>
      <title>Check Changed Files Helper ✔️ | GitHub Actions</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Thu, 09 Dec 2021 03:11:06 +0000</pubDate>
      <link>https://dev.to/funbeedev/check-changed-files-helper-github-actions-4dao</link>
      <guid>https://dev.to/funbeedev/check-changed-files-helper-github-actions-4dao</guid>
      <description>&lt;p&gt;&lt;strong&gt;Need a way to automate checks on files pushed to your repository?&lt;/strong&gt; This handy action provides a starting template for open source maintainers to get creative and perform customised checks on individual or multiple files changed on the repository. &lt;/p&gt;




&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;p&gt;Refer to repository README for full details.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/funbeedev" rel="noopener noreferrer"&gt;
        funbeedev
      &lt;/a&gt; / &lt;a href="https://github.com/funbeedev/CheckChangedFilesHelper" rel="noopener noreferrer"&gt;
        CheckChangedFilesHelper
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      GitHub Action to detect all changed files pushed to repo and perform a check. Copy and configure to your needs.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Check Changed Files Helper ✔️&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/c85375d5216b194f04cafe882a55c47d43a365032e72d6581939942d1e098d5c/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d4e4e5a6a6d3275632d2d2f635f696d616767615f7363616c652c665f6175746f2c666c5f70726f67726573736976652c685f3432302c715f6175746f2c775f313030302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f713534383379357361647967336e7166336775382e706e67"&gt;&lt;img src="https://camo.githubusercontent.com/c85375d5216b194f04cafe882a55c47d43a365032e72d6581939942d1e098d5c/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f70726163746963616c6465762f696d6167652f66657463682f732d2d4e4e5a6a6d3275632d2d2f635f696d616767615f7363616c652c665f6175746f2c666c5f70726f67726573736976652c685f3432302c715f6175746f2c775f313030302f68747470733a2f2f6465762d746f2d75706c6f6164732e73332e616d617a6f6e6177732e636f6d2f75706c6f6164732f61727469636c65732f713534383379357361647967336e7166336775382e706e67" alt="Check Changed Files Helper"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📜 About 📜&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Submitted for the GitHub Actions Hackathon on DEV. &lt;a href="https://dev.to/funbeedev/check-changed-files-helper-github-actions-4dao" rel="nofollow"&gt;View the DEV post submission&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;GitHub Actions&lt;/a&gt; are a feature provided by GitHub as a way to automate workflows useful for managing repositories.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Check Changed Files Helper&lt;/code&gt; is a GitHub Action workflow that performs a check on changes made to source files pushed to a repository. Customise this workflow to suit your own repository needs.&lt;/p&gt;
&lt;p&gt;This repo shows an example of how GitHub Action workflows can be used to automate checks on files changed in the repo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This project relies on the &lt;a href="https://github.com/marketplace/actions/get-changed-files" rel="noopener noreferrer"&gt;&lt;code&gt;Get Changed Files&lt;/code&gt;&lt;/a&gt; Action available on the GitHub marketplace&lt;/strong&gt;.&lt;br&gt;
This Action provides all added, renamed and modified files as a JSON file within the runner filesystem. When a file or multiple files are changed on the repo, it will identify and list each in the JSON file.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Check Changed Files&lt;/code&gt;…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/funbeedev/CheckChangedFilesHelper" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;This project relies on the &lt;a href="https://github.com/marketplace/actions/get-changed-files" rel="noopener noreferrer"&gt;&lt;code&gt;Get Changed Files&lt;/code&gt;&lt;/a&gt; Action available on the GitHub marketplace&lt;/strong&gt;.&lt;br&gt;
This Action provides all added, renamed and modified files as a JSON file within the runner filesystem. When a file or multiple files are changed on the repo, it will identify and list each in the JSON file.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Check Changed Files Helper&lt;/code&gt; provides a means to add powerful checks for files changed on a repo by providing a bash script called by the Workflow. This script scans each changed file and performs a desired check according to the file extension type. In the examples provided in the repo, the checks are to ensure the following file types are executable: &lt;code&gt;.c .py .js .sh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The power of bash provides numerous possibilities on how to perform checks. A handy way to automate checks of files submitted to your repository!&lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Wacky Wildcards&lt;/p&gt;
&lt;h3&gt;
  
  
  Yaml File - Code to run Workflow
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What you need to use this Workflow&lt;/strong&gt;&lt;br&gt;
The files needed to run this workflow are placed under the repo path &lt;a href="https://github.com/funbeedev/CheckChangedFilesHelper/tree/main/.github/workflows" rel="noopener noreferrer"&gt;&lt;code&gt;.github/workflows&lt;/code&gt;&lt;/a&gt;. Fork this repo or copy these files to start customising for your own use.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;auto-check-changed-files.yml&lt;/code&gt;: YAML file containing the GitHub Actions workflow. This will setup any necessary dependencies and use the &lt;a href="https://github.com/marketplace/actions/get-changed-files" rel="noopener noreferrer"&gt;&lt;code&gt;Get Changed Files&lt;/code&gt;&lt;/a&gt; Action to generate a JSON containing all files changed on the repository with every push to the &lt;code&gt;main&lt;/code&gt; branch. Following this, the &lt;code&gt;auto-check-changed-files.sh&lt;/code&gt; bash script is executed.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;auto-check-changed-files.sh&lt;/code&gt;: Bash script containing custom check instructions. It scans through each changed file pushed to the repository and performs a basic execution check on each file. Edit this script to extend the recognised file types and checks to be performed.&lt;/p&gt;
&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Sample workflow checks&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All checks successful:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Run echo "job: running script to check changed files:"
job: running script to check changed files:
run-sh: Inside auto-check-changed-files.sh
Content of files.json: [
    "hello-world.c",
    "hello-world.js",
    "hello-world.py",
    "hello-world.sh"
]
number of files to check = 4
checking file: hello-world.c
This is a .c file, executing
Hi from hello-world.c!
checking file: hello-world.js
This is a .js file, executing
Hi from hello-world.js!
checking file: hello-world.py
This is a .py file, executing
Hi from hello-world.py!
checking file: hello-world.sh
This is a .sh file, executing
Hi from hello-world.sh!
job: Done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Some failed checks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Run echo "job: running script to check changed files:"
job: running script to check changed files:
run-sh: Inside auto-check-changed-files.sh
Content of files.json: [
    "hello-world.c",
    "hello-world.js"
]
number of files to check = 2
checking file: hello-world.c
This is a .c file, executing
hello-world.c: In function ‘main’:
hello-world.c:14:39: error: expected ‘;’ before ‘}’ token
   14 |     printf("Hi from hello-world.c!\n")
      |                                       ^
      |                                       ;
   15 | }
      | ~                                      
checking file: hello-world.js
This is a .js file, executing
/home/runner/work/CheckChangedFilesHelper/CheckChangedFilesHelper/hello-world.js:8
console.logg("Hi from hello-world.js!");
        ^

TypeError: console.logg is not a function
    at Object.&amp;lt;anonymous&amp;gt; (/home/runner/work/CheckChangedFilesHelper/CheckChangedFilesHelper/hello-world.js:8:9)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47
Error: Process completed with exit code 1.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;Questions, suggestions and comments are welcome!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>actionshackathon21</category>
      <category>opensource</category>
      <category>github</category>
      <category>devops</category>
    </item>
    <item>
      <title>8 Practical tips to stay alert and focused while coding</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Wed, 29 Sep 2021 07:14:04 +0000</pubDate>
      <link>https://dev.to/inspirezone/8-practical-tips-to-stay-alert-and-focused-while-coding-pmj</link>
      <guid>https://dev.to/inspirezone/8-practical-tips-to-stay-alert-and-focused-while-coding-pmj</guid>
      <description>&lt;p&gt;Coding is the core of what most developers do and as an activity requires sufficient levels of concentration to be performed effectively.&lt;/p&gt;

&lt;p&gt;As we live in a world full of distractions, it can be at times difficult to stay alert and focused while coding. Combat this by being aware of the different forms of distractions and taking actions to resist them.&lt;/p&gt;

&lt;p&gt;Your well-being, routines, motivations and how effectively you plan, all play a role in your ability to remain focused while coding. Several time management tools and productivity techniques also exist that can aid and boost concentration.&lt;/p&gt;

&lt;p&gt;Here are 8 simple factors that can be applied to greatly improve your effectiveness at staying alert and focused while coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Know your optimum time to code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1CVIlS49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6rf7va7xmcy7553kpq7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1CVIlS49--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n6rf7va7xmcy7553kpq7.png" alt="code-at-optimum-time"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is first on the list for a reason.&lt;/p&gt;

&lt;p&gt;If you choose the wrong time to start coding, such as a time when you’re tired, sleepy, unmotivated and so on, the remaining tips in this article will be 10x less effective!&lt;/p&gt;

&lt;p&gt;Enter coding sessions ideally at a time of the day when you’re likely to feel the most refreshed and alert. If you don’t know what this time is, experiment until you’ve found an optimum time you can reserve as your coding time.&lt;/p&gt;

&lt;p&gt;Some of us are more alert first thing in the morning or some prefer coding later in the day. &lt;/p&gt;

&lt;p&gt;How much sleep you get and your daily schedule will also influence the time you have to code as we may try to squeeze coding in between other tasks. &lt;/p&gt;

&lt;p&gt;Your ability to stay alert and focused while coding will be massively impacted by how you feel when you start your sessions. It’s therefore crucial you figure out a routine and find an optimum time you can be productive and code effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Ditch the distractions
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TItnEanS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tm12egq1blozq580rr36.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TItnEanS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tm12egq1blozq580rr36.png" alt="ditch-distractions"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You’re at your computer and ready to start coding then.. your phone rings.&lt;/p&gt;

&lt;p&gt;What you planned to be a minute of checking the notification now turns into an hour of scrolling and getting lost in the world of the internet and social media.&lt;/p&gt;

&lt;p&gt;Most of us are guilty of this and we think we have enough discipline to get rid of distractions at will, but it’s just not always the case!&lt;/p&gt;

&lt;p&gt;Instead of relying on will power that we know is likely to fail us, start being intentional about keeping away from predictable distractions like our phones and other gadgets that are dangerous at taking away our ability to remain focused while coding.&lt;/p&gt;

&lt;p&gt;Some simple changes can be to put your phone on silent mode or in an entirely different room during your coding sessions. Also consider using apps that block internet activity or social media websites on your phone during certain times.&lt;/p&gt;

&lt;p&gt;When you become aware of the common distractions around you, the next step is to be disciplined enough to put in effort to find barriers you can place between these distractions and your determination to remain focused while coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Decide your to-do before the session begins
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fVcuataq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/toom6uv319xjccwf29uz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fVcuataq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/toom6uv319xjccwf29uz.png" alt="know-your-todo"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Plan ahead before any coding session and decide what your targets are for that session. &lt;/p&gt;

&lt;p&gt;This is advantageous because not only does it avoid wasting time at the beginning of your session, but decision making in itself can take effort and may leave you feeling exhausted afterwards. This in turn affects your ability to focus for the rest of the coding session. &lt;/p&gt;

&lt;p&gt;Lack of clarity about what you want to achieve during a session requiring focus can also lead to you jumping between tasks and trying to multitask. &lt;/p&gt;

&lt;p&gt;Avoid this by planning each coding session well before it begins and ideally do this the day before you’ll be working on the tasks. &lt;/p&gt;

&lt;p&gt;To help you decide on your goals for that coding session ask yourself questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What project will I be working on?&lt;/li&gt;
&lt;li&gt;What type of activity will I be doing – New feature? Refactoring? Bug fix? Documentation?&lt;/li&gt;
&lt;li&gt;What are the high priority and critical tasks I need to get done?&lt;/li&gt;
&lt;li&gt;What is one major task I want to accomplish by the end of the session?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Having a plan is critical even though things may not necessarily go according to that plan. A clear set of tasks and goals will help improve your ability to remain focused while coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Use a project management tool
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--y6DzzQJr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uoqy0za6cpku6092s7z6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y6DzzQJr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uoqy0za6cpku6092s7z6.png" alt="trello_workflow_board"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An effective project management tool will allow you to plan, view and organise your work in an intuitive and easily accessible manner. There are some tools out there particularly useful for developers and can help to keep you organised and focused while working on development projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.trello.com/engineering-teams-sample-trello-boards"&gt;Trello&lt;/a&gt; is an example of such a project management tool and is used by all sorts of engineering teams. Trello allows you to organise, visualise and plan all aspects of your work in a digitised sticky note style system.&lt;/p&gt;

&lt;p&gt;For developers, Trello can be used for brainstorming, gathering requirements, listing new features, bug tracking, setting deadlines, workflows and collaborating with others.&lt;/p&gt;

&lt;p&gt;I’m a personal fan of Trello and use it daily to organise my projects. As someone who was once a physical sticky note user, I now use Trello to plan projects and ensure tasks don’t get lost in a sea of sticky notes!  &lt;/p&gt;

&lt;p&gt;Other platforms like &lt;a href="https://www.notion.so/"&gt;Notion&lt;/a&gt; and &lt;a href="https://asana.com/"&gt;Asana&lt;/a&gt; are also well known project management tools for developers. Try out different platforms and stick to the one that works for you. Once you’re over the initial learning curve of getting used to the platform it will surely benefit you in the long term.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Work on achievable bite-sized tasks
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q3C9a_mA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6lnfhd1pm2h5gkq6i86x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q3C9a_mA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6lnfhd1pm2h5gkq6i86x.png" alt="checklist"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This involves analysing major tasks and breaking them down into bite-sized chunks to make it easier to tackle each task one at a time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;“How do you eat an elephant? One bite at a time!” – Unknown author&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It will be overwhelming to approach a single enormous task that occupies just one line on a to-do list. That same task will appear less overwhelming when it’s broken down into several subtasks. &lt;/p&gt;

&lt;p&gt;This overwhelming factor can scale when working on a major projects requiring several weeks, months or years of development time. Breaking down tasks into subtasks and marking each as complete will act as a better indicator of progress.&lt;/p&gt;

&lt;p&gt;This also has some psychological benefits. &lt;/p&gt;

&lt;p&gt;A famous study by &lt;a href="https://dl.acm.org/doi/10.1145/317456.317459"&gt;Brad A. Myers in the paper "&lt;em&gt;the importance of percent-done progress indicators for computer-human interfaces&lt;/em&gt;"&lt;/a&gt;, emphasises how a display of progress can improve our effectiveness in completing tasks.&lt;/p&gt;

&lt;p&gt;Using this same principle; breaking down your task into smaller chunks will allow you to notice progress you make and create a positive impact by boosting motivation.&lt;/p&gt;

&lt;p&gt;This all plays into greatly assisting your focus while coding as motivation will improve when working on tasks that appear more approachable.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Play music to help with concentration
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1yL3rP6c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uk2ezaz10iwdlb73jrtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1yL3rP6c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uk2ezaz10iwdlb73jrtc.png" alt="music-for-concentration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Music is not only entertaining and soothing, but in addition, playing certain kinds of music can also help us to stay motivated and focused while coding.&lt;/p&gt;

&lt;p&gt;For those that enjoy listening to music, while we all have different tastes, ideally play music that doesn’t have lyrics which can be more distracting than instrumental and background music.&lt;/p&gt;

&lt;p&gt;According to &lt;a href="https://www.entrepreneur.com/article/325492"&gt;entrepreneur.com there are 6 types of music&lt;/a&gt; that are shown to dramatically improve productivity. All except one type on this list are without lyrics which again suggests this is the ideal type of music to play when trying to focus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Six types of music for improved productivity: Classical, Nature, Cinematic, Video game, Beats, Your favourite music – &lt;a href="https://www.entrepreneur.com/article/325492"&gt;entrepreneur.com&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Also play music suitable for the level of concentration you need. The playlist doesn’t matter as much if you’re doing a lighter task that you know doesn’t require high levels of concentration and you can carry out with ease. &lt;/p&gt;

&lt;p&gt;However, if you’re doing a high intensity task that requires a lot of focus like debugging, then background music or sound effects will likely be more suitable.&lt;/p&gt;

&lt;p&gt;Not only will the right music help you stay focused while coding, it also provides a means to have a little enjoyment!&lt;/p&gt;

&lt;p&gt;It’s also important to note this point may not apply to everyone as some may find it a lot easier to focus under complete silence. Do what works for you!&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Take enough breaks
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--n1DciOwj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5k1qtpmijdcwo94blhf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--n1DciOwj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5k1qtpmijdcwo94blhf.png" alt="take-breaks-pomodoro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Taking sufficient breaks during tasks is important to allow recovery and improve our ability to concentrate for long periods of time. &lt;/p&gt;

&lt;p&gt;Don’t assume you don’t need breaks and plan them into your session. Try different techniques and develop a routine that involves taking enough breaks to keep you going for the duration of time you’re coding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Pomodoro_Technique"&gt;The Pomodoro technique&lt;/a&gt; is an example of a famous time management technique that emphasises the importance of taking breaks.&lt;/p&gt;

&lt;p&gt;It works like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;25 mins of concentrated work&lt;/li&gt;
&lt;li&gt;5 mins break &lt;/li&gt;
&lt;li&gt;Repeat this 2-3 times&lt;/li&gt;
&lt;li&gt;Take a much longer break e.g. 30 mins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Following this technique is effective for most people as we are more likely to stay focused during the shorter work sessions knowing we get a ‘reward’ with short breaks in between.&lt;/p&gt;

&lt;p&gt;The Pomodoro technique is also flexible and you can choose how long you want to spend working, how long for your breaks and how many cycles you want to perform. &lt;/p&gt;

&lt;p&gt;Try experimenting with different productivity and time management techniques such as Pomodoro to find out which works for you to help stay focused while coding.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Remember your motivations
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3SVbTjRI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/io2r4fa0um8ftl9fsldn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3SVbTjRI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/io2r4fa0um8ftl9fsldn.png" alt="remember-motivations"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the purpose of you right now sitting down (or standing) at your desk and writing code? What is motivating you? The idea is to have a good enough WHY to keep you going.&lt;/p&gt;

&lt;p&gt;Think about your ultimate goal…&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are you a newbie learning to code with the aim of landing a job as a developer?&lt;/li&gt;
&lt;li&gt;Are you growing your skills so you can expand into new areas of software development?&lt;/li&gt;
&lt;li&gt;Are you working on a project for a business idea or startup?&lt;/li&gt;
&lt;li&gt;Is this an important task to complete to get your team through the next milestone?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whatever your reason is, remember it and use it as a motivation.&lt;/p&gt;

&lt;p&gt;Having an ultimate end goal could be the difference between seeing your project come to completion or not.&lt;/p&gt;

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

&lt;p&gt;Coding is an activity requiring concentration and several techniques can be applied to keep focused  while coding.&lt;/p&gt;

&lt;p&gt;Factors like your well-being, ability to plan and discipline to stay away from distractions play a major role in our ability to concentrate. Approaching each coding session with the right attitude and with a plan will also go a long way in helping to keep your alertness.&lt;/p&gt;

&lt;p&gt;Project management tools, time management techniques and even music can also assist in improving your productivity and keep you focused while coding.&lt;/p&gt;

&lt;p&gt;Do you struggle to stay focused or motivated while coding or performing development activities? Let's hear your thoughts.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;a href="https://community.inspirezone.tech/"&gt;Inspirezone.tech&lt;/a&gt; is a developer community focused on encouraging active coding practice and reaching your goals through accountability with other devs in a close-knit community. If this sounds interesting to you consider &lt;a href="https://community.inspirezone.tech/"&gt;joining us!&lt;/a&gt; 💻 ✨&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>motivation</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Do you follow any coding conventions/standards?</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Fri, 04 Jun 2021 06:37:27 +0000</pubDate>
      <link>https://dev.to/inspirezone/do-you-follow-any-coding-conventions-standards-mp5</link>
      <guid>https://dev.to/inspirezone/do-you-follow-any-coding-conventions-standards-mp5</guid>
      <description>&lt;p&gt;Coding conventions provide guidelines on how code should be written for a particular programming language to allow best practices and consistency in programming style.  &lt;/p&gt;

&lt;p&gt;I’m forming a list of coding conventions by programming language and wanted to find out if devs here use coding conventions at all and if you do, which ones? Also, Are there any industry specific standards you follow?&lt;/p&gt;

&lt;p&gt;I work with embedded C and my industry doesn’t have any coding standards that must be strictly followed as such. However, if I wanted some guidelines I tend to use a standard called &lt;a href="https://www.perforce.com/resources/qac/misra-c-cpp"&gt;MISRA C&lt;/a&gt; (Motor Industry Software Reliability Association) as a reference because it’s widely recognised in the embedded space. &lt;br&gt;
Although, admittedly most of the time I’m simply using my own idea of best practices from past experience!&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>performance</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Have you taken part in a coding challenge or hackathon before? How did it help you grow?</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Fri, 14 May 2021 23:09:19 +0000</pubDate>
      <link>https://dev.to/inspirezone/have-you-taken-part-in-a-coding-challenge-or-hackathon-before-how-did-it-help-you-grow-1kdn</link>
      <guid>https://dev.to/inspirezone/have-you-taken-part-in-a-coding-challenge-or-hackathon-before-how-did-it-help-you-grow-1kdn</guid>
      <description>&lt;p&gt;Let us know what challenges or hackathons you’ve participated in before. What did you like about them and what did you learn?&lt;/p&gt;

&lt;p&gt;I’m building a developer community called &lt;a href="https://community.inspirezone.tech/" rel="noopener noreferrer"&gt;inspirezone&lt;/a&gt; all about encouraging devs to keep a regular coding habit through various coding challenges and events. We are also focused on using accountability to push each other to reach our goals.&lt;/p&gt;

&lt;p&gt;Read the post below for more details on our community and challenges!&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/inspirezone" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4053%2F22cf99e7-188e-4b89-970e-fd0124835026.png" alt="Inspirezone Developer Community"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F451342%2F369f4c02-4f58-47fe-b818-540afef54704.jpg" alt=""&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/inspirezone/a-developer-community-encouraging-active-coding-practice-4koh" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Developer Community Encouraging Active Coding Practice 🏁&lt;/h2&gt;
      &lt;h3&gt;Fum for Inspirezone Developer Community ・ Apr 24 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>watercooler</category>
      <category>discuss</category>
      <category>programming</category>
      <category>motivation</category>
    </item>
    <item>
      <title>If you had a time machine what is ONE thing you would tell yourself when you started coding?</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Thu, 13 May 2021 18:55:55 +0000</pubDate>
      <link>https://dev.to/inspirezone/if-you-had-a-time-machine-what-is-one-thing-you-would-tell-yourself-when-you-started-coding-2jn2</link>
      <guid>https://dev.to/inspirezone/if-you-had-a-time-machine-what-is-one-thing-you-would-tell-yourself-when-you-started-coding-2jn2</guid>
      <description>&lt;p&gt;I would probably tell myself to look up what imposter syndrome is so I can be relieved from all my doubts... Only discovered it was a real thing years into my career.&lt;/p&gt;

&lt;p&gt;What about you? I’m very curious to know!&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>career</category>
      <category>beginners</category>
      <category>reflect</category>
    </item>
    <item>
      <title>What is the next stage of your dev journey?</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Wed, 12 May 2021 06:38:16 +0000</pubDate>
      <link>https://dev.to/inspirezone/what-is-the-next-stage-of-your-dev-journey-3n2f</link>
      <guid>https://dev.to/inspirezone/what-is-the-next-stage-of-your-dev-journey-3n2f</guid>
      <description>&lt;p&gt;How would you describe your current situation in terms of your set of skills and career, is it where you want it to be?&lt;/p&gt;

&lt;p&gt;Maybe you’re just getting started learning to code, if so where do you hope to be in say a year's time?&lt;/p&gt;

&lt;p&gt;If you work as a developer, do you have any particular career aspirations?&lt;/p&gt;

</description>
      <category>watercooler</category>
      <category>discuss</category>
      <category>career</category>
      <category>motivation</category>
    </item>
    <item>
      <title>What’s your go-to method of learning a new development skill?</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Tue, 11 May 2021 18:10:35 +0000</pubDate>
      <link>https://dev.to/inspirezone/what-s-your-go-to-method-of-learning-a-new-development-skill-1eca</link>
      <guid>https://dev.to/inspirezone/what-s-your-go-to-method-of-learning-a-new-development-skill-1eca</guid>
      <description>&lt;p&gt;The journey of learning never ends for a developer! &lt;/p&gt;

&lt;p&gt;When you need to pick up a new programming language, library, framework or any dev related skill, how do you approach it?&lt;/p&gt;

&lt;p&gt;I personally prefer to just pick a project related to what I'm learning and build up knowledge that way. I find I can’t spend too long on tutorials and I don’t truly start to understand unless I’m working on a project (even if it’s a made up project just to use what I’m learning).&lt;/p&gt;

&lt;p&gt;So what's your preferred learning method?&lt;/p&gt;

&lt;p&gt;A post I wrote a while back explains some various ways developers can use for practice.&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/funbeedev" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cvYu82lO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--vw9VQ0nI--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/451342/369f4c02-4f58-47fe-b818-540afef54704.jpg" alt="funbeedev"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/funbeedev/5-ways-to-help-you-practice-coding-lab" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;5 ways to help you practice coding&lt;/h2&gt;
      &lt;h3&gt;Fum ・ Nov 10 '20 ・ 5 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#codenewbie&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>discuss</category>
      <category>watercooler</category>
      <category>programming</category>
      <category>learning</category>
    </item>
    <item>
      <title>5 Persuasive reasons to join developer communities</title>
      <dc:creator>Fum</dc:creator>
      <pubDate>Wed, 05 May 2021 06:59:32 +0000</pubDate>
      <link>https://dev.to/inspirezone/5-persuasive-reasons-to-join-developer-communities-4jah</link>
      <guid>https://dev.to/inspirezone/5-persuasive-reasons-to-join-developer-communities-4jah</guid>
      <description>&lt;p&gt;If you’re a developer looking to grow your skills, being an active member of a community is one of the best ways to go about it. Join a developer community, connect with others and share your knowledge and experiences with developers on a similar journey path as you!&lt;/p&gt;

&lt;p&gt;Developer communities provide several advantages that will help you become a better programmer. In this article we’ll cover 5 reasons why being part of a community matters.&lt;/p&gt;

&lt;p&gt;If you're reading this post as a guest, hopefully you'll be convinced as to why you should consider joining the DEV.to community! If you're already a member of DEV.to, this will highlight the benefits of actively participating and also why you should consider joining other communities 😁  &lt;/p&gt;

&lt;h1&gt;
  
  
  1. For support and motivation
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sJlBpgn4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lp8699o0ewgs9p0eyif0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sJlBpgn4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lp8699o0ewgs9p0eyif0.png" alt="support-and-motivation" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most developer communities act as a place for you to connect with others you can relate to. Through the environment provided by such communities you can connect with developers going through similar challenges as you.&lt;/p&gt;

&lt;p&gt;As a result, you’re more likely to stay motivated and stay on track with your current development goals.&lt;/p&gt;

&lt;p&gt;The journey of a developer can be tough, especially if you’re on the journey solo. Whether as a newbie, switching to a different field or by growing your existing skills, having a support network goes a long way in making you feel that you’re not on the journey alone.&lt;/p&gt;

&lt;p&gt;For the newbies out there, a message that you should not shy away from developer communities!&lt;/p&gt;

&lt;p&gt;The journey of learning to code is likely to be overwhelming at some stage. This is a key reason why you should find a supportive network from the beginning so you don’t feel isolated in your struggles.&lt;/p&gt;

&lt;p&gt;Join a developer community that provides support for newbies and share your struggles. It’s likely we’ve all gone through similar challenges and hearing from others can act as encouragement.&lt;/p&gt;

&lt;p&gt;Share new things you’ve learned, programming memes or whatever! It’s all about finding people you can share things with that you know are going through similar experiences as you.&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Knowledge sharing
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g53hX1Jj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/97h31c37nzbishhoaqsh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g53hX1Jj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/97h31c37nzbishhoaqsh.png" alt="share-knowledge" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Developer communities encourage sharing of what you know with others. Through this knowledge exchange, we can all learn from each other and grow our skills. &lt;/p&gt;

&lt;p&gt;Communities are a great way to share developer tips, tools, resources, coding snippets, tutorials or to have in-depth discussions on programming languages and all things dev related.&lt;/p&gt;

&lt;p&gt;Being part of a developer community is like having an extended network of colleagues where you can help each other out. Use these communities to learn from people who are more experienced than you in your field.&lt;/p&gt;

&lt;p&gt;This is another reason why I believe it’s essential for newbies to join a developer community.&lt;/p&gt;

&lt;p&gt;You’ll gain a lot by simply participating and learning from others in the field of software development you’re interested in.&lt;/p&gt;

&lt;p&gt;You can also open discussions with others to gain more insight into where their experiences have led them and learn from these experiences.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Networking opportunities
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eNpfES8H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jvvn38otg1ur254bfiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eNpfES8H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jvvn38otg1ur254bfiw.png" alt="networking" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Being part of a developer community also opens up opportunities to form closer connections with developers in your field.&lt;/p&gt;

&lt;p&gt;Job opportunities may also arise and especially applies if you join a developer community that meets up locally in your area. In this case, as you meet with the same people at each meetup you'll eventually get to know them and their backgrounds. &lt;/p&gt;

&lt;p&gt;This also opens up chances to find mentors in your field or potentially meet developers with similar interests willing to collaborate with you on projects.&lt;/p&gt;

&lt;p&gt;As companies also tend to be involved in supporting developer communities, there's also the opportunity to network with them. This can in turn increase your chances of being considered for positions as companies can see you are active in a developer community.&lt;/p&gt;

&lt;p&gt;The networking possibilities that can arise simply by being active in communities and conversing with others on a similar journey path is another powerful reason why you should join a developer community.&lt;/p&gt;

&lt;h1&gt;
  
  
  4. Expand your areas of expertise
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q_PYjTfG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvmhyac5ss70momqmu23.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q_PYjTfG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvmhyac5ss70momqmu23.png" alt="expand-interests" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you join a developer community you come across people with different backgrounds and expertise. As a result, you’re constantly being exposed to topics and discussions that may not be directly related to your field of interest.&lt;/p&gt;

&lt;p&gt;Just by being active in such communities you can pick up technical terms and knowledge relating to software development outside your direct area of expertise.&lt;/p&gt;

&lt;p&gt;This is advantageous in allowing you to become more aware of what’s going on in other areas and potentially increase your interest in those areas as you learn more about them.&lt;/p&gt;

&lt;p&gt;I personally found this the case when I joined the DEV.to, as I’ve come across all kinds of posts relating to fields I had no previous experience with.&lt;/p&gt;

&lt;p&gt;By reading posts on areas of software development I’m not familiar with I’ve become more aware of technologies, frameworks and even programming languages that I’m now exploring to help with some side projects.&lt;/p&gt;

&lt;p&gt;The more involved you get with a diverse range of developer communities, the more you’ll realise just how vast software development is and how much there is to learn!&lt;/p&gt;

&lt;p&gt;By choosing the right communities to be active on, you can expand your interest and knowledge in ways that can help you in the future, sometimes unexpectedly.&lt;/p&gt;

&lt;h1&gt;
  
  
  5. It will challenge you
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AOur0B8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lb9z1w1236boy9pvnr3u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AOur0B8W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lb9z1w1236boy9pvnr3u.png" alt="challenge-yourself" width="500" height="300"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This point depends on the type of community you join. The opportunity for challenges relates to certain developer communities that are focused on having you take part in a challenge or project.&lt;/p&gt;

&lt;p&gt;For example, &lt;a href="https://www.freecodecamp.org/"&gt;freeCodeCamp&lt;/a&gt; is great for newbies as you can learn the fundamentals of several programming languages by completing coding challenges. &lt;/p&gt;

&lt;p&gt;You can also join communities that focus on running hackathons and challenges to be completed within a time frame.&lt;/p&gt;

&lt;p&gt;An example of deadline-based developer challenges are &lt;a href="https://en.wikipedia.org/wiki/Game_jam"&gt;Game jams&lt;/a&gt;. In Game jams, developers work on a video game for submission to a competition either solo or part of a team.&lt;/p&gt;

&lt;p&gt;Usually, the Game jam sets a theme and rules the game should follow. The games are then submitted and sometimes ranked by other competitors. The winners may receive badges, prizes or simply bragging rights!&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://itch.io/jams"&gt;itch.io&lt;/a&gt; which is a Game jam community hosting challenges all year round.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;Developer communities provide a supportive environment that encourages exchange of knowledge and experiences.&lt;/p&gt;

&lt;p&gt;Being part of a community is a great way to keep motivated in your goals and have discussions with others passionate about software development. &lt;/p&gt;

&lt;p&gt;Join a developer community and you may be surprised at just how much it will help you grow!&lt;/p&gt;

&lt;p&gt;Check out &lt;a href="https://www.freecodecamp.org/news/best-developer-communities-to-be-part-of-in-2020/"&gt;this list&lt;/a&gt; from freeCodeCamp to view other kinds of developer communities you can be a part of. &lt;/p&gt;

&lt;p&gt;I would like to know in the comments what developer communities you're a member of? (Apart from DEV!)&lt;/p&gt;




&lt;p&gt;I'm creating a developer community that is focused on encouraging active coding practice and reaching your goals through accountability with other devs in a close-knit community. If this sounds interesting to you read more about the inspirezone community 😃&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/inspirezone" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__org__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jHcS74xg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--f5zYXnh1--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/organization/profile_image/4053/22cf99e7-188e-4b89-970e-fd0124835026.png" alt="Inspirezone Developer Community" width="150" height="150"&gt;
      &lt;div class="ltag__link__user__pic"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cvYu82lO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--vw9VQ0nI--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/451342/369f4c02-4f58-47fe-b818-540afef54704.jpg" alt="" width="150" height="150"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/inspirezone/a-developer-community-encouraging-active-coding-practice-4koh" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Developer Community Encouraging Active Coding Practice 🏁&lt;/h2&gt;
      &lt;h3&gt;Fum for Inspirezone Developer Community ・ Apr 24 '21 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#productivity&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#programming&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#github&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>motivation</category>
      <category>career</category>
      <category>productivity</category>
      <category>community</category>
    </item>
  </channel>
</rss>
