<?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: Umair</title>
    <description>The latest articles on Forem by Umair (@engrumair).</description>
    <link>https://forem.com/engrumair</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%2F167938%2F00cda5dd-7ca0-4174-9425-787f40e8d3f5.jpeg</url>
      <title>Forem: Umair</title>
      <link>https://forem.com/engrumair</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/engrumair"/>
    <language>en</language>
    <item>
      <title>The Formula for Software Estimation</title>
      <dc:creator>Umair</dc:creator>
      <pubDate>Mon, 23 Dec 2019 06:33:36 +0000</pubDate>
      <link>https://forem.com/engrumair/the-formula-for-software-estimation-2jm0</link>
      <guid>https://forem.com/engrumair/the-formula-for-software-estimation-2jm0</guid>
      <description>&lt;p&gt;As an undergraduate student, I was amazed to know that there are software estimation formulas like COCOMO. I studied them, solved the problems in class but did not understand their impact on real-life projects or how to apply them in my projects.&lt;/p&gt;

&lt;p&gt;When I join the industry I didn't know how to estimate my tasks. Formulas were of no help. This problem was most pressing:&lt;/p&gt;

&lt;p&gt;a) When my superior (many times not adept in programming) asked me about the estimates for a software feature. I gave heroic answers which I regret later.&lt;/p&gt;

&lt;p&gt;b) When I want to compare my productivity to other developers. I worked alone for a few years and I want to benchmark myself with the outside world and wanted to know if I work at the same pace as others.&lt;/p&gt;

&lt;p&gt;So I laser-focused myself to learn about software estimation and read almost all top books on software estimation.&lt;/p&gt;

&lt;p&gt;Reflecting on my experience with multiple projects and running a few experiments I know better than before (I wanted to write ‘I crack the code’ but let me be modest).&lt;/p&gt;

&lt;p&gt;One key finding of the software estimation was refreshed when reading recently about the estimation method in SCRUM. The phrase: “story point estimates have no value outside the current team” catch my attention and motivated me therefore I am writing this email.&lt;/p&gt;

&lt;p&gt;The basic unit of work in SCRUM is a story and team members collectively decide the estimate for the story on a scale. This estimate is called story points. This estimate is &lt;strong&gt;relative&lt;/strong&gt; to that team. Another team might choose different story points for the same story. Because every team has a different skill level.&lt;/p&gt;

&lt;p&gt;This is unique to software estimation and it is the critical mindset when working with software estimates. It is relative. There is no formula like Newton’s equation where you put in some parameters and it spits out the result.&lt;/p&gt;

&lt;p&gt;Estimation is one of the areas where software engineering differentiates from other fields. The GANTT chart approach does not help here :).&lt;/p&gt;

&lt;p&gt;So, are software estimation formulas useless? I use them after the completion of a project and measure the deviation. I have tuned them for my team (again 'relative') to get tolerably close estimates. &lt;/p&gt;

</description>
      <category>productivity</category>
      <category>management</category>
    </item>
    <item>
      <title>What is Your Competence Level?</title>
      <dc:creator>Umair</dc:creator>
      <pubDate>Thu, 05 Sep 2019 04:37:48 +0000</pubDate>
      <link>https://forem.com/engrumair/what-is-your-competence-level-2bgp</link>
      <guid>https://forem.com/engrumair/what-is-your-competence-level-2bgp</guid>
      <description>&lt;p&gt;What is your competence level as a software developer? To answer this, I come up with a simple framework that I call 'The framework of Competence'.&lt;/p&gt;

&lt;p&gt;Being a software developer is a journey. In each journey, you are on different stages. So this framework will tell you at what stage you are in your journey.&lt;/p&gt;

&lt;p&gt;Also, this framework is helpful in getting you out of overwhelm. In a programming career, you hear about new tech, frameworks, languages quite often. This can be overwhelming for junior developers. But when you know how will you look like after some experience then you will not feel overwhelmed.&lt;/p&gt;

&lt;p&gt;This framework is not here to demoralize you. Once you know where you are you can easily plan your next move.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 0&lt;/b&gt;: You are not a programmer-- obvious.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 1&lt;/b&gt;: You can develop in a scripting language.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 2&lt;/b&gt;: You are acquainted with writing apps in a real programming language.&lt;/p&gt;

&lt;p&gt;Wondering what is the difference between scripting and programming language. Look at the answer &lt;a href="https://stackoverflow.com/questions/17253545/scripting-language-vs-programming-language"&gt;in this post&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For me, the scripting language is something that is easier to work. JavaScript is a good example (no type checking and easier on forgetting ';' )&lt;/p&gt;

&lt;p&gt;Easier than scripting languages are markup languages--examples are HTML and CSS.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 3&lt;/b&gt;: You can write complete apps in a programming language and can design a simple API.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 4&lt;/b&gt;: You have a complete grasp on developing API and you can write optimized code for the hardware.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Stage 5&lt;/b&gt;: You develop operating systems and drivers.&lt;/p&gt;

&lt;p&gt;This is a very simple back of the napkin paper framework that you can use to identify your capabilities.&lt;/p&gt;

&lt;p&gt;Use this framework when you see a more skillful developer.  With this framework, you will know that you can get to his level of expertise or even ahead but it’s just a matter of time and hard work.&lt;/p&gt;

&lt;h2&gt;Great&lt;/h2&gt;

&lt;p&gt;If you like this post then &lt;a href="http://eepurl.com/b34ZpL"&gt; get the step-by-step guide&lt;/a&gt; to create your personal tool for fighting impostor syndrome.&lt;br&gt;
This guide will help you to:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Document your progress&lt;/li&gt;
    &lt;li&gt;Make better software task estimation&lt;/li&gt;
    &lt;li&gt;Keep motivated&lt;/li&gt;
    &lt;li&gt;Authentic self-appraisal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This post first published &lt;a href="http://www.linesperday.com"&gt;here.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>oop</category>
      <category>architecture</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Ultimate Guide to Become a REAL Programmer</title>
      <dc:creator>Umair</dc:creator>
      <pubDate>Mon, 26 Aug 2019 15:30:14 +0000</pubDate>
      <link>https://forem.com/engrumair/ultimate-guide-to-become-a-real-programmer-35nj</link>
      <guid>https://forem.com/engrumair/ultimate-guide-to-become-a-real-programmer-35nj</guid>
      <description>&lt;p&gt;Beginning my career I met a senior developer who was writing code like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FReal-Code.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FReal-Code.png" alt="Real Programmer"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I have done a lot of coding and used half a dozen programming languages but I did not understand what the heck the code was doing. Any code that I have written till now looked childish.&lt;/p&gt;

&lt;p&gt;I believed I made a wrong career choice and I will never gonna be like that developer. I thought there was a mistake in the recruitment process and I am working here until they find me out. I felt like a fraud.&lt;/p&gt;

&lt;p&gt;So, I made a promise to myself that I will work hard and &lt;b&gt;prove &lt;/b&gt;myself before they find out my incompetence.&lt;/p&gt;

&lt;p&gt;I kept learning new frameworks, new programming languages and work harder for years to prove myself and not being caught as a fraud. Until one day, I met a developer Matt. He was a 'Real' developer-- the kind of developer that everybody wants to be.&lt;/p&gt;

&lt;p&gt;One day Matt told me about his insecurities and why sometimes he felt like a fraud. I thought that Mat has caught me and now he is faking his story to taunt me. The truth is Matt was impostor--like me!&lt;/p&gt;

&lt;p&gt;I look around, I researched and found that impostor syndrome is common among developers and it is a major roadblock when they want to prove themselves. Today I will tell you how impostor syndrome is disguised in other feelings and how it is hurting you in different situations.&lt;/p&gt;

&lt;h2&gt;Impostor Syndrome: A Major Roadblock in Developer's Life&lt;/h2&gt;

&lt;p&gt;According to wiki:&lt;/p&gt;

&lt;p&gt;“Impostor Syndrome is a psychological pattern in which an individual doubts their accomplishments and has a persistent internalized fear of being exposed as a ‘fraud’.''&lt;/p&gt;

&lt;p&gt;But you don't wake up one day and say, “OH -- Yesterday I was feeling imposturous”. It’s hard to identify impostor syndrome because it's difficult to express feelings in words.&lt;/p&gt;

&lt;p&gt;You may say, I don’t feel like a fraud or I don't feel resemblance with your experience or wiki’s definition. There are so many variations to impostor syndrome. So in this post, I have catalog situations and feelings that indicate impostor syndrome in action.&lt;/p&gt;

&lt;p&gt;Read these situations and find out if they match yours. Finally, I have researched all the solutions. Distilled them and create a set of tools that you can apply to cure impostor syndrome.&lt;/p&gt;

&lt;h2&gt;Why the impostor syndrome happens&lt;/h2&gt;

&lt;p&gt;It is a complex subject for psychologists like &lt;a href="https://paulineroseclance.com/impostor_phenomenon.html" rel="noopener noreferrer"&gt;Clance&lt;/a&gt; and &lt;a href="https://www.psychologytoday.com/us/therapists/suzanne-imes-atlanta-ga/69147" rel="noopener noreferrer"&gt;Imes&lt;/a&gt;. But experts converge on our underlying urge to &lt;strong&gt;prove ourselves&lt;/strong&gt; to our boss, teacher or even family. This can be either to please them or to gain benefits.&lt;/p&gt;

&lt;p&gt;Proving ourselves is our basic need and similar to basic needs like survival and It is more important for every beginning developer. Unfortunately, no one is going to tell you explicitly except the HR department who at the end of the interview or at the end of probation did not call you back. Why? Because you were unable to prove yourself.&lt;/p&gt;

&lt;h2&gt;Perks For Real Developers&lt;/h2&gt;

&lt;p&gt;If you continuously prove yourself you will become a rockstar/real developer. One thing that rockstar developer can do is they work from home. Imagine a day when you don't want to wake up on the alarm clock and suit yourself for office. Imagine no commute delays or traffic jams.&lt;/p&gt;

&lt;p&gt;You can get your coffee, open your laptop, open the repository remotely and start working right from your bed.&lt;/p&gt;

&lt;p&gt;This is what ‘Real’ or ‘Rockstar’ developer means to me. Not what is shown as a hacker in movies.&lt;/p&gt;

&lt;p&gt;For you, it could be different. By proving yourself you can earn more. With your enhance your skill-set and you can re-negotiate your pay package at the time of appraisal. Or you can switch jobs for more salary.&lt;/p&gt;

&lt;p&gt;By proving yourself you can control your environment. If you don’t like the environment or the nature of your job or your manager you can switch. There are always job openings for real developers.&lt;/p&gt;

&lt;p&gt;By proving yourself you have more time. Now you can complete the task in less time and you can use this free time for your own learning/leisure activities.&lt;/p&gt;

&lt;p&gt;By proving yourself you have the opportunity to do the real work. Recognized work--something that you can tell in parties.&lt;/p&gt;

&lt;h2&gt;The PLAN to become a ‘Real’ Developer&lt;/h2&gt;

&lt;p&gt;Our goal is to become a ‘Real’ developer. The biggest roadblock to this goal is &lt;strong&gt;impostor syndrome&lt;/strong&gt; and following is the plan to achieve the goal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FThe-Plan.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FThe-Plan.png" alt="Plan to Improve"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's get to step one.&lt;/p&gt;

&lt;h2&gt;Situations and Feelings&lt;/h2&gt;

&lt;p&gt;These are the situations for developers where they feel a variation of impostor syndrome. See if any of the feelings are familiar to you.&lt;/p&gt;

&lt;h3&gt;1. When Someone Asked you a Question&lt;/h3&gt;

&lt;p&gt;Imagine when someone, junior or senior, asked you a question and you are unable to give an answer. How do you feel? Incompetent or bad?&lt;/p&gt;

&lt;p&gt;Programming is a vast field and nobody cannot memorize everything. Even the programmer with decades of experience has to look up while programming.&lt;/p&gt;

&lt;p&gt;So when you are asked a question and you don’t know the answer it does not mean you are incompetent. You just have one more thing to learn.&lt;/p&gt;

&lt;h3&gt;2. Comparing Yourself With Others on Linkedin&lt;/h3&gt;

&lt;p&gt;One of my habits is to browse the LinkedIn profile of other developers. When I see another developer experienced in dozen technologies and I have experience in 2 programming language and one framework--I feel bad.&lt;/p&gt;

&lt;p&gt;This is closely related to &lt;a href="https://www.huffingtonpost.co.uk/sam-allcock/social-media-is-a-highlig_1_b_14200316.html" rel="noopener noreferrer"&gt;highlight reel&lt;/a&gt; phenomenon. Looking facebook posts of your friends and see them doing all the fun and telling yourself ‘they are living a great life and I am living a miserable life’.&lt;/p&gt;

&lt;p&gt;The problem is you are only seeing the highlights of their life. You are not looking at the failures or downtime that they have in their life. Because nobody shares them!&lt;/p&gt;

&lt;p&gt;Comparing ourselves with others is the main source of feeling incompetent. The social media tools have amplified this feeling and it is one of the reasons for impostor syndrome in developers.&lt;/p&gt;

&lt;h3&gt;3. Start of a New Project&lt;/h3&gt;

&lt;p&gt;Recently, I started a new project from scratch. I have to figure out requirements, learn different technologies and work with abstract ideas. I feel incompetent.&lt;/p&gt;

&lt;p&gt;Working on an ongoing project is easier than starting a new project from scratch. Imagine someone developing enterprise applications for years and now has to work on the embedded processor using ‘C’ language.&lt;/p&gt;

&lt;p&gt;Therefore, if you feel bad or incompetent starting a new project then remember it is impostor syndrome.&lt;/p&gt;

&lt;h3&gt;4. When There is a new Technology to Learn&lt;/h3&gt;

&lt;p&gt;In the old days, I was working with a group of developers who were using Asp.net Web Forms that was going to be replaced by asp.net MVC.&lt;/p&gt;

&lt;p&gt;They feel bad even threatened when the boss introduced them to MVC. Why? Were they incompetent? They were doing great work with web forms for years. They were not incompetent but they were feeling incompetent because there is a new technology to learn.&lt;/p&gt;

&lt;p&gt;Learn anything new will always lead you to impostor syndrome. So whenever you are learning anything (driving a car or learning new framework) beware of impostor syndrome.&lt;/p&gt;

&lt;h3&gt;5. Because You Are Alone&lt;/h3&gt;

&lt;p&gt;As a beginner, mostly you are a learner in addition to the developer. In programming, your learning will never end. But as a junior, you will have to learn even more.&lt;/p&gt;

&lt;p&gt;Learning and impostor syndrome are closely related and one of the reason is that learning is a sole journey. People around could guide you but in the end, it is you who has to go through the fire.&lt;/p&gt;

&lt;p&gt;This sole journey amplifies the negative feelings and developers get demotivated and think of themselves as incompetent. Beware it is impostor syndrome.&lt;/p&gt;

&lt;h3&gt;6. Seniors Are Not Helpful&lt;/h3&gt;

&lt;p&gt;Seniors developers often tell the story of their heroism. How they solve a critical problem five years ago that no one else can do. You will admire them when you listen to them.&lt;/p&gt;

&lt;p&gt;Also, visualizing their story will make you feel incompetent besides admiration. Remember, when we &lt;b&gt;compare &lt;/b&gt;we feel impostor.&lt;/p&gt;

&lt;h3&gt;7. Grunt Work is For Juniors&lt;/h3&gt;

&lt;p&gt;As a junior developer, you are not allowed to do any serious stuff like working on production code. You are only allowed to play in the back alley like updating the copy on a website.&lt;/p&gt;

&lt;p&gt;This is necessary because they are testing you and would not give you the driving seat on the first day.&lt;/p&gt;

&lt;p&gt;The problem is you are dying to &lt;a href="http://www.linesperday.com/how-to-prove-yourself/" rel="noopener noreferrer"&gt;prove yourself&lt;/a&gt;. These minuscule tasks belittle you and make you feel incompetent. Don’t be the victim of this fake feeling.&lt;/p&gt;

&lt;h3&gt;8. When Rework&lt;/h3&gt;

&lt;p&gt;For me rework means overtime. It also means shame. Whenever I made a mistake that leads to rework I feel shameful and incompetent.&lt;/p&gt;

&lt;p&gt;This is amplified when the code is in the production. Which means a lot of people are going to be affected by that.&lt;/p&gt;

&lt;p&gt;We are like other people and we make mistakes. We should not be hard on ourselves. I am not incompetent-- I just made a mistake.&lt;/p&gt;

&lt;h3&gt;9. Giving estimates is difficult&lt;/h3&gt;

&lt;p&gt;Giving an estimate for a task is difficult even for a senior developer. Giving an estimate for software development tasks is art as well as science. It will take time to be skillful in giving estimates.&lt;/p&gt;

&lt;p&gt;When I was a junior I always gave heroic estimates. I want to become someone who can do the job on the spot or as quickly as possible. Which I could not. Poor estimation skills lead me to think that I am not a good developer.&lt;/p&gt;

&lt;p&gt;But when I read the book Software Estimation by Steve McConnell then I realize that I was not a bad developer -- I was just bad in estimation. Here is my article on &lt;a href="https://www.codeproject.com/Articles/701642/Software-Estimation-by-example" rel="noopener noreferrer"&gt;software estimation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;10. When Committing Your Code&lt;/h3&gt;

&lt;p&gt;Imagine you have completed a task and are going to commit the code. How will you feel just before you submit the code?&lt;/p&gt;

&lt;p&gt;Because in the morning, there will be eyeballs on your code. What if the person reviewing your code catch errors. What if the person reviewing has a grudge with you and he wants to prove you incompetent.&lt;/p&gt;

&lt;p&gt;If these motion going through your head just before committing the code then this is impostor syndrome.&lt;/p&gt;

&lt;h3&gt;11. Change of Routine&lt;/h3&gt;

&lt;p&gt;As a junior developer, there is a big shift in your routine. Before joining the industry you were a student. Student of computer science in university, boot camp, online or even self-taught.&lt;/p&gt;

&lt;p&gt;Now the routine is different. There is an 8-hour workday, commuting, colleagues and bosses. In the student days, you can sleep longer and work on your own terms. Now you will be guided by others and you have to stick to some rules.&lt;/p&gt;

&lt;p&gt;This change of routine is exhilarating for many people. With this tough routine, they think that they are not good enough or fit enough for a programming career.&lt;/p&gt;

&lt;h2&gt;What If Above Situation/Feelings are Not Familiar&lt;/h2&gt;

&lt;p&gt;If any of the situations mentioned does not sound true to and you are still feeling incompetent. What should you do? Do the following:&lt;/p&gt;

&lt;p&gt;1) Subscribe &lt;a href="http://eepurl.com/b34ZpL" rel="noopener noreferrer"&gt;here to get updates on more situation and feelings&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Find is it impostor syndrome or you are really incompetent&lt;/p&gt;

&lt;p&gt;How would you know?&lt;/p&gt;

&lt;p&gt;See the external factors. If anybody around you tells that you are good either explicitly or implicitly. Then consider yourself competent. This praise should be in a professional setting and not by your friends or family.&lt;/p&gt;

&lt;p&gt;Also, look for inner motivation. If everybody tells you that you are not good but in your heart, you know that you want to be in a programming career. Then all you have to do is work hard and you will be in the league of top programmers.&lt;/p&gt;

&lt;p&gt;Enough of diagnosis and identification now let's get to step two: the solutions.&lt;/p&gt;

&lt;h2&gt;Solutions for Impostor Syndrome In Developers&lt;/h2&gt;

&lt;h3&gt;1. Express Feelings in Words&lt;/h3&gt;

&lt;p&gt;This post is inspired by Dr. David Burns book &lt;a href="https://www.amazon.com/Feeling-Good-New-Mood-Therapy/dp/0380810336" rel="noopener noreferrer"&gt;Feeling Good&lt;/a&gt;. Where he teaches how to deal with negative emotions like failure, stress, anxiety and etc by putting a label on them. According to research, when you &lt;em&gt;put a label&lt;/em&gt; on your emotions and feelings the negative effects of the emotions will be reduced.&lt;/p&gt;

&lt;p&gt;Putting a label on feelings or describing feelings in 'words' will bring it from the emotional part of the brain to rational parts of the brain which will automatically reduce outburst of emotions.&lt;/p&gt;

&lt;p&gt;This is what I tried to achieve in this post. I outline situations and feelings disguised as an impostor. With these list of feelings, you can recognize an impostor feeling and say: "Oh Yes--Feeling incompetent &lt;em&gt;when starting a new project&lt;/em&gt;--this is impostor syndrome".&lt;/p&gt;

&lt;p&gt;Recognizing the feeling and describing them in words will help you reduce the negative impact of impostor syndrome.&lt;/p&gt;

&lt;h3&gt;2. Everybody has it even the ‘Rockstar’ Developers&lt;/h3&gt;

&lt;p&gt;When I was young I thought about ‘rockstar’ developer as someone flawless who can do any task without any errors in the first attempt.&lt;/p&gt;

&lt;p&gt;This is amplified by the movies where one hacker writes scripts in minutes, runs the script and everything (most of the time a vault) cracks open. I know people believe who still believe in these movies. They are either junior or ignorant. They like to code as shown in the movies.&lt;/p&gt;

&lt;p&gt;Once I attended a presentation by a rockstar developer. I was amazed by his presentation and the way he wrote code and shown the demo. I watched his tutorials and videos online. He is the kind of developer I want to be. His name is &lt;a href="https://www.hanselman.com/" rel="noopener noreferrer"&gt;Scott Hanselman&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;When browsing about impostor syndrome I was stumbled upon &lt;a href="https://www.hanselman.com/blog/ImAPhonyAreYou.aspx" rel="noopener noreferrer"&gt; Scott post on impostor syndrome.&lt;/a&gt; My rockstar developer think that he is phony--like me! HMMMM.&lt;/p&gt;

&lt;p&gt;I was surprised and &lt;b&gt;relieved&lt;/b&gt; to know that almost every rockstar in music, films, games have gone through this syndrome like &lt;a href="http://journal.neilgaiman.com/2017/05/the-neil-story-with-additional-footnote.html" rel="noopener noreferrer"&gt;Neil Gaiman and Neil Armstrong&lt;/a&gt;. They still have it but they don’t become a victim of it.&lt;/p&gt;

&lt;p&gt;Therefore knowing that even the top people in the industry have impostor syndrome will help you in relieving the negative effects of impostor syndrome.&lt;/p&gt;

&lt;h3&gt;3. Keep up the Motivation&lt;/h3&gt;

&lt;p&gt;It is very difficult to keep yourself motivated.  You may feel motivated by reading about a top performer having impostor syndrome but it will not last.&lt;/p&gt;

&lt;p&gt;I have created a tool of motivation that you can use it to keep your motivation up on-demand. I created it by &lt;b&gt;documenting my progress.&lt;/b&gt; I use my journal to document my progress. Here is the &lt;a href="http://eepurl.com/b34ZpL" rel="noopener noreferrer"&gt;step-by-step guide to documenting&lt;/a&gt; your progress.&lt;b&gt; &lt;/b&gt;&lt;/p&gt;

&lt;p&gt;At the end of the quarter and year, I review my past progress with the help of my journal. I always get amazed by looking at the projects I have completed. This is like a personal appraisal but an authentic one.&lt;/p&gt;

&lt;p&gt;Keep this journal close to you and use it as harpoon of motivation. Whenever impostor syndrome hinders you, read your progress and you will be motivated.&lt;/p&gt;

&lt;h3&gt;4. Stop Comparing&lt;/h3&gt;

&lt;p&gt;Many emotions related to impostor syndrome were based on one human condition. We compare ourselves with others.&lt;/p&gt;

&lt;p&gt;We want to be like them or want them to be like us. We forget we are different. We have different lives, different backgrounds, and different conditions. We will always be different therefore stop comparing yourself with anybody else.&lt;/p&gt;

&lt;p&gt;Instead of comparing use the &lt;a href="http://www.linesperday.com/what-is-your-competence-level/" rel="noopener noreferrer"&gt;scale to calculate your competence level&lt;/a&gt;. Know your competence level and know the level of anybody who is ahead of you. Then just work hard to get there.&lt;/p&gt;

&lt;h3&gt;5. Accept you have Role in the Success&lt;/h3&gt;

&lt;p&gt;Recently, I heard a developer saying: "I have only 5% of the work but now it seems like I am responsible for the whole project."&lt;/p&gt;

&lt;p&gt;Yes, he did the 5 percent work but he was a link in the chain or a part of the team. Without him, the chain will break and the product will fail. So yes he did the 5% percent work but he is an important person.&lt;/p&gt;

&lt;p&gt;Similarly, it doesn't matter how small your contribution remember that you have contributed to the success of the project.&lt;/p&gt;

&lt;h3&gt;6. Discussing With Others&lt;/h3&gt;

&lt;p&gt;When professor &lt;a href="https://www.sciencemag.org/careers/2008/02/no-youre-not-impostor" rel="noopener noreferrer"&gt;Richard Felder &lt;/a&gt;tells his students about the impostor syndrome there was a moment of relief not only in students but in other professors as well.&lt;/p&gt;

&lt;p&gt;The moment when you tell someone else that you have the impostor syndrome and he shares a similar experience. You will feel better.&lt;/p&gt;

&lt;p&gt;This is what I am doing by writing this post. I am telling you about my impostor syndrome to get relief. You can do this to get relief from impostor syndrome by discussing it in comments.&lt;/p&gt;

&lt;h3&gt;7. Advance Solution: Dance with it&lt;/h3&gt;

&lt;p&gt;This is similar to dealing with any other emotions like fear. Every top-selling author when sits down to write another book he fears that he will fail. Every serial successful entrepreneur when starting a new business fears that his business will fail.&lt;/p&gt;

&lt;p&gt;What do they do? They know there will be fear so they just learn to live with it. There is a great book and the title describe this whole idea&lt;a href="https://www.amazon.com/Feel-Fear-Do-Anyway/dp/0345487427" rel="noopener noreferrer"&gt; “Feel the Fear and Do it Anyway” by Susan&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Just know that there will be a feeling of incompetence or fraud and move on and do your work.&lt;/p&gt;

&lt;h2&gt;Opposite of Impostor Syndrome&lt;/h2&gt;

&lt;p&gt;Before leaving, let me tell you what is &lt;b&gt;not &lt;/b&gt;impostor syndrome. Consider a spectrum. If one end is happiness the other is sadness. Similarly, if one end of the spectrum is impostor syndrome then at the other end is Dunning-Kruggar syndrome. It means, a fake feeling of competence. People who overestimate their capabilities.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FComputer_generated_color_spectrum-300x50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/http%3A%2F%2Fwww.linesperday.com%2Fwp-content%2Fuploads%2F2019%2F08%2FComputer_generated_color_spectrum-300x50.png" alt="Impostor Syndrome Opposite"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You may have met such people but I bet that you definitely have met a genius jerk. If you add attitude to this end of the spectrum then you will get a jerk genius.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ATTITUDE + DUNNING KRUGAR = Jerk Genious.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is someone who thinks the current organization is dependent on him. They ridicule every other developer. They are always angry, looking for other mistakes, reject other’s advice and always tell their stories of heroism. Research indicates that they are making &lt;a href="https://www.td.org/insights/dont-tolerate-brilliant-jerks" rel="noopener noreferrer"&gt;harm to the organization even if they are brilliant.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Resources&lt;/h2&gt;

&lt;p&gt;Here are some of the great resources that I found during research of impostor-syndrome. These are amazing for anyone who is looking for more.&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://psychcentral.com/lib/15-common-cognitive-distortions/" rel="noopener noreferrer"&gt;https://psychcentral.com/lib/15-common-cognitive-distortions/&lt;/a&gt;&lt;/span&gt;  About labeling&lt;/p&gt;
    &lt;/li&gt;   &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://positivepsychology.com/cognitive-distortions/" rel="noopener noreferrer"&gt;https://positivepsychology.com/cognitive-distortions/&lt;/a&gt;&lt;/span&gt; Labeling and dealing with it&lt;/p&gt;
    &lt;/li&gt;   &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://www.quora.com/What-is-the-imposter-syndrome-and-why-does-it-occur" rel="noopener noreferrer"&gt;https://www.quora.com/What-is-the-imposter-syndrome-and-why-does-it-occur&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;   &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://www.hanselman.com/blog/TheMythOfTheRockstarProgrammer.aspx" rel="noopener noreferrer"&gt;https://www.hanselman.com/blog/TheMythOfTheRockstarProgrammer.aspx&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;   &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://davidwalsh.name/impostor-syndrome" rel="noopener noreferrer"&gt;https://davidwalsh.name/impostor-syndrome&lt;/a&gt;&lt;/span&gt; A great post on impostor syndrome&lt;/p&gt;
    &lt;/li&gt;   &lt;li&gt;    &lt;p&gt;&lt;span id="docs-internal-guid-ce92e487-7fff-4b57-6168-3d869f3631ef"&gt;&lt;a href="https://davidwalsh.name/conquering-impostor-syndrome" rel="noopener noreferrer"&gt;https://davidwalsh.name/conquering-impostor-syndrome&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;li&gt;    &lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Impostor_syndrome" rel="noopener noreferrer"&gt;Impostor Syndrome Wiki Page&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Tired of Programming?</title>
      <dc:creator>Umair</dc:creator>
      <pubDate>Wed, 15 May 2019 16:51:56 +0000</pubDate>
      <link>https://forem.com/engrumair/tired-of-programming-4k85</link>
      <guid>https://forem.com/engrumair/tired-of-programming-4k85</guid>
      <description>&lt;p&gt;A few weeks ago I was called up to do a data acquisition (DAQ) job. The moment my boss tell me about the job I was feeling bad inside. I thought &lt;strong&gt;&lt;em&gt;another&lt;/em&gt;&lt;/strong&gt; data acquisition job. As soon as I get out of the meeting I was dragging myself to desk thinking I have to do the same boring task that I am doing for years.&lt;/p&gt;

&lt;p&gt;I am good at these types of tasks. I have vast experience and can do without any hassles. But still, I hate it.&lt;/p&gt;

&lt;p&gt;Sound awkward?… Something you are good at and you hate it!... But Why?&lt;/p&gt;

&lt;p&gt;I hate it because I am done with it. Doing a monotonous job is boring as hell.&lt;/p&gt;

&lt;p&gt;There were days when I feel challenged when doing DAQ jobs. I solved many problems and posted &lt;a href="https://www.codeproject.com/Articles/685749/Data-Acquisition-Library"&gt;articles &lt;/a&gt;about them.&lt;/p&gt;

&lt;p&gt;We are programmers. We like creativity and we hate &lt;em&gt;routine&lt;/em&gt;. Doing a similar type of job in a routine is boring for us.&lt;/p&gt;

&lt;p&gt;One of my friends is working on android apps development in another organization. Whenever we meet I like to talk about android development because I love android development and have developed/published apps as my side projects.&lt;/p&gt;

&lt;p&gt;Guess what my friend said about apps development? He does not like it.&lt;/p&gt;

&lt;p&gt;For him, there is no more challenge in app development. App development has become a routine for him. He is more interested in the kind of work that I do.&lt;/p&gt;

&lt;p&gt;Also, from research, I found that sticking to one technology domain will make you a dinosaur. If you do not learn new things you will perish.&lt;/p&gt;

&lt;p&gt;You might be thinking that 'Hmmm... what happens to the phrase: “Jack of all trades and master of none”. How will you achieve skills and ability if you do not stick to one technology?&lt;/p&gt;

&lt;p&gt;There are two approaches. I will discuss them briefly.&lt;br&gt;
&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;1) Be the Ultimate Master in One Thing&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;Be so good in your field that nobody matches you. It's like the number one player in sports. Or the number one surgeon of ‘XYZ’ body part.&lt;/p&gt;

&lt;p&gt;If you are the best you will always be called upon. This is the approach that we are most familiar with.&lt;br&gt;
&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;h3&gt;&lt;strong&gt;2) The idea sex--Be good enough in two or more fields&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;&lt;/b&gt;The second approach is to be good enough in two fields and combine them. This is a new idea and popularized by the &lt;a href="https://www.youtube.com/watch?v=OLHh9E5ilZ4"&gt;Matt Ridley in his Ted Talk&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It says that combine the experience of two fields and get something useful. Or if you know about more than one technology you are more useful because now you have the toolset to solve more problems.&lt;/p&gt;

&lt;p&gt;For creative people like us, the second approach is more helpful. I found a piece of advice that is very helpful for software developers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Focusing on one technology is better for getting a job. Learning multiple technologies is better for building a career. Decide which of the two is what you want, and go from there."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But in the technology world, new technologies emerging and disappearing day by day. How would you select, learn and apply a new technology? That I will discuss in the next email.&lt;/p&gt;

&lt;p&gt;Finally, have you ever feel like me? Getting tired of the monotonous programming job. If yes tell me your stories in the comments or at my &lt;a href="www.linesperday.com?utm_source=dev"&gt;blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>oop</category>
      <category>beginners</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
