<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by David Essien on Medium]]></title>
        <description><![CDATA[Stories by David Essien on Medium]]></description>
        <link>https://medium.com/@davidessienshare?source=rss-6308b55aaf70------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*ISDo2QC0XEbDRsrEa8vzdg.jpeg</url>
            <title>Stories by David Essien on Medium</title>
            <link>https://medium.com/@davidessienshare?source=rss-6308b55aaf70------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 16 May 2026 10:18:58 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@davidessienshare/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[What you should know about autoscaling in Kubernetes]]></title>
            <link>https://medium.com/@davidessienshare/what-you-should-know-about-autoscaling-in-kubernetes-8a81c6541270?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/8a81c6541270</guid>
            <category><![CDATA[cluster-autoscaler]]></category>
            <category><![CDATA[kubernetes]]></category>
            <category><![CDATA[autoscaling]]></category>
            <category><![CDATA[horizontal-pod-autoscaler]]></category>
            <category><![CDATA[vertical-pod-autoscaler]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Tue, 16 Jul 2024 16:08:02 GMT</pubDate>
            <atom:updated>2024-08-19T22:00:58.286Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tkq-Wd0AYyhDS5EdT817nQ.png" /><figcaption>What you should know about autoscaling in Kubernetes by David Essien</figcaption></figure><h3>What is autoscaling?</h3><p>Autoscaling is one of the reasons I fell in love with Kubernetes. Kubernetes is built for scaling workloads with ease. But what is autoscaling?</p><p>Imagine that you have a party in your house and all your family and friends attend. If you are from Nigeria, that number can easily get to 500. So you need approximately 500 chairs, 500 sets of cutlery, glasses, 50 tables, and almost everything. So you go to the market and buy all these. On the “D” day as we call it, you find that only 200 people came, you have just wasted money on the stuff you bought for the extra 300. Or imagine you get 1000 people instead, then you don’t have enough to take care of that number.</p><figure><img alt="OWAMBE LIFESTYLE: Partying The Lagos Way. (source: lagoscultureblog.wordpress.com)" src="https://cdn-images-1.medium.com/max/1024/0*eSnrErUjDOD_EjdT.jpg" /><figcaption><em>Image source(lagoscultureblog.wordpress.com)</em></figcaption></figure><p>A few days to the “D” day, you find that there is an event vendor close by from whom you can rent all these things. He asks you to pay for only the things you use. So you can take 200, and if your visitors exceed 200, you can rent more to make up for it. If the number is less, then you can return the ones you do not need, and you won’t need to pay for them. So you have saved yourself the disappointment of not having enough resources to cater to your guests, and the cost of buying or renting more than you require. This example illustrates the basic concept of scaling.</p><p>Scaling is the ability of a system to increase or decrease in size. Autoscaling is the ability of a system to scale based on resource demand or pressure without manual interference.</p><p>Cloud computing makes scaling very easy, and cost-effective. Before cloud computing, if you wanted to scale your resources, you would either need to buy physical memory, processors, or machines. Then you had to worry about space and maintenance. With cloud computing, you can scale your resources in seconds. With Kubernetes, it’s like magic.</p><p>We will look at 3 types of autoscaling</p><ol><li>Vertical autoscaling (VPA)</li><li>Horizontal autoscaling (HPA)</li><li>Cluster autoscaling.</li></ol><h3><strong>Vertical autoscaling (VPA)</strong></h3><figure><img alt="vertical pod autoscaler" src="https://cdn-images-1.medium.com/max/1024/1*uEy0GizaOegRUoZbTBDy-w.png" /><figcaption>Vertical pod autoscaler</figcaption></figure><p>In vertical autoscaling, we either increase or decrease the amount of CPU or memory assigned to a <a href="https://kubernetes.io/docs/concepts/workloads/pods/">pod</a> automatically.</p><p>A vertical autoscaler monitors the resource usage of a pod and recommends or updates the limits and requests of the resources based on the configuration passed. For example, if a pod is requesting 200M CPU and 500Mi memory and is using up to 350M CPU and 400Mi memory, the VPA can increase the requests to 500m CPU and 700M memory based on the configuration you pass.</p><figure><img alt="Vertical pod autoscaler" src="https://cdn-images-1.medium.com/max/1024/1*vQ9rsABXZF-RWXf-ssC2Sg.png" /><figcaption>Vertical pod autoscaler</figcaption></figure><h3>Horizontal Pod Autoscaler (HPA)</h3><figure><img alt="Horizontal pod autoscaler" src="https://cdn-images-1.medium.com/max/1024/1*9W1fPSv1xYErgUKunK-9wA.png" /><figcaption>Horizontal pod autoscaler</figcaption></figure><p>A horizontal pod autoscaler automatically increases or decreases the number of pods of a deployment based on defined configurations.</p><p>The HPA monitors metrics such as CPU, Memory, and other custom metrics, and scales the number of pods based on a predefined threshold. For example, if the CPU usage of a pod exceeds 50%, the HPA may add more pods to distribute the load.</p><figure><img alt="Horizontal Pod autoscaler" src="https://cdn-images-1.medium.com/max/1024/1*hOxdNvBmABQOgbRyqNupsA.png" /><figcaption>Horizontal pod autoscaler</figcaption></figure><h3>Cluster Autoscaler</h3><figure><img alt="Cluster autoscaler" src="https://cdn-images-1.medium.com/max/1024/1*PWNcQNE19BDC1a6zyQNijw.png" /><figcaption>Cluster autoscaler</figcaption></figure><p>The cluster autoscaler automatically increases or reduces the number of <a href="https://kubernetes.io/docs/concepts/architecture/nodes/">nodes</a> running in a cluster based on the resource usage from the pods in the node.</p><p>One way the cluster autoscaler is triggered is the presence of unschedulable pods. Unschedulable pods are pods that do not meet the necessary conditions for them to be placed in any node in the cluster. But what could make a pod unschedulable?</p><p>There are several reasons why a pod could be unschedulable, but I will just mention a few:</p><ol><li><strong>resource constraint:</strong> a pod could be unschedulable if the available CPU or memory in the node is not enough based on the demands of the resources of a pod. For example, a node has 30Gi memory, and after other pods have been scheduled, it is left with 1Gi memory. A new pod with a 2Gi memory request will be unschedulable on that node.</li><li><strong>Afinity rules: </strong>These are rules that determine whether a pod can be scheduled on a particular node or not:<br>i. Node affinity rules are rules that specify that a pod must be scheduled on a node with certain labels<br>ii. Node anti-affinity rules that specify that a pod cannot be scheduled on a node with certain labels.<br>iii. Pod affinity rules specify that a pod should be scheduled on a node with another pod.<br>iv. Pod anti-affinity rules specify that a pod should not be scheduled on a node like another pod.</li></ol><p>Other things could make a pod unschedulable like taints and tolerations.</p><p>The cluster autoscaler checks if scheduling a new node will make the unschedulable pods schedulable again, and if it will, it creates a new node. Also, if the autoscaler notices nodes with free space that can contain other pods in another node and free the node, it moves the pods to the other nodes and then deletes the node it has freed.</p><h3><strong>What are the benefits of autoscaling?</strong></h3><ul><li><strong>Cost saving:</strong> you only pay for what you use. If a node is no longer in use, it is deleted, if the utilisation of resources is low, excess pods are deleted. This saves money.</li><li><strong>Minimized downtimes: </strong>Because your resources are automatically scaled, you won’t have a situation where your services crash due to pressure. Once a certain threshold is reached, the autoscaler will spin more resources to prevent failures.</li><li><strong>Proper resource management:</strong> When deploying services to your cluster, you do not have to worry about specifying the requests and limits. The autoscaler can help you determine those based on accurate observation of resource usage.</li></ul><h3>What should you watch out for when setting up autoscaling?</h3><ul><li>It is best practice to specify your resource limits and requests. Autoscalers work with metrics.</li><li>There may be an issue of a race condition between ArgoCD and your VPA. ArgoCD will constantly try to update your resource limits and request to match what you have in your code repository, while the VPA will try to update it based on resource usage. This problem can be solved by using a feature in ArgoCD that helps you ignore changes in certain parts of your resource template. You can see the example below.</li></ul><pre>ignoreDifferences:<br>    - group: &quot;&quot;<br>      kind: Deployment<br>      jsonPointers:<br>        - /spec/template/spec/containers/0/resources/requests<br>        - /spec/template/spec/containers/0/resources/limits</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ruEb9zKqi9GKsAvNIpytTw.png" /></figure><ul><li>If you are using GitOps and maybe ArgoCD to deploy your workloads, make sure to omit the <strong>replicas</strong> field in your deployments to avoid a conflict between your deployment template and the HPA. This is because ArgoCD will constantly update your deployment spec to match what you have on your code repository. This will reverse the HPA’s update. Omitting the replicas field allows the HPA to manage the number of replicas.</li><li>It is best practice not to use the HPA and VPA together, as this may cause some conflict. So if you must use them together, ensure you know what you are doing. To get a better understanding of what the problem might be: <br>Imagine you set your HPA to scale the number of pods when total memory utilisation hits 85% and your VPA to scale when memory utilisation hits 85%. What happens when the VPA attempts to increase the resources for the pod, and then the HPA tries to create more replicas?<br>Well, whichever autoscaler makes the change first influences the overall utilisation. This will cause the other autoscaler, let’s say the VPA realizes that the pods are not using the resources allocated to them and then decides to change the pods to adjust them. The cycle continues, with each autoscaler trying to fix the problem and the other reversing it and causing the problem to continue.</li></ul><h3>Conclusion</h3><p>Autoscaling in Kubernetes is a very powerful feature. It helps you manage your server resources efficiently. The different methods of autoscaling provide us with rich options for ensuring that our workloads are managed efficiently without manual intervention.</p><p>While autoscaling can be very useful for managing resources, it is important to implement it correctly. The autoscalers should be configured properly, with an understanding of potential issues, while following best practices.</p><p>Please leave your thoughts in the comment section. I want to hear from you.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8a81c6541270" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to run Jenkins in a docker container]]></title>
            <link>https://medium.com/@davidessienshare/how-to-run-jenkins-in-a-docker-container-e782647b3259?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/e782647b3259</guid>
            <category><![CDATA[containerization]]></category>
            <category><![CDATA[docker]]></category>
            <category><![CDATA[docker-compose]]></category>
            <category><![CDATA[ci-cd-pipeline]]></category>
            <category><![CDATA[jenkins]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Thu, 20 Feb 2020 13:30:00 GMT</pubDate>
            <atom:updated>2020-02-20T14:06:22.388Z</atom:updated>
            <content:encoded><![CDATA[<h3>How to Run Jenkins in a Docker Container</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/760/0*QEWRsdJPET45bQ9O" /></figure><h3>Introduction</h3><p>In this article, I am going to show you how to install and setup Jenkins inside a docker container.</p><h3>Prerequisites</h3><p>To be able to practice the things I will share with you in this article you need to have a minimum of the following:</p><ul><li>Good internet connection</li><li>A computer with Docker installed on it either Windows, Mac, or Linux</li><li>A web browser</li><li>A command-line application — Terminal, or Windows PowerShell</li></ul><h3>What is Jenkins?</h3><p><a href="https://jenkins.io/">Jenkins</a> is an Open Source tool built with Java and is used for Continuous Integration(CI) and Continuous Delivery(CD). Jenkins is used by many teams because:</p><ul><li>It is cross-platform built with Java</li><li>It has a large community of users</li><li>It has a large plugin base that provides several plugins for integrations and performing several tasks</li><li>It is free since it is Open Source</li><li>It is easy to use</li></ul><h3>Why run Jenkins in a docker container?</h3><p>Running Jenkins with docker makes the whole installation process seem like a piece of cake. Without Docker, you would have to install so many plugins and tools for Jenkins to be able to run properly. With docker, it is just a simple process of pulling the image from the docker registry and running it on your machine or cloud environment.</p><h3>How to run Jenkins in a docker container</h3><h4>Step 1: Pull the Jenkins image from docker repository</h4><p>visit the docker repository for Jenkins at <a href="https://hub.docker.com/r/jenkins/jenkins">https://hub.docker.com/r/jenkins/jenkins</a></p><h4>Step 2: Copy the docker pull command and run it on your terminal</h4><p>For this article, we will be using the alpine version. The alpine versions are usually smaller.<br> docker pull jenkins/jenkins:apine</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2SwG8QFNiAED43nC" /></figure><p>After the image has been pulled, docker images on the terminal to be sure it has been pulled.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*9mH1A5HA_tW8Xfyi" /></figure><h4>Step 3: Run a container using the image you just pulled</h4><pre>docker run --name jenkins -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home 1282bc63ab17</pre><p>Let me explain what the above command does</p><ul><li><strong>docker run:</strong> This is the docker command for starting a container</li><li><strong>— name jenkins:</strong> This command will give the container the name jenkins after it has been started.</li><li><strong>-p 8080:8080:</strong> The first 8080 is the port you will use to access the Jenkins service on your own machine(localhost:8080). The second 8080 after the first colon is the Jenkins default port. What we have done with this command is bound port 8080 on Jenkins to port 8080 on our local machine.</li><li><strong>-p 50000:50000:</strong> Same as the case of the Jenkins port above, we are binding the ports to each other. However, in this case, the port is meant for the Jenkins master to be able to communicate with the slaves. The Jenkins master coordinates and does the administrative tasks of your Jenkins infrastructure while the purpose of the slaves is to run the tasks. It is also important to note that the master can also run jobs like the Jenkins slaves. But you can have your Jenkins setup without the slaves.</li><li><strong>-v /your/home:/var/jenkins_home:</strong> The -v flag is a command for mapping or creating volumes in Jenkins. Data that is generated while a container is running is ephemeral in nature. The image that is used to generate your container is read-only, so any data that is generated while the container is running will exist only inside the container. Once the container is destroyed, all that data is lost. In our case, we do not want to lose all our configurations and settings after our Jenkins container is destroyed. We have to create a volume on our local machine and map it to the Jenkins directory in the container in other to save our data. This way, any files generated while the container is running can still be accessed after the container is destroyed and when we start another container.<br> The first part before the colon(/your/home) is the path on your computer where you want the Jenkins files to be saved.</li></ul><p><strong>Note:</strong></p><p>You may face an error that looks like the one below:</p><pre>docker: Error response from daemon: Mounts denied: <br>The paths /var/folders/zz/... and /var/folders/zz/...<br>are not shared from OS X and are not known to Docker.<br>You can configure shared paths from Docker -&gt; Preferences... -&gt; File Sharing. </pre><p>You can read about the cause and solution in this article from StackOverflow (<a href="https://stackoverflow.com/questions/45122459/docker-mounts-denied-the-paths-are-not-shared-from-os-x-and-are-not-known/45123074">https://stackoverflow.com/questions/45122459/docker-mounts-denied-the-paths-are-not-shared-from-os-x-and-are-not-known/45123074</a>)</p><p>For me, I provided an absolute path to a directory so that I don&#39;t have any issues. The second part(/var/jenkins_home) is the default directory for Jenkins on the container.</p><ul><li><strong>1282bc63ab17:</strong> This last part of our command, specifies the id of the image you want to run, which is the id Jenkins container we just pooled. You can run docker images to get the id of the image pulled on your computer.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*lSnzPumcjjTyCzaT" /></figure><p>After the container has been started successfully, the output message Jenkins is fully up and running will be displayed on your terminal.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*89G_-NiC0eIZjIOe" /></figure><h4>Step 4: setup Jenkins</h4><ul><li>Visit localhost/8080 on your browser. You should see a web page like the one below:</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1011/0*3-EDLCn-BJHO6y6v" /></figure><ul><li>The administrator password is a long string of numbers and letters. You will find it in the terminal where you ran your docker commands. Copy it and paste it in the Administrator password field on the web page.</li><li>On the new page you are redirected to, click on Install suggested plugins This will take some time, so you will have to wait for the plugins to install.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/994/0*2kVXvPxMkAnYUq-9" /></figure><ul><li>After the installation of the plugins, you will be redirected to a page where you will be required to enter the First Admin details. Till and form correctly, and then Save and Continue.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/634/0*qd4OqJ8-xm_LmJ8v" /></figure><ul><li>In the next page where you are required to enter your Jenkins URL, leave the URL as it is.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/972/0*2moWndSYqE-wd4qI" /></figure><ul><li>We are done — you can click on the button to start using Jenkins.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/548/0*FiWO-PPNB1iS60pI" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*etLPO4DYF36NC1ch" /></figure><h3>Use a docker-compose.yml file alternatively</h3><p>Instead of going through the above processes, you can just create a docker-compose.yml file to run this process for you with one command. Here is the one I created:</p><pre>version: &#39;3&#39;</pre><pre>services:<br>  jenkins:<br>    image: jenkins/jenkins:alpine<br>    container_name: jenkins<br>    ports:<br>      - 9090:8080<br>      - 50000:50000<br>    volumes:<br>      - ./docker_volumes/jenkins:/var/jenkins_home</pre><p>All you need to do is navigate to the folder containing this docker-compose.yml file and run the command: docker-compose up and you have your Jenkins setup up and running.</p><h3>Conclusion</h3><p>You have seen how easy it was to set up Jenkins in docker. The process is simple and fast.</p><p>If you have learned anything, I would love to hear from you. Please drop your comments.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e782647b3259" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Whose advice to listen to in 2020]]></title>
            <link>https://medium.com/@davidessienshare/whose-advice-to-listen-to-in-2020-2a5c10d032b?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/2a5c10d032b</guid>
            <category><![CDATA[2020]]></category>
            <category><![CDATA[life-lessons]]></category>
            <category><![CDATA[advice-for-life]]></category>
            <category><![CDATA[advice-and-opinion]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Thu, 02 Jan 2020 11:17:16 GMT</pubDate>
            <atom:updated>2020-01-02T11:32:30.759Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Every advice is good — but not every advice should be followed." src="https://cdn-images-1.medium.com/max/771/1*07A5KW2TFBVP24NsZ5n--g.jpeg" /></figure><h3>People are uncomfortable with people they cannot influence easily</h3><p>“David you always know what to answer.” That’s what most people say to me, and my response always is: “Because I don’t do anything without reason or first thinking about it, and if I do anything spontaneous, I think about why I did it to understand myself.”</p><p>There are others who say “David you argue a lot” of course, this is after they have tried to convince me to share their beliefs and I provide them with a notebook of reasons why I can’t. Long story short:</p><blockquote><strong>the majority of people would rather die than think.</strong></blockquote><p>They rather follow the popular beliefs that are most times founded on lies and unverified or false premises and would want to force you to believe it with them. I learned early in life to have a mind of my own.</p><blockquote>In the words of my father (Dr. Itam Ekpo Essien): “any person who does not have an independent mind cannot make be a good leader”.</blockquote><p>In 2020, you need a lot of advice. No one is going to survive this year without help from different levels and forms of wisdom, and no one can have it all. Having said this, it is important that you set up filters for what you listen to and the kind of people that you allow to influence your thinking. Your entire life in 2020 might depend on it. Yes! I am not exaggerating, it is a matter of life and death.</p><p>I listen to everything and everyone. I prefer to walk the streets because it affords me the opportunity to observe different people and learn from them. However, I follow advice from a select few; chief of whom is my father and I will tell you why.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*n2g0vfcdoY1ysRiN" /><figcaption>My Father</figcaption></figure><h4><strong>1. My father understands me</strong></h4><p>He knows what drives me, he knows my passions, he knows my motivations, he knows the things that ache my heart, my deepest desires, even my weaknesses and fears.</p><p>One of the major issues with self-medication is using another person’s prescription because of similar symptoms that may not represent the same disease. James had waist pain and the doctor prescribed Ibuprofen, therefore, if I am having waist pain, Ibuprofen is the solution: many people have died from this. In the same way, people adapt ideas and advice that would work specifically for a particular person (because of their character, personality, and environment) to their own lives and in the process complicate things. Life does not work that way. Many homes have been destroyed, many lives have been broken.</p><p>If my father knows almost everything about me, whose advice can be better? He will be able to predict what I can do, the consequences of each action and how it will influence my future. That’s that kind of person you listen to for advice.</p><h4><strong>2. My father is an independent thinker</strong></h4><p>The ability to think and understand things for yourself is rarer than a diamond in this world. As I have said before, people will rather die than think for themselves. Almost everyone waits for someone or a superstar to come up with an idea, pattern, or culture then they all fall in line. My father beats every idea until the very meat of the idea is made bare.</p><p>He tries to understand why things happen, why people make the decisions they make, the consequences of actions and how different situations can be utilized for one’s benefit. Yes, he listens to a lot of wise people, however, after hearing what they have to say, each opinion or advice is passed through a furnace until only that which is relevant comes true, after that, he adapts the advice and applies it to his own life or the life of the person that he is advising.</p><h4>3. My father is just an adviser</h4><p>It is rare to find people in this world who are not offended that their advice is not taken. My father only helps you see the pros and cons of what you are about to do and nothing more. He leaves you the job of choosing to follow his advice or not. All he does is provide you with a framework that will guide your decision-making process and allows you to think about his advice yourself. To put in simple words, he teaches you how to think about a situation so you can come up with your own idea. He does not force his opinion on you and neither does he get offended that your choice was not his advice.</p><h4>4. My father always helps</h4><p>One of the easiest things to do is give advice. Single people give the best advice to people in relationships. People with failed marriages provide “the best kind” of marriage advice. Everyone has something to say about everything. However, the people that really make a difference are those who are willing to deal with the consequences of the advice they give you.</p><p>If my father gives you advice, he will help you implement or deal with the consequences to the best of his abilities. Many people just want to tell you what to do, they don’t care about you. The moment their advice fails, you are on your own. When it succeeds, they take credit for it. You should be able to decipher who cares about you, and the advice that is coming from a position of care or from some random desire to have what to say.</p><h4>5. My father does not know it all, and he is not ashamed to say so</h4><p>We have people who advertise herbal remedies that they claim can cure all manner of diseases. The result for those who subscribe to these kinds of remedies is death. Like these herbal remedies, when you find someone who always knows it all, run for your life. No one knows it all. A good adviser knows when to refer you to someone who is better suited to help you resolve your issues. He/she may not have a network of people who know, but they are humble and brave enough to tell you that they do not know.</p><p>I cannot count the number of times my father has said to me “I don’t know”. It gives me a sense of respect for him that he is not insecure, and is truthful to me. That makes him my first source of advice when I need someone to talk to.</p><h4>My Conclusion</h4><p>2020 is a strategic year. You may have drawn your plans, set your goals and determined what you want to achieve at the end of the year. Please don’t fail to draft a plan for how to get good advice and from whom you will get it. I have provided a framework that you can rely on to filter who should advise you.</p><p>If you need someone to advise you, find someone who:</p><ol><li>understands you and/or shares your goals</li><li>is a critical thinker, not someone who follows the crowd or is easily swayed.</li><li>does not just want to shove ideas and advice down your throat.</li><li>cares</li><li>is willing to deal with the consequences of your taking their advice with you.</li><li>is not insecure</li><li>is not afraid to admit that their knowledge is limited.</li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2a5c10d032b" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What I want to be]]></title>
            <link>https://medium.com/@davidessienshare/what-i-want-to-be-ecd82aab8b83?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/ecd82aab8b83</guid>
            <category><![CDATA[love]]></category>
            <category><![CDATA[vision]]></category>
            <category><![CDATA[passion]]></category>
            <category><![CDATA[purpose]]></category>
            <category><![CDATA[christianity]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Tue, 31 Dec 2019 19:26:24 GMT</pubDate>
            <atom:updated>2019-12-31T19:26:24.112Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J3RRobZlzasRork4WHlkSw.jpeg" /></figure><p>When I was younger, I told my family I wanted to be a tractor driver. I don’t remember what I found attractive, but it was a dream. Later on, I wanted to be a reverend father. I loved their calmness, their tranquillity, and the fact that they were respected by many. I had made a bet with my elder sister as a child to pay here 200 Naira if I didn’t become a reverend father. Years later, I was sent to a Catholic school, where I got baptized as a catholic, became a mass server, fell in love with reading my bible stories and Latin. However, it was not long before the hidden things I saw in some seminarians and priests turned me off, maybe I judged them too harshly, but they were priests, I expected them to be perfect — at least until I grew up and understood that they were people too. The priests don’t get all the blame though, I had a lot of lust to deal with and I could not imagine myself becoming a catholic priest, I had to marry.</p><p>Well, I also wanted to become a doctor. My father is a doctor, he saves lives and commands a lot of respect — at least that is what I thought. That did not work out for me, I got trashed by Post UME several times and realized in the process that medicine wasn’t for me: I don’t have the stomach to watch other people suffer, even as a doctor. Later I fell in love with computing, I studied computer science, I am a software developer for one of the top software development companies in the world. One would think I am fulfilled, I am doing something I am passionate about and it pays my bills — at least most. I am not fulfilled, there is still a hunger for more.</p><p>I remember that in 2007 I went to the General Overseer of the church I attended and told him that I wanted to attend bible school before I did my university education. His response was that if God has called me, then I should appeal to him to let me do my university education first. About 13 years later, I still find that the only time I am fulfilled is when I preach. Have I been preaching? NO.</p><p>No, I am not fulfilled, I have always wanted to be a motivational teacher, an artist, a singer, a film actor, a carpenter, a tailor, a shoemaker, a farmer, a welder, a mechanic, a lawyer, an architect, a construction engineer, I have always wanted to be more. Each of my desires has been tied to a greater desire, the desire to acquire knowledge and impart that knowledge to others in a way that empowers them. As an adult, I nurse these desires. Many people think I am confused, some think I am just multi-talented because of my ability to learn almost anything and teach it.</p><p><strong>What do I want to be?</strong></p><ul><li>I want to be a good husband — loving, faithful, trustworthy, dependable, wise, strong, protective, holy, righteous, intelligent, and an example to my wife. I want to be the “image and likeness of God” to my wife — when she listens and is around me, I want her to feel the love and leaderships of God.</li><li>I want to be a good father — to be the sample and standard for the life of God for my children. To be a great teacher to them. To teach them to be selfless, and loving, faithful, trustworthy, dependable, wise, strong, protective, holy, righteous, intelligent, and an example/light to everyone they come in contact with.</li><li>I want to be a good son — to break the walls my parents couldn’t break and build the castles that they couldn’t build. I want to show the world that they did not waste their time bringing up a man like me. I want the whole world to realize what a gift they have in my parents. I want to make my parents proud.</li><li>I want to be a good brother, nephew, uncle, friend — to love everyone to the greatest depths without partiality and without holding back. To teach people how to trust and how to love. I want to be an example of Christ in their lives.</li><li>I want to be the sacrifice that brings the will of God down into the hearts of men. To be the one to proclaim his gospel in the most difficult situations. To be the one to bear the sufferings of others and bring them relief. No, I don’t have a messiah syndrome, I cannot be the messiah, Jesus is. I just want to be the one he sends when there is a fire — no matter the cost to my life.</li><li>I want to be everything that God wants me to be: The sacrifice, the light, the example, the sample, everything.</li><li>I don’t want anything but to be whatever is going to bring God’s love to everyone I meet. No matter what profession I take on, I just want to love God.</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ecd82aab8b83" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Growing Calabar’s Tech Space: The Struggle]]></title>
            <link>https://medium.com/@davidessienshare/growing-calabars-tech-space-the-struggle-542b92f4ee3a?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/542b92f4ee3a</guid>
            <category><![CDATA[tech]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Fri, 30 Aug 2019 12:48:55 GMT</pubDate>
            <atom:updated>2019-08-30T13:44:04.702Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*Z6xmpP2xbJgVyqjq" /><figcaption>The PSIFON core team from Left to Right(Dr. Minka Ndifon, Mercy Hephzibah Esang, <a href="https://www.facebook.com/profile.php?id=1120678324&amp;ref=br_rs">Offiong Akpabio</a>, Chibuzor Charles, Mr. Akin Alaga, Patrick M. Ndifon, David Essien, <a href="https://www.facebook.com/precious.eyakndue">Precious Eyakndue</a>, <br>Pj Oji, Seecil Jones)</figcaption></figure><p>Before I joined Andela, I struggled with developing myself. I was passionate about Software Development but had issues with resources such as:</p><ul><li>Internet</li><li>Light</li><li>Resources to learn</li><li>Mentorship</li></ul><p>I had worked on over 10 full-stack projects (for students), worked with over 6 programming and database languages, but I did not come up with anything that was useful. I did not know how to focus my learning and what to do with the information I was gaining. I was just hungry, and I attempted everything I knew that could fill that hunger.</p><p>After our first Bootcamp at Andela, I and my friend <a href="https://www.linkedin.com/in/pmndifon/">Patrick M. Ndifon</a> decided to grow an organization, we called it <a href="http://psifon.com">PSIFON</a>. The focus of this organization is simply to empower people with a low level of access to information and learning. Our Bootcamp experience opened our minds to different things that we didn’t know existed. For example, until my first Bootcamp</p><ul><li>I had not really realized the power of the Internet in learning — we had very little access to the Internet.</li><li>I knew nothing as Git or GitHub existed. So when my previous laptop crashed, I had lost all my projects, including ideas I had documented.</li></ul><p>We had no strong community and tech culture. Most of the people we reached out to for mentorship declined or were too busy to help.</p><p>What our organization’s community did was leverage the power of collective resources. We found a small office space belonging to Patrick’s uncle and worked from there. We held meetups, got data, and invited people to come and use it for learning. We gathered video materials and shared them to people for free to encourage them to learn. We held online sessions (knowshare sessions); free training — one of them being <strong>Girls Too Can Design </strong>(a free one-week graphic design training) aimed at empowering females to get more involved in tech through design.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/0*zmZsvJFAdFYBAjYb" /><figcaption>PSIFON — Girls Too Can Design</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*37h9g7GztrHnacib" /><figcaption>PSIFON — Girls Too Can Design</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Xuat2XLxQuMuzARH" /><figcaption>PSIFON — Girls Too Can Design</figcaption></figure><p>On May 19, 2018, we organized our first <a href="https://www.facebook.com/pg/sunrisetechsummit/photos/?tab=album&amp;album_id=515227895605209&amp;__xts__%5B0%5D=68.ARAyAwsimTp5gtQNVtRd6JFt-bORGcv-W3eHI0-ABWje064W_cdrtNuViw0bcK9dJcPnRu5Z3FyLAOe5IExSuErTtwPcK5rqkideq0Jsu-TzKatAPDtcEw8X266TLqT38RZUtZE6mhdhIEth62eukc1W3-zOwaObgUZq29YT7j_rzIm9BqPzJ51zsziqiTY0fw9OakLjjBMjuzVHoZdgoAC8B6PFr7WcxFKH4ApZAaHjvzgC1yvv5vxYnyzpJPcp7PQqu1HgVOMBeX6ZfnZ6Fx46YH3j1YC3vcNgo6xBevBfA899S4dNuZAKmahL0bJLUZaK9ft2pY_Ms2uY875ZdYbGpOuk0TS8nS8V9uarZWgdTdkcAmU1ZwSUgOQTPjd_UMwfRrIxaWZYFcZv8VWxVqMkLQs0hGbmObFW0zQ1gHuZWzkLn_2uJeEjOs440P-4R_sNAda1bM8Y&amp;__tn__=-UC-R">Tech innovation Seminar</a> in Collaboration with <a href="https://www.facebook.com/sunriseyouthinterventionorg/?eid=ARD_yIy2MElbz-6KMn1EbWT7du1l9Vmxvc9nfAJcBi7Bb1hSl48Eld8nQcfVisS7papCEEFtMe3TKsc8&amp;timeline_context_item_type=intro_card_work&amp;timeline_context_item_source=100002022173407&amp;fref=tag">The Sunrise Youth intervention Organization</a>(Founded by <a href="https://www.facebook.com/chibuzor.agomuoh">Chibuzor Charles</a>) and gave out N10,000.00 to the winner who was a teenager. That night, we almost slept hungry because we had put in all we had including the support from other people. Luckily, we got saved by a friend who brought some money to buy bread. The next Sunrise Tech innovation seminar(now <a href="https://www.facebook.com/sunrisetechsummit/?__xts__%5B0%5D=68.ARAyAwsimTp5gtQNVtRd6JFt-bORGcv-W3eHI0-ABWje064W_cdrtNuViw0bcK9dJcPnRu5Z3FyLAOe5IExSuErTtwPcK5rqkideq0Jsu-TzKatAPDtcEw8X266TLqT38RZUtZE6mhdhIEth62eukc1W3-zOwaObgUZq29YT7j_rzIm9BqPzJ51zsziqiTY0fw9OakLjjBMjuzVHoZdgoAC8B6PFr7WcxFKH4ApZAaHjvzgC1yvv5vxYnyzpJPcp7PQqu1HgVOMBeX6ZfnZ6Fx46YH3j1YC3vcNgo6xBevBfA899S4dNuZAKmahL0bJLUZaK9ft2pY_Ms2uY875ZdYbGpOuk0TS8nS8V9uarZWgdTdkcAmU1ZwSUgOQTPjd_UMwfRrIxaWZYFcZv8VWxVqMkLQs0hGbmObFW0zQ1gHuZWzkLn_2uJeEjOs440P-4R_sNAda1bM8Y">The Sunrise Tech Innovation Summit</a>) we held had a sponsorship if N1 Million from <a href="https://www.facebook.com/akin.alaga">Mr. Akin Alaga</a> which we gave to the winner. Today, I work at <a href="http://andela.com">Andela</a>, but the struggle still continues. We cannot leave other people behind. We have been pursuing mentorship in different ways, trying to find the best way to get it to work with the little resources that we have.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*3NLsMl2LitxWcs-h" /><figcaption>The Sunrise Tech Innovation Seminar — <a href="https://www.facebook.com/chibuzor.agomuoh?fref=hovercard&amp;hc_location=none&amp;__tn__=%2CdK%2AF-R"><strong>Chibuzor Charles Agomuoh</strong></a></figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*TDIu_IFFSbQtSjP7" /><figcaption>The Sunrise Tech Innovation Seminar 9/05/2018</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*SqrelHPJc7taCKc5" /><figcaption>The Sunrise Tech Innovation Seminar 9/05/2018</figcaption></figure><p><strong>The Sunrise Tech Innovation Summit</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1x2NnQtBPemtcpCi" /><figcaption>Patrick Ndifon speaking at The Sunrise Tech Innovation Summit</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*3QpWFj6SD7LEzA3B" /><figcaption>The winner of The Sunrise Tech Innovation Summit business pitch even.</figcaption></figure><p>We have had the support of several people. Volunteers who work for our social media platforms and programs. Professionals who help us critique ideas and plans. However, our greatest challenges are the resources to keep reaching out to people in the best way possible. We have recorded significant growth in terms of the awareness that we have raised in the Calabar tech space, but we barely fight to cross to the next day. The challenges our mentees face are:</p><ul><li>Internet</li><li>Light</li><li>Space</li><li>A computer</li></ul><p>The first three we can manage without, but the last is non-negotiable. Over time, we have discovered that it is the major discouragement for people who want to learn and grow. If we are going to expand our space and create more impact, we need to provide computers for these people. Even if it means having a space where they can come and learn with computers.</p><p>This is a call to you. If you know someone who has a laptop to give out; if you have a laptop to give out; if you know an organization that supports causes like ours, help us to save our generation and the future generations. The struggle has not been easy, but we are not going easy on that struggle too. It doesn’t matter what sacrifices we have to make, we will get this done, but we cannot do it without you. We need help, and this is our call to you to help us help others.</p><p><strong>Contact us:</strong></p><p><strong>website:</strong> <a href="https://psifon.com">https://psifon.com</a></p><p><strong>blog:</strong> <a href="https://blog.psifon.com">https://blog.psifon.com</a></p><p><strong>Email:</strong> psifonorg@gmail.com</p><p><strong>Facebook:</strong> <a href="https://www.facebook.com/psifonorg/">https://www.facebook.com/psifonorg/</a></p><p><strong>Twitter:</strong> <a href="https://twitter.com/psifonorg">https://twitter.com/psifonorg</a></p><p><strong>Instagram:</strong> <a href="https://www.instagram.com/psifonorg/">@psifonorg</a></p><p>Patrick Ndifon (Co-founder): +234 813 969 1344</p><p>David Essien (Co-founder): +2348167462431</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=542b92f4ee3a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Configuration & Change Management]]></title>
            <link>https://medium.com/@davidessienshare/configuration-change-management-6e00e4958b22?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/6e00e4958b22</guid>
            <category><![CDATA[devops]]></category>
            <category><![CDATA[change-managment]]></category>
            <category><![CDATA[configuration-management]]></category>
            <category><![CDATA[packers]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Sun, 07 Apr 2019 04:28:33 GMT</pubDate>
            <atom:updated>2019-04-08T18:40:52.633Z</atom:updated>
            <content:encoded><![CDATA[<h3>Configuration and Change Management</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*NrwwlVo1FPhL3ypN.jpg" /></figure><h3><strong>What is configuration management?</strong></h3><p>Configuration management is the process of managing the configurable components or resources of a system or environment on which a software application runs. Configuration management ensures that these resources and components maintain a consistent state; this consistent state is referred to as a baseline.</p><p><strong>The main aspects of configuration management:</strong></p><ul><li><strong>Identification of configurable items:</strong> configuration items can include networks, servers, and other computer resources.</li><li><strong>Labelling of configurable items:</strong> unique labels or version numbers are given to configuration items in order to identify them.</li><li><strong>Protection of configurable items: </strong>the configuration items are properly stored and protected from unauthorized access and changes.</li><li><strong>Keeping of baseline and other information: </strong>A baseline is established for the configurable items: this will be a baseline that can be deployed at any time. Records are kept of releases, what was changed during the release, and who changed it. The record will also include the locations of the configurable items, proposed changes to them, and who is responsible for those changes.</li><li><strong>Configuration Verification and Audit: </strong>The configuration items are regularly checked, in other to ascertain that they are in a consistent state.</li><li><strong>Defining Responsibilities: </strong>The team assigns responsibility to members to the different aspects of the configuration management process. For example, who does auditing, reporting, or approves changes.</li></ul><p><strong>What is change management?</strong></p><p>Change management is the process of managing the changes that are made to the configurable items in an environment or system.</p><p><strong>The processes of change management:</strong></p><ul><li><strong>Identification of needed change:</strong> The configurable Items are evaluated to determine the changes they need and where and how those changes can be implemented.</li><li><strong>Determining the impact of the change: </strong>It is determined how the proposed change will impact the current state of the system.</li><li><strong>Change request:</strong> After the impact of the proposed changes has been determined, a change request is made the appropriate stakeholders.</li><li><strong>Change strategy:</strong> Once changes are approved by stakeholders, a strategy is developed for how the changes should be implemented and the time frame. The strategy is aligned with the guidelines defined for configuration management.</li><li><strong>Execution of change: </strong>After an appropriate strategy has been successfully defined, the changes are implemented, and the state of the system after the changes if stable, becomes the new baseline.</li></ul><p><strong>Benefits of configuration and change management for servers</strong></p><ul><li>It helps to maintain the consistency of the servers.</li><li>It increases efficiency since most of the processes are automated as opposed to manual processes.</li><li>It makes it easy to scale infrastructure without having to scale staff since the processes are automated.</li><li>It reduces the chances of errors since most of the processes are automated and do not require human interference.</li><li>It saves cost for staffing and repair of the server in the case of failure and the need to repair or set up the server again manually.</li><li>It ensures that the server can be easily brought back up in case of system downtime since there is a baseline for the server configurations and a record of all changes reports for the server.</li></ul><p><strong>Tools for configuration and change management</strong></p><p><strong>Ansible: </strong>Ansible is a tool for automation task such as configuration management, deployment of applications, orchestrating and provisioning of instances. It is an Open Source tool.</p><p><strong>Puppet: </strong>Puppet is a configuration management tool that is used for deployment, configuration, and management of servers. With puppet, you can define distinct configurations for several hosts and continuously check their state to ensure that they correspond to the defined acceptable system state. Puppet can also be used to scale systems up and down dynamically.</p><p><strong>CFEngine:</strong> ‘CFEngine is an IT infrastructure automation and Continuous Operations framework that helps engineers, system administrators and other stakeholders in an IT organization manage IT infrastructure while ensuring service levels and compliance.</p><p>CFEngine runs on the smallest embedded devices, on servers, in the cloud, and on mainframes, easily handling tens of thousands of hosts. It is available as both open source and commercial software.’ — CFEngine</p><p><strong>Chef: </strong>Chef is another automation tool that provides a way to define infrastructure as code. It uses a Master-Slave Architecture. The Master and Slave communicate through an SSL.</p><p><strong>Salt: </strong>It is an Open Source configuration management and remote execution application that implements “Infrastructure as a code”.</p><p><strong>Difference between configuration and change management</strong></p><p>The major change between configuration and change management is that configuration management focuses on managing the configurable items and the state of the system while change management focuses on managing the changes that affect the configurable items and the system.</p><p><strong>Things to consider when choosing a configuration management tool.</strong></p><p><strong>Robustness: </strong>When choosing a configuration management tool, you should make sure the tool is robust enough to handle all the tasks that your organisation&#39;s infrastructure need it for. It should also enable you to scale your organisation’s infrastructure easily.</p><p><strong>Flexibility: </strong>The tool should be able to integrate well with other tools that you are currently using or planning to use in the future.</p><p><strong>Good feedback loop: </strong>The tool you are using should be able to provide feedback that is understandable and enables humans using it to understand the process that is being executed.</p><p><strong>The complexity of the organization’s IT platform:</strong> The complexity of the organisation’s infrastructure should determine the type of tool that is being used. If the infrastructure is small and does not need a lot of complexity to manage it, then a simple tool should be used and vice versa.</p><p><strong>Cost-effectiveness: </strong>The cost of the tool should also be considered when making a choice of configuration tools. Tools whose cost can easily be managed should be chosen. They are so many open source tools for configuration management, however, before using any of them, one should ensure that the tools are properly maintained and satisfy the need of the organisation’s infrastructure.</p><p><strong>Resources</strong></p><p><a href="https://www.pluralsight.com/guides/role-of-configuration-management-in-devops">https://www.pluralsight.com/guides/role-of-configuration-management-in-devops</a></p><p><a href="https://www.pmbypm.com/difference-between-configuration-management-vs-change-management/#.XKc5QetKi3U">https://www.pmbypm.com/difference-between-configuration-management-vs-change-management/#.XKc5QetKi3U</a></p><p><a href="https://devops.com/integrating-itil-change-management-and-devops/">https://devops.com/integrating-itil-change-management-and-devops/</a></p><p><a href="https://www.projectcubicle.com/configuration-management-change-management/">https://www.projectcubicle.com/configuration-management-change-management/</a></p><p><a href="https://clearbridgemobile.com/devops-change-management-in-the-enterprise-world/">https://clearbridgemobile.com/devops-change-management-in-the-enterprise-world/</a></p><p><a href="https://www.brighthubpm.com/change-management/39825-configuration-and-change-management/">https://www.brighthubpm.com/change-management/39825-configuration-and-change-management/</a></p><p><a href="https://www.netapp.com/us/info/what-is-configuration-management.aspx">https://www.netapp.com/us/info/what-is-configuration-management.aspx</a></p><p><a href="https://cfengine.com/product/what-is-cfengine/">https://cfengine.com/product/what-is-cfengine/</a></p><p><a href="https://xebialabs.com/technology/salt/">https://xebialabs.com/technology/salt/</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6e00e4958b22" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The 11th Commandment: Thou shall not forget to be EPIC]]></title>
            <link>https://medium.com/@davidessienshare/the-11th-commandment-thou-shall-not-forget-to-be-epic-bf52780c834e?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/bf52780c834e</guid>
            <category><![CDATA[collaboration]]></category>
            <category><![CDATA[andela]]></category>
            <category><![CDATA[integrity]]></category>
            <category><![CDATA[excellence]]></category>
            <category><![CDATA[passion]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Tue, 23 Oct 2018 11:42:44 GMT</pubDate>
            <atom:updated>2018-10-23T11:58:37.971Z</atom:updated>
            <content:encoded><![CDATA[<p>The 11th Commandment: Thou shall not forget to be EPIC</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*9jASdwuTYvsGG6xoANsrSw.jpeg" /></figure><p>I went to the 360 Royal Care pharmacy at Ojodu in Lagos this morning to get some drugs. I have had good customer experiences before. However, this one could only remind me of the <strong>Andela EPIC Values</strong>.</p><p>First, I got the math for the number of cards I was supposed to buy for a particular drug wrong. I didn’t go with the prescription and I demanded more drugs than I needed. The pharmacist quickly corrected the error and explained why. Two things that are EPIC about this:</p><ol><li>She knew the right way the drug should be taken even without seeing the doctor’s prescription and took her time to explain. To me, that speaks of excellence. Know your onions. Someone said if you can’t explain it in simple terms, it means you don’t know it. The extra attention you pay to understand the details or perfecting whatever it is you do will always pay.</li><li>By my calculation, the pharmacy would have gained about N1,200 extra from my purchase of the drugs. But her correction saved me that extra cost. Some other person or organization even after knowing I was wrong would let me pay for the drugs in other to increase profits for their business. She didn’t. To me, this speaks of Integrity.</li></ol><p>Secondly, the Pharmacist took my phone number, name and prescription details. When I asked why, she said they needed them to remind me of when to take my drugs. “This one off me”. It’s not like the drugs were more expensive than the ones I have gotten before in other places. However, these people are willing to check on me to be sure I don’t waste the drugs and my health is sound. It spoke to me of 2 things:</p><ol><li><strong>Passion:</strong> It shows they are not just in business to make money but also to ensure the sound health of their customers. I know this may sound odd. Shouldn’t they hope for me to take the drugs wrongly so I can get worse and come back for more? When people know you care, they are most likely to trust you. I will get well soon, I may never fall sick again. But I will never forget or fail to recommend that Pharmacy that called on me to check if I am keeping my commitment to get well at no extra cost.</li><li><strong>Collaboration:</strong> They understand that people can sometimes be lazy about drugs or even forget to take them and they are willing to collaborate with them to ensure they get well. If you asked me before now, I would say it is not their business to check on their customers. I would recommend a person who needed such services to go to a hospital and get admitted or hire a nurse. However, I now have a whole new perspective on it. Their goal is to keep customers healthy and win the trust of their customers in the process and what better way to achieve that than collaboration. For me, as much as this speaks of collaboration, it also speaks of excellence.</li></ol><p>I know that many people may have had this same experience but did not associate it with the EPIC values. For me, it is natural to explain the experience with the EPIC values because I am an Andelan and Andela is the only place I have seen put these values as one cohesive functional unit.</p><p>My time with Andela has given me a clear lens with which I can see what makes an organization successful. The experience I had in that pharmacy today enabled me to see how the EPIC values can be applied in environments outside of Andela.</p><p>While many people have different reasons for joining organizations, I joined Andela not just because of the vast opportunities available, but also the culture. I want to learn the culture that makes Andela what it is. I want to know how Andela excels at being different and successful at what they do.</p><p>The epic values are not just words or concepts to be recited or written. We are to apply them to our everyday activities. We are to apply them in how we communicate with people, in how we understand people’s communication with us and in how we pursue our goals.</p><p>Today, I am thrilled about my experience in that Pharmacy not just because of the customer service, but also because I was able to explain the situation using the EPIC values. It is an indication that my time spent with Andela is paying off and that the EPIC culture is gradually becoming a part of me and how I see things.</p><p>By the way, EPIC is an acronym for EXCELLENCE PASSION INTEGRITY and COLLABORATION. Have a nice day and always be EPIC in all you do.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bf52780c834e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Why sit here till I die?]]></title>
            <link>https://medium.com/@davidessienshare/why-sit-here-till-i-die-8eae4a2214e0?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/8eae4a2214e0</guid>
            <category><![CDATA[evolution]]></category>
            <category><![CDATA[epic]]></category>
            <category><![CDATA[andela]]></category>
            <category><![CDATA[adapt]]></category>
            <category><![CDATA[adaptation]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Tue, 28 Aug 2018 15:17:20 GMT</pubDate>
            <atom:updated>2018-08-28T15:17:20.462Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ySGxEjxwva0QxiFkLJLP_g.jpeg" /><figcaption>photo credit: <a href="https://www.reddit.com/r/Chameleons/comments/1ez532/a_cool_picture_of_my_chameleon_blending_in_to_the/">https://www.reddit.com/r/Chameleons/comments/1ez532/a_cool_picture_of_my_chameleon_blending_in_to_the/</a></figcaption></figure><p>It was Charles Darwin who came up with the theory of natural selection. Natural selection is often referred to as “survival of the fittest”. It simply refers to the natural process that ensures the survival and growth of individuals or organisms that are better adjusted to their environment.</p><p>One thing I always found difficult was seeking help from people. I grew up in an environment where I had to get everything by working <em>hard</em> for it. Often times I had to struggle alone for a very long time before I could get my solution. I guess overtime, it became a norm for me. I grew stronger as an individual yet my team skills suffered.</p><p>Coming to Andela, I have had many challenges. However, the greatest challenge has been seeking help. For me, I had always felt that seeking help was a sign of incompetence. I could render help to people but not ask from them. When I found myself in Bootcamp, whenever I wanted to ask for help, there was this notion that the other person will think I am dumb. Collaboration for me meant giving help; it did not mean accepting help, and this affected my progress.</p><p>After hearing much of the gospel according to Andela EPIC values, I realized I was cheating myself. I realized I was just proud. For me to want to give help but not accept help, meant I had placed myself in a position above other people. I realized it meant that I could do everything on my own and that is false. Finally, I decided to reach out.</p><p>Reaching out for help came with a sense of freedom and progress. I could get work done faster, it enhanced my relationship with my fellow bootcampers and LFA. There will always be those people who will see me as been dumb for not knowing some simple things. I would rather be seen by them in that light than remain the same.</p><p>I have had many other challenges like this one. The way I have adapted is to understand, learn, and implement immediately. When I heard of the Andela EPIC values, I tried to incorporate them in everything I did. I tried to understand what they mean to Andela as an organization, what they mean to me as a person and what they mean in my relationship with other people.</p><p>Charles Darwin’s <em>Theory of Natural Selection</em> in the context of Andela does not mean competition. It simply means that Andela has a standards and if I want to be an Andelan, I must be ready to unlearn everything that does not support the EPIC values. I must be willing to learn new things, to correct wrong mindsets and to change for the better.</p><p>I finally asked myself: why remain the same person? Why sit here till I die?</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8eae4a2214e0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[What makes Andela tick?]]></title>
            <link>https://medium.com/@davidessienshare/what-makes-andela-tick-3fcfa8fb0fca?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/3fcfa8fb0fca</guid>
            <category><![CDATA[epic]]></category>
            <category><![CDATA[andela]]></category>
            <category><![CDATA[values]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Wed, 22 Aug 2018 15:54:00 GMT</pubDate>
            <atom:updated>2018-08-22T16:02:44.596Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/800/1*_QyKwhkqxDh9fE9l_jn-jg.jpeg" /><figcaption>Photo credit: <a href="https://andela.com/about-us/careers/">https://andela.com/about-us/careers/</a></figcaption></figure><p>What makes Andela tick? Once this question had been the topic of discussion for a group of young people in Calabar trying to build a strong tech community. I was one of them, and the only conclusion we came to, was that Andela has a culture that creates an environment for continuous growth.</p><p>Any person or organisation without values is like a ship without a rudder. No matter how many resources and lofty the set goals, such a person or institution is bound to break at some point. Strong and meaningful values are what create the environment for success.</p><blockquote><em>The ability to subordinate an impulse to a value is the essence of the proactive person. Reactive people are driven by feelings, by circumstances, by conditions, by their environment. Proactive people are driven by values — carefully thought about, selected and internalized values. <br></em><strong><em>- Steven Covey (Seven habits of highly effective people)</em></strong></blockquote><p>Andela has four EPIC values. The word EPIC is an acronym for Excellence, Passion, Integrity and Collaboration.</p><p><strong>Excellence</strong><br>“What is what doing is what doing well”. My secondary school principal would always say this words to us every day on the assembly ground. This he did as a way of instilling excellence. I have learnt at Andela, excellence means giving your best to every single thing you do no matter how small it is.</p><p>It is Excellence that will make you standout. Excellence will give the solutions you provide to problems long lasting value.</p><p><strong>Passion </strong><br>Passion here refers to the drive and fire in one’s heart for always learning and growing. In Andela, one must have the growth mindset to be able to make a headway. Learning is a compulsory continuous process, and I have come to learn that in Bootcamp.</p><p>Passion forces you to push yourself to always achieve at a maximum level no matter what it takes irrespective of the challenges that you face. It is passion that will keep you going hours after you are tired, or when it seems as if there is no progress.</p><p><strong>Integrity</strong><br>A man once asked me a question: “If the public David and the private David meet, will they recognize each other?” It means that you mean what you say and say what you mean. It means that you are not deceitful and that you are trustworthy.</p><p>When working with a team, integrity will make all the difference. Members of your team will need to know that they can rely on you. It means that your work reflects who you really are. It means that the products or solutions that you deliver to the public are truly what you say they are. It can make all the difference when it comes to people trusting you.</p><p><strong>Collaboration</strong><br>Together Everybody Achieves More (TEAM): there is nothing I know that describes the true meaning and power of collaboration like this acronym. Collaboration is simply people putting resources together to achieve a common goal.</p><p>My experience in Bootcamp has given me a true experience of the power of collaboration. Working together creates room for everyone to make-up for their “not-so-strong” areas. It makes the achievement of goals possible and fast.</p><p><strong>Finally</strong></p><p>I don’t believe I have done this EPIC values the justice they deserve. However, I have learnt a lot about creating a team that functions by understanding the Andela Epic values.</p><p>Andela stands out from other organisations. Andela is EPIC because of her values.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3fcfa8fb0fca" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[It would not have died if I knew Git then]]></title>
            <link>https://medium.com/@davidessienshare/it-would-not-have-died-if-i-knew-git-then-1b62644095e0?source=rss-6308b55aaf70------2</link>
            <guid isPermaLink="false">https://medium.com/p/1b62644095e0</guid>
            <category><![CDATA[git]]></category>
            <dc:creator><![CDATA[David Essien]]></dc:creator>
            <pubDate>Tue, 21 Aug 2018 14:18:04 GMT</pubDate>
            <atom:updated>2018-08-21T14:18:04.702Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/829/1*qEUqbZM-H39_qOxwTIV7Dw.jpeg" /><figcaption>Photo credit: <a href="http://smutch.github.io/VersionControlTutorial/">http://smutch.github.io/VersionControlTutorial/</a></figcaption></figure><p>In 2003 I met my first love. For the very first time in my life, I found something that I connected with and could not stop thinking about other than books. I saw a desktop computer for the first time in 2003. It was also the first time I ever heard the word. Sometimes, I wondered what I was reading because I don’t remember stumbling on the word before then.</p><p>I was a reader; I read novels, books on psychology, engineering, medicine and what have you. I would walk on the streets and pick papers and stuff them in my pocket to read when I got home. I was crazy; at some point, my family thought something was wrong with me. I had a code: “Thou shall never be caught without a book”, and I lived by it.</p><p>In August 2003, I followed my parents to visit an in-law in Calabar, and that was where I saw it. There it was staring at me, and I was staring in return. Like two people in love but not having the right words to express it; I was lost. One of the boys in the house explained to me how it worked and at that moment, I knew the story of my life will start and end with it.</p><p>In 2011, I got a laptop as a gift from my father. Lucky for me, I met a microbiologist who was a computer programmer and worked with my father. He encouraged me to start programming, and that was how my journey started.</p><p>My first ever project was a Computer-Based Testing (CBT) system. I believed writing JAMB (Joint Admission and Matriculation Board) and WAEC (West African Examination Council) examination using computers would eradicate errors in marking, malpractice and facilitate result delivery. Turns out I was right, but my dream never made it to reality and I will tell you why.</p><p>In November 2011, I had completed a working prototype of the CBT system. I used PHP for the server side, MYSQL for the database, and HTML/CSS for the frontend. I was working towards presenting it with a proposal to JAMB and WAEC when tragedy struck.</p><p>I had a struggle with a Mobile Police Man who was trying to confiscate my laptop illegally, and in the process, my laptop dropped. That day my heart was fried. My motherboard was destroyed alongside my hard disk and I lost everything. I had no backup anywhere; all my projects, my files, ideas I had documented, everything was gone. I fell into despair. Not having money to get a new laptop, I waited till 2014. I had lost passion for the project due to discouragement and that was the death of a dream.</p><p>I came across Git and Github while preparing for the Andela BootCamp. Git is a version control system (VCS) that helps you keep a record of changes you make to files in your project. It keeps track of the changes and enables you to create checkpoints (using commits and/or branches for your work) for each change. These checkpoints can also be seen as versions of your project. For example, you create a web form and add a commit, and you decide to edit that form tomorrow, the new change can be considered a new version of your original work.</p><p>Github is a website for hosting your repositories. A repository is simply a place where you can store your project files and folders. A new repository is created for each project on Git. On your computer, a repository is represented by a folder. After working on your project or a part of it on Git (offline), you can push it to your repository on Github.</p><p>With version control system, you can keep track of changes to your project files, when the changes were made, and what exactly was changed. You can decide to go back to an older version of your work or even get people to join you in building your project.</p><p>Although they are other version control systems like CVS, SVN, Mercurial, Git happens to be the most popular. I find Git very interesting because it has solved so many of the problems of having to lose your work or having someone far away from you give feedback or collaborate with you. I can’t also forget the way people look at me when I am typing Git commands in my terminal. It makes me feel like a guru (laughing).</p><p>Thinking of things now and what I have learnt, I realized that if I knew Git and Github then, I would not have lost my project. Even though the main cause of the death of my dream was me giving up, I would have avoided it altogether if I had used version control.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1b62644095e0" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>