<?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>Forem: McParty</title>
    <description>The latest articles on Forem by McParty (@sarlacpit).</description>
    <link>https://forem.com/sarlacpit</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%2F147491%2F8192d376-d370-4871-98e1-43e48013b73e.jpeg</url>
      <title>Forem: McParty</title>
      <link>https://forem.com/sarlacpit</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sarlacpit"/>
    <language>en</language>
    <item>
      <title>Security in Software Development - Part 1</title>
      <dc:creator>McParty</dc:creator>
      <pubDate>Mon, 01 Mar 2021 16:53:08 +0000</pubDate>
      <link>https://forem.com/sarlacpit/security-in-software-development-part-1-1d05</link>
      <guid>https://forem.com/sarlacpit/security-in-software-development-part-1-1d05</guid>
      <description>&lt;p&gt;Security should be a consideration for anyone considering developing anything from a script to a fully fledged stack. Otherwise you will leave your product open to compromise.&lt;/p&gt;

&lt;p&gt;This can often be something as simple as establishing procedures and policies. A chef, for example, will produce dishes which are consistent by following recipes. If the dishes are consistent then the experiences of the customers will be the same. The top chefs will also have a process for dish development. Being a software engineer is not much different though it's easier to remain consistent with version control.&lt;/p&gt;

&lt;p&gt;Any potential employee a business looks at hiring should look out for the developer who puts best practice first.&lt;br&gt;
Knowing about different Software Development Lifecycle Models will enhance your maturity level when it comes to software development. Even for those breaking into programming/development - it might just give you an edge as by separating the enthusiasts from those who understands product development.&lt;/p&gt;

&lt;h1&gt;
  
  
  Software Development Lifecycle (SDLC)
&lt;/h1&gt;

&lt;p&gt;This was developed by the Software Engineering Institute which introduced the Capability Maturity Model which describes the processes an organisation undertakes as they develop engineering principles into software development processes. In a nutshell, having a management model in place should improve the  products however if the SDLC method is inadequate, the project could possibly fail to be fit for purpose. Fundamentally, the following models (whichever you adopt) needs to be approved by management, otherwise it'll easily fail.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Waterfall Model
&lt;/h2&gt;

&lt;p&gt;This model is like it says. The different stages can not be completed out of order and as such a diagram of tasks will flow downwards. The model also allows for a loop scenario so you can swim in stages like a salmon back up.&lt;/p&gt;

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

&lt;p&gt;This was one of the first methods to model software development whilst taking in to account the options to return to different stages.A drawback is that it allows the devs to only step back one phase in the process. It was further improved (the modified waterfall model) to add Verification (checks against the specs.) and Validation (how well it satisfies real world requirements).&lt;/p&gt;

&lt;p&gt;In part 2 - I'll write about The Spiral Model, I'll touch on Agile and go knee deep in to the Software Capability Maturity Model.&lt;/p&gt;

</description>
      <category>development</category>
      <category>security</category>
      <category>processes</category>
      <category>career</category>
    </item>
    <item>
      <title>Go - A moment of clarity.</title>
      <dc:creator>McParty</dc:creator>
      <pubDate>Fri, 26 Jun 2020 11:51:10 +0000</pubDate>
      <link>https://forem.com/sarlacpit/go-a-moment-of-clarity-1699</link>
      <guid>https://forem.com/sarlacpit/go-a-moment-of-clarity-1699</guid>
      <description>&lt;p&gt;Salutations all,&lt;/p&gt;

&lt;p&gt;I have been digging in to a book called Introducing Go by Caleb Doxsey (published by O`Reilly) which had an exercise to create  a small program which put 5 values in to a 5 value array. The trick was then to find the average by adding the five values then divide it by five.&lt;/p&gt;

&lt;p&gt;It was here I had a moment of clarity, whilst i was copying the text from the book, I thought to myself:  "What if there is more or less than five items in the array? I would need to change a few lines to reflect this in the program. Is there a way to make this simpler?"&lt;/p&gt;

&lt;p&gt;Now I am not a developer, I'm a Sysadmin who dabbles in occasional Python with the help of Google and StackOverflow with dreams of developing really useful software to automate my job so I can sit back and sip cocktails and let my automations manage themselves. So there are two things about me questioning the script that I'd like to highlight.&lt;/p&gt;

&lt;p&gt;1, My question was then echoed in the next paragraph of the book. It then talked me through making it simpler.&lt;/p&gt;

&lt;p&gt;2, I am actually learning about programming theory as well as how to wield some code in Go.&lt;/p&gt;

&lt;p&gt;My question to the Dev community is - have you ever had such moments of clarity about your develop maturity?&lt;br&gt;
Using Google &amp;amp; Stack Overflow is great for the dirty jobs but actually reading a book that explains things with some depth of theory are pretty priceless. &lt;/p&gt;

</description>
      <category>go</category>
      <category>theory</category>
    </item>
    <item>
      <title>Struggling to learn the fundamentals </title>
      <dc:creator>McParty</dc:creator>
      <pubDate>Fri, 20 Dec 2019 21:55:29 +0000</pubDate>
      <link>https://forem.com/sarlacpit/struggling-to-learn-the-fundamentals-3dmf</link>
      <guid>https://forem.com/sarlacpit/struggling-to-learn-the-fundamentals-3dmf</guid>
      <description>&lt;p&gt;So, having been a Sysadmin for 10 years, it dawned on me - I don't really know how to code and it frustrates me. I have dabbled in a little bit of Python and BASH. I have bodged together some scripts. However, when I sit down to learn a scripting language, like Python, I seem to fail because most tutorials concentrate the first few chapters from 'Hello World' to mathematics which I can never be bothered with. It all seems repetitive and I loose interest very quickly. I have never been an academic. I have always learnt what is necessary to do a job. Also, time is not on my hands - I have two small children and a full time job.&lt;/p&gt;

&lt;p&gt;If I am honest with myself I should probably not worry about it too much and just learn enough code to do the job in hand, though I don't really do this either... I find example code and alter it. I can do some guess work though 50% of my scripts - I have never been able to complete due to a lack of fundamental knowledge. &lt;/p&gt;

&lt;p&gt;This kind of gets recursive. I was wondering if anyone else has been in similar situations and how you overcame them.&lt;/p&gt;

</description>
      <category>support</category>
      <category>beginners</category>
      <category>firstpost</category>
    </item>
  </channel>
</rss>
