{"id":23123,"date":"2022-01-26T11:37:25","date_gmt":"2022-01-26T10:37:25","guid":{"rendered":"https:\/\/www.wbscodingschool.com\/?p=23123"},"modified":"2024-12-02T10:27:44","modified_gmt":"2024-12-02T10:27:44","slug":"times-when-a-developer-can-only-blame-him-herself","status":"publish","type":"post","link":"https:\/\/www.wbscodingschool.com\/blog\/times-when-a-developer-can-only-blame-him-herself\/","title":{"rendered":"Six Times When Developers Can Only Blame Themselves"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">There are many forces outside of a developer\u2019s control that can make their life harder, from an uncomfortable chair or an incompetent manager all the way to geomagnetic storms that can fry the electrical grid of a nation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But there are also times when something goes wrong and developers can point the finger at nobody except themselves.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is a concrete example \u2013 or more precisely, <em>six<\/em> concrete examples, imagined as possible scenarios on the job.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>These are general case studies and it is important to stress from the outset that there will always be exceptions.<\/strong> The purpose of this article is to encourage you to take responsibility for what is under your control, <em>not<\/em> to have you consistently blame yourself even in the most extreme circumstances. So if your personal experience tells you something different than this article, well, go with your personal experience!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That being said, let\u2019s get started with\u2026<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Case 1: \u201cMy teammates don\u2019t understand how useful I am\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For developers emerging from an educational environment, it\u2019s often a minor shock to find that most of their new teammates may not be proficient with technology at all. If luck isn\u2019t on your side, this may well include management, and as a result you will find yourself surrounded by people who do not understand what your work really involves.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If that is the case, <strong>it\u2019s your responsibility to make sure that others understand the way you contribute to a project and that they appreciate your value to the team<\/strong>. This is not to say that you should spend half your day bragging, but if an idea you came up with improved the performance of your company\u2019s website, or something you worked on by yourself enhanced your user experience, then the next time you sit down with your boss or at a team meeting, <em>tell<\/em> them what you did and how it made a difference. Don\u2019t just clam up and expect others to simply <em>know<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Also, do not fall for the common misconception that \u2018good work speaks for itself\u2019. That may be true if you\u2019re painting a house \u2013 it doesn\u2019t really translate to software development.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.wbscodingschool.com\/files\/AdobeStock-by-fizkes_261828721-1024x682.jpeg\" alt=\"\" class=\"wp-image-23115\"><figcaption>Adobe Stock \/ fizkes<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Case 2: \u201cDebugging my own code eats up a ton of my time\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every developer knows at least one story about some legendary, cryptic bug that was impossible to find. Many will find themselves as the protagonists of such a story at some point in their careers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">But these stories should really be the exception, and if you regularly find yourself wasting hours or even days looking for bugs that turn out to be relatively simple in code you wrote yourself, then it\u2019s high time you changed something about the way you write code in the first place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Wasting too much time on bugs is a classic sign that you are not testing your code properly, or perhaps only testing it it as a finished product, in big chunks<\/strong>. Instead, develop a habit of writing unit tests, which proof your code at much lower levels. That should drastically reduce the issues you\u2019ll encounter at a later stage. If you\u2019re wondering where to start on this, Katy A has <a href=\"https:\/\/katycodesstuff.hashnode.dev\/unit-tests-what-are-they-and-why-dont-you-write-any\" target=\"_blank\" rel=\"noopener\">an excellent introduction to unit tests<\/a>, and you can also take a look at our previous articles on <a href=\"https:\/\/www.wbscodingschool.com\/blog\/debugging-guide-how-to\/\">the art of debugging<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It goes without saying that this argument only holds for code of your own writing. If someone puts you to work on poorly-written legacy code created by somebody else, well, that\u2019s not a bed of your own making.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Case 3: \u201cThere is no way I can meet the new deadline\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s one mostly for freelancers and solo (or semi-solo) developers in start-ups.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cHow long do you need to add this feature to the project?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cSeven days.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cThat won\u2019t do. Can you do it in five?\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are ever asked that question by a client or by management, <strong>the correct answer is always <em>no<\/em>.<\/strong> They asked how long you need to get your work done, and you told them. If this is not acceptable to them, then they can either look somewhere else (as clients) or you can explain to them that a delay in the project is inevitable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Do NOT, under any circumstances, commit to completing a task in a shorter time than you know is possible. If you do that, and you find yourself up at 3 a.m. on Sunday working on your console, then you really have nobody to blame but yourself. Don\u2019t become <a href=\"https:\/\/www.wbscodingschool.com\/blog\/developer-you-dont-want-to-become\/\">the sort of developer who doesn\u2019t know how to say no<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of course, freelancers working with clients have some room to be flexible \u2013 for example, you may choose to charge a premium if you think working longer hours is worth the money. But even then, be careful what you\u2019re signing up for. No premium is ever so high that it\u2019s worth risking burnout for it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Case 4: \u201cI used somebody else\u2019s code, but now I no longer understand it\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We actually wrote a fairly extensive guide on <a href=\"https:\/\/www.wbscodingschool.com\/blog\/when-is-it-ok-to-copy-code\/\">when it is and isn\u2019t ok to copy code<\/a>, but the long and the short of it is that no matter the situation, if you are using code that was originally written by somebody else, then <strong>you have to make sure you understand it first<\/strong>. Even if it\u2019s just a short snippet which comes with a direct description of what it does, before plugging it anywhere it is imperative that you read it line by line and get a clear, first-hand understanding of its contents and its logic.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you don\u2019t, then any unexpected and undesirable effects of the code you used are totally on you, and certainly not on whoever wrote the original code. And, if you make it a habit of working this way, then be certain that those \u201ceffects\u201d will be coming sooner or later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Naturally, this scenario does not extend to using libraries \u2013 you\u2019re not expected to verify the codebase before using it. Bear in mind though, that doesn\u2019t mean that when using a library there is no due diligence to be done \u2013 how many stars does it have on GitHub and what does its issue tracker look like? Is it being used by larger companies? Is it still maintained? Google the library and see what results pop up, don\u2019t just grab anything that looks good.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.wbscodingschool.com\/files\/AdobeStock-by-PheelingsMedia_416178569-1024x682.jpeg\" alt=\"\" class=\"wp-image-23117\"><figcaption>Adobe Stock \/ PheelingsMedia<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Case 5: \u201cI can never understand code that I wrote more than a year ago\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is a very common experience, and often there\u2019s nothing problematic about it. As your coding style evolves, you may often find yourself looking back at programs you wrote in the past \u2013 particularly those you came up with as a beginner \u2013 and wonder what on earth it was that you were trying to do.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On the other hand, if you create a boilerplate project that is <em>intended<\/em> to be reused, and upon looking at it after a long time you don\u2019t understand what it is doing, then that simply means you haven\u2019t properly commented your code. It\u2019s a fairly common mistake to make, but still one that is completely avoidable with just a little bit of patience and foresight.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This isn\u2019t just something that you should be doing for yourself alone, either \u2013 others will have to maintain your code in the future, so make sure it comes with the \u2018user manual\u2019 it needs to be rapidly picked up and understood. If you don\u2019t do that, and a couple of years down the line you find yourself baffled by something you wrote yourself, well, that\u2019s karma for you.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(In fairness \u2013 we should also be commenting code that is not meant to be reused. But we should also not eat food high in cholesterol. I won\u2019t take the moral high ground\u2026)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Case 6: \u201cCoding is harming my physical health\u201d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This one comes with a few caveats, as there <em>are<\/em> some companies that do not provide adequate office chairs or standing desks, and they must be held accountable for their working environments. Also, <strong>it\u2019s important not to conflate physical health with mental health \u2013 the latter is a lot more subtle and not something that we can always take care of by ourselves<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With all that said, it is astonishing how many developers \u2013 particularly among the youngest \u2013 won\u2019t bother with even the most basic adjustments to their routines in order to take care of their bodies. Sitting all day in front of a monitor is not something that is good for you, and if you intend to do it for a career, then managing your health is your responsibility \u2013 one of your top responsibilities, at that.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Stay hydrated, take regular walks, keep a correct back posture, get yourself an ergonomic chair and a good keyboard, and most importantly, exercise. None of these things are optional, and nobody will do them for you. So start now.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">***<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And with that, we have come to the end of our overview! Can you think of any case in which you felt that you could only blame yourself, which we forgot to mention? If so, remember that it happens to all of us  \u2013 don&#8217;t beat yourself up about it!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yes, this time it\u2019s YOUR fault!<\/p>\n","protected":false},"author":17,"featured_media":23119,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[42,101],"tags":[],"class_list":["post-23123","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-coding","category-software-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/23123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/comments?post=23123"}],"version-history":[{"count":1,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/23123\/revisions"}],"predecessor-version":[{"id":60809,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/posts\/23123\/revisions\/60809"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/media\/23119"}],"wp:attachment":[{"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/media?parent=23123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/categories?post=23123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wbscodingschool.com\/de\/wp-json\/wp\/v2\/tags?post=23123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}