{"id":9133,"date":"2022-03-08T21:33:00","date_gmt":"2022-03-08T20:33:00","guid":{"rendered":"https:\/\/monodes.com\/predaelli\/?p=9133"},"modified":"2022-03-08T16:50:45","modified_gmt":"2022-03-08T15:50:45","slug":"programmers-with-these-3-capabilities-will-be-in-the-highest-demand-by-pen-magnet-mar-2022-level-up-coding","status":"publish","type":"post","link":"https:\/\/monodes.com\/predaelli\/2022\/03\/08\/programmers-with-these-3-capabilities-will-be-in-the-highest-demand-by-pen-magnet-mar-2022-level-up-coding\/","title":{"rendered":"Programmers With These 3 Capabilities Will Be In the Highest Demand | by Pen Magnet | Mar, 2022 | Level Up Coding"},"content":{"rendered":"<blockquote><p>Want to win against AI? Go back to being human.<\/p><\/blockquote>\n<p>Source: <em><a href=\"https:\/\/levelup.gitconnected.com\/programmers-with-these-3-capabilities-will-be-in-the-highest-demand-304d7500fd70\">Programmers With These 3 Capabilities Will Be In the Highest Demand | by Pen Magnet | Mar, 2022 | Level Up Coding<\/a><\/em><\/p>\n<p><!--more--><!--nextpage--><\/p>\n<blockquote>\n<h1 id=\"8531\" class=\"pw-post-title du dv dw dx b dy dz ea eb ec ed ee ef eg eh ei ej ek el em en eo ep eq er es et\" data-selectable-paragraph=\"\">Programmers With These 3 Capabilities Will Be In the Highest Demand<\/h1>\n<div class=\"eu\">\n<div class=\"n ev ew ex ey\">\n<div class=\"o n\">\n<div>\n<div class=\"ez fa fb\">\n<div class=\"fc n fd o p t fe ff fg fh fi dn\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div>\n<div class=\"ez fa fb\">\n<div class=\"s ez\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"s dd fk fb fa\" src=\"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2022\/03\/2JFHlY0g6WE_sWWL01_1Mlw.png?resize=48%2C48&#038;ssl=1\" alt=\"Pen Magnet\" width=\"48\" height=\"48\"\/><\/p>\n<div class=\"fj fk s fb fa t u\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"fl aj s\">\n<div class=\"n\">\n<div>\n<div class=\"fn n o fo\"><span class=\"ce b fm cg bk fp fq fr fs ft fu fv et\"><a class=\"ck cl at au av aw ax ay az ba fw bd fx fy\" href=\"https:\/\/tipsnguts.medium.com\/?source=post_page-----304d7500fd70-----------------------------------\" rel=\"noopener follow\">Pen Magnet<\/a><\/span><\/p>\n<div class=\"fl n\"><a class=\"ce b cf cg fz ga gb gc gd ge gf ba gg gh gi gj gk gl gm dd gn go\" href=\"https:\/\/medium.com\/m\/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2F739ee1624074%2F304d7500fd70&amp;operation=register&amp;redirect=https%3A%2F%2Flevelup.gitconnected.com%2Fprogrammers-with-these-3-capabilities-will-be-in-the-highest-demand-304d7500fd70&amp;user=Pen+Magnet&amp;userId=739ee1624074&amp;source=post_page-739ee1624074----304d7500fd70---------------------follow_byline--------------\" rel=\"noopener follow\">Follow<\/a><\/p>\n<div class=\"gp s\">\n<div>\n<div>\n<div class=\"gn\" role=\"tooltip\" aria-hidden=\"false\" aria-describedby=\"230\" aria-labelledby=\"230\">\n<div class=\"s\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"s ap\">\n<div><a class=\"ck cl at au av aw ax ay az ba fw bd fx fy\" href=\"https:\/\/levelup.gitconnected.com\/programmers-with-these-3-capabilities-will-be-in-the-highest-demand-304d7500fd70?source=post_page-----304d7500fd70-----------------------------------\" rel=\"noopener  ugc nofollow\">Mar 1<\/a> \u00b7 7 min read<\/div>\n<\/div>\n<div class=\"n o\">\n<div class=\"hn s ap\">\n<div>\n<div class=\"gn\" role=\"tooltip\" aria-hidden=\"false\" aria-describedby=\"2\" aria-labelledby=\"2\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hn s ap\">\n<div>\n<div class=\"gn\" role=\"tooltip\" aria-hidden=\"false\" aria-describedby=\"3\" aria-labelledby=\"3\"><\/div>\n<\/div>\n<\/div>\n<div class=\"hn s ap\">\n<div>\n<div class=\"gn\" role=\"tooltip\" aria-hidden=\"false\" aria-describedby=\"4\" aria-labelledby=\"4\"><\/div>\n<\/div>\n<\/div>\n<div class=\"s ap\">\n<div>\n<div class=\"gn\" role=\"tooltip\" aria-hidden=\"false\" aria-describedby=\"5\" aria-labelledby=\"5\"><\/div>\n<\/div>\n<\/div>\n<div class=\"hq s\"><\/div>\n<figure class=\"ew ht hu hv hw hx da db paragraph-image\">\n<div class=\"hy hz ez ia aj ib\" tabindex=\"0\" role=\"button\">\n<div class=\"da db hs\"><img loading=\"lazy\" decoding=\"async\" class=\"aj ic id\" role=\"presentation\" src=\"https:\/\/miro.medium.com\/max\/1400\/0*dEeov9kyFyfFIm1e\" alt=\"\" width=\"700\" height=\"1050\"\/><\/div>\n<\/div><figcaption class=\"ie if dc da db ig ih ce b fm cg he\" data-selectable-paragraph=\"\">Photo by <a class=\"ck ii\" href=\"https:\/\/unsplash.com\/@mihaisurdu?utm_source=medium&amp;utm_medium=referral\" target=\"_blank\" rel=\"noopener ugc nofollow\">Mihai Surdu<\/a> on <a class=\"ck ii\" href=\"https:\/\/unsplash.com?utm_source=medium&amp;utm_medium=referral\" target=\"_blank\" rel=\"noopener ugc nofollow\">Unsplash<\/a><\/figcaption><\/figure>\n<p id=\"055d\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">In the last decade, interview techniques are heavily redefined.<\/p>\n<p id=\"9649\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Previously, they revolved around boilerplate questions (often googled just before the interview). Since products and services turned into short-term projects, companies began to shift their selection space and redefined the interviews.<\/p>\n<blockquote class=\"jh\">\n<p id=\"7d80\" class=\"ji jj dw dx b jk jl jm jn jo jp jg he\" data-selectable-paragraph=\"\">No one is talking about attrition rates, layoffs, and performance-based terminations<\/p>\n<\/blockquote>\n<p id=\"e378\" class=\"pw-post-body-paragraph ij ik dw il b im jq io ip iq jr is it iu js iw ix iy jt ja jb jc ju je jf jg do et\" data-selectable-paragraph=\"\">But how much have they succeeded is difficult to tell. While redefined interviews are already here, no one is talking about attrition rates, layoffs, and performance-based terminations. If the hiring strategies worked, how many of the hired developers ended up staying? How many of them ended up making a difference in the company?<\/p>\n<p id=\"be00\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">And most importantly, how much of that difference was meaningful?<\/p>\n<p id=\"9480\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">If the companies really want to embrace these challenges, they would try to correct things for the better. Here are the qualities they would seek in the future programmers:<\/p>\n<h1 id=\"7edd\" class=\"jv jw dw ce jx jy jz io ka kb kc is kd ke kf kg kh ki kj kk kl km kn ko kp kq et\" data-selectable-paragraph=\"\">#1: Write Specs:<\/h1>\n<p id=\"e772\" class=\"pw-post-body-paragraph ij ik dw il b im kr io ip iq ks is it iu kt iw ix iy ku ja jb jc kv je jf jg do et\" data-selectable-paragraph=\"\">Specifications in the time of the waterfall were quite verbose. Most of the whitespaces contained little useful information, including author, revision number, and revision date.<\/p>\n<p id=\"aeb1\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Many programmers literally despised the specs.<\/p>\n<p id=\"f2c5\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Agile dethroned documentation, just as the renaissance overthrew workable parts of the religion and replaced them with business-centric science.<\/p>\n<p id=\"6d53\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">The power to document went into the hands of Product Owners. A part of that power was delegated to UX designers. Coders became like functions they wrote: Accepting inputs from them and outputting the product that looked like those outputs <em class=\"kw\">under the most ideal conditions<\/em>.<\/p>\n<p id=\"6574\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">By the time bugs caught up with them, those coders claimed credit for fixing yet more tickets. Or, they were already replaced.<\/p>\n<blockquote class=\"jh\">\n<p id=\"da00\" class=\"ji jj dw dx b jk jl jm jn jo jp jg he\" data-selectable-paragraph=\"\">If you write a good readme during a coding assignment, chances of your interviewer choosing you over your opponent will surely inflate.<\/p>\n<\/blockquote>\n<p id=\"4577\" class=\"pw-post-body-paragraph ij ik dw il b im jq io ip iq jr is it iu js iw ix iy jt ja jb jc ju je jf jg do et\" data-selectable-paragraph=\"\">If writing specs (non-conforming to any standards) would be mandatory, they would have owned up the product feature from Day 1. First, they would put themselves in the shoes of the user, to understand his problem. Then, they would impersonate the founder, to solve that problem.<\/p>\n<p id=\"80b3\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Writing specs not only involves specifications but also writing Readmes and release notes that can be easily understood by laymen customers. If you write a good readme during a coding assignment, chances of your interviewer choosing you over your opponent will surely inflate.<\/p>\n<p id=\"0b56\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">If someone is thinking about <em class=\"kw\">coders can\u2019t write <\/em>problem: Programming after all is a skill to express. That language is human-understandable. We are way beyond days of assembly. If it is a challenge, we must be able to embrace it. If we don\u2019t, all software that we create (with its size reaching petabytes per day) will be unowned and will turn into a megalith with a grotesque structure.<\/p>\n<h1 id=\"2a62\" class=\"jv jw dw ce jx jy jz io ka kb kc is kd ke kf kg kh ki kj kk kl km kn ko kp kq et\" data-selectable-paragraph=\"\">#2: Express:<\/h1>\n<blockquote class=\"kx ky kz\">\n<p id=\"f326\" class=\"ij ik kw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">A program is written once but read multiple times.<\/p>\n<p id=\"2c5b\" class=\"ij ik kw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">\u2014 Uncle Bob<\/p>\n<\/blockquote>\n<p id=\"960a\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Writing is a form of expression. But how well is your program expressive? How well does it express its purpose? How will it benefit its future maintainers?<\/p>\n<p id=\"2e22\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">This is not just about sensible variable and function naming. Your program is a story, and as a programmer, you are the one who narrates it to the world.<\/p>\n<h2 id=\"ec1b\" class=\"la jw dw ce jx lb lc ld ka le lf lg kd lh li lj kh lk ll lm kl ln lo lp kp lq et\" data-selectable-paragraph=\"\"><strong class=\"ax\">Are your classes cohesive enough?<\/strong><\/h2>\n<p id=\"5c7e\" class=\"pw-post-body-paragraph ij ik dw il b im kr io ip iq ks is it iu kt iw ix iy ku ja jb jc kv je jf jg do et\" data-selectable-paragraph=\"\">That will tell how do you bind related items under a common purpose of a class. For example, in a travel booking app, consider the following class:<\/p>\n<pre class=\"lr ls lt lu lv lw gx bt\"><span id=\"d4eb\" class=\"et la jw dw lx b ly lz ma s mb\" data-selectable-paragraph=\"\">class Booking {\n   startDate: Date\n   endDate: Date\n   property: Hotel\n   status: BookingStatus\n   cancellationReason: String\n}<\/span><\/pre>\n<p id=\"e423\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">The variable <em class=\"kw\">cancellationReason<\/em> is tied with just one possible state of the booking (<em class=\"kw\">canceled<\/em>) \u2014 why should it be part of the <strong class=\"il mc\">Booking<\/strong> class? It should belong to some other entity (Maybe <strong class=\"il mc\">BookingStatusChange<\/strong> class, which holds old + new <strong class=\"il mc\">BookingStatus<\/strong> objects, along with a timestamp, and a reason field that is generic enough to hold cancellation.)<\/p>\n<h2 id=\"4f33\" class=\"la jw dw ce jx lb lc ld ka le lf lg kd lh li lj kh lk ll lm kl ln lo lp kp lq et\" data-selectable-paragraph=\"\"><strong class=\"ax\">Are your functions designed to operate on the same abstraction level?<\/strong><\/h2>\n<p id=\"6316\" class=\"pw-post-body-paragraph ij ik dw il b im kr io ip iq ks is it iu kt iw ix iy ku ja jb jc kv je jf jg do et\" data-selectable-paragraph=\"\">This is a pretty high-level concept, but executed at a lower level. You need to be careful about it as you write every single line of code.<\/p>\n<p id=\"5f21\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">During a significant part of my career, I have copied code from StackOverflow. However, I must confess that when you do it, this is one thing you cannot do effectively. You need to practice it until you know.<\/p>\n<p id=\"cbea\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Why? Because it requires one to classify every code statement and put it where it belongs.<\/p>\n<p id=\"3e4e\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Consider the following (syntactically incorrect) code:<\/p>\n<pre class=\"lr ls lt lu lv lw gx bt\"><span id=\"51d1\" class=\"et la jw dw lx b ly lz ma s mb\" data-selectable-paragraph=\"\">function sampleFunction(fileName: String) {\n    const fs = readFile(fileName)<\/span><span id=\"22d2\" class=\"et la jw dw lx b ly md me mf mg mh ma s mb\" data-selectable-paragraph=\"\">    if !validateFile(fs) {\n       return []\n    }<\/span><span id=\"f224\" class=\"et la jw dw lx b ly md me mf mg mh ma s mb\" data-selectable-paragraph=\"\">    var byteArray = []<\/span><span id=\"e83e\" class=\"et la jw dw lx b ly md me mf mg mh ma s mb\" data-selectable-paragraph=\"\">    while (fs.bytes()) {\n       \/\/ Do byte operation 1\n       \/\/ Do byte operation 2\n       \/\/ Do byte operation 3\n    }\n    return byteArray\n}<\/span><\/pre>\n<p id=\"98ab\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">This type of code is insanely widespread \u2014 it is even found in big tech quite frequently. One thing that it lacks is the same level of abstraction. The statements within the while loop deal with bytes, while the two statements before it deal with a file.<\/p>\n<p id=\"cce1\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Why can\u2019t there be a separate function<strong class=\"il mc\"> parseFileBytes()<\/strong> that deals with the low-level byte madness of the while loop? Optionally, filehandle fs could also be passed to this function. That way, the entire function comes on the same abstraction level: It deals with filehandles only. The <strong class=\"il mc\">parseFileBytes()<\/strong>, on the other hand, deals with byte-level details.<\/p>\n<p id=\"b99a\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\"><strong class=\"il mc\">Bonus<\/strong>: Both functions are separately testable.<\/p>\n<pre class=\"lr ls lt lu lv lw gx bt\"><span id=\"2040\" class=\"et la jw dw lx b ly lz ma s mb\" data-selectable-paragraph=\"\">function sampleFunction(fs: FileHandle) {\n   if !validateFile(fs) {\n      return []\n   }\n   return parseFileBytes(fs.bytes())\n}<\/span><span id=\"d78d\" class=\"et la jw dw lx b ly md me mf mg mh ma s mb\" data-selectable-paragraph=\"\">function parseFileBytes<strong class=\"lx mc\">(<\/strong>bytes: [Byte]<strong class=\"lx mc\">) <\/strong>{<strong class=\"lx mc\">\n<\/strong>    while (bytes) {\n       \/\/ Do byte operation 1\n       \/\/ Do byte operation 2\n       \/\/ Do byte operation 3\n    }\n    return byteArray\n}<\/span><\/pre>\n<p id=\"1404\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Some programmers may argue that involving a separate function call may result in a performance hit (depending upon the language). Some may also feel it is trivial.<\/p>\n<blockquote class=\"jh\">\n<p id=\"6598\" class=\"ji jj dw dx b jk jl jm jn jo jp jg he\" data-selectable-paragraph=\"\"><mark class=\"vf vg no\">A minute spent in refactoring saves hundreds of hours in debugging.<\/mark><\/p>\n<\/blockquote>\n<p id=\"3c09\" class=\"pw-post-body-paragraph ij ik dw il b im jq io ip iq jr is it iu js iw ix iy jt ja jb jc ju je jf jg do et\" data-selectable-paragraph=\"\">But if you consider the efforts of the debugger programmer, you will be able to justify the principle I just explained: <a class=\"ck ii\" href=\"http:\/\/principles-wiki.net\/principles:single_level_of_abstraction\" target=\"_blank\" rel=\"noopener ugc nofollow\">Single Level of Abstraction<\/a>. When the maintainer sees this function only deals with the file (instead of file + bytes), he\/she can quickly decide to include\/skip it during the debugging.<\/p>\n<p id=\"2a0f\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">A minute of careful refactoring by an expressive programmer saves hundreds of hours in debugging.<\/p>\n<h1 id=\"36b5\" class=\"jv jw dw ce jx jy jz io ka kb kc is kd ke kf kg kh ki kj kk kl km kn ko kp kq et\" data-selectable-paragraph=\"\">#3: Zoom In:<\/h1>\n<p id=\"3883\" class=\"pw-post-body-paragraph ij ik dw il b im kr io ip iq ks is it iu kt iw ix iy ku ja jb jc kv je jf jg do et\" data-selectable-paragraph=\"\">During my early career hobby project, I had a junior colleague with whom I was designing a library booking website. The signup form had 6 fields. He had put validation on most of them. Some of them acted upon combinations of the fields. The total number of validations was 14!<\/p>\n<p id=\"8773\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">I asked him to reconsider some of them. I argued that it was pretty bad UX. To that, he said: \u201cSoon after we go live, they (1000 students) are going to register at once, on day 1 of the college term. If they put bad data, we will have to correct it from the back end. As for bad UX, everyone is going to need it. Who cares?\u201d<\/p>\n<p id=\"524f\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">\u201cBut you can spend some time on figuring out the real number of validations, refactor and deliver a better quality product.\u201d I decided to go by the book.<\/p>\n<p id=\"7935\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">To that, he said, \u201cI would need to ask the librarian. His answers will take time. If we can\u2019t deliver before the term start, it will be useless. In no time, he (the librarian) would be filling paper forms, and blaming us in front of the entire college staff.\u201d<\/p>\n<p id=\"85a6\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">He had a point. While I never agreed with his half-cooked, validation-ridden UI, it forced me to think about how the website was going to be used in a live production environment.<\/p>\n<p id=\"be21\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">It made me think about the average load and the spike statistics. It helped me think about the post-release data-migration possibilities. It helped me eliminate many nonsensical things and only focus on what was absolutely necessary.<\/p>\n<p id=\"7688\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Zooming in is a skill that is highly overlooked because it is rarely taught even in college, let alone online tutorials. In interviews, this trait comes under the <strong class=\"il mc\">Ownership<\/strong> company value (thinking long-term impact vs short-term utility). I have discussed it at length as part of <a class=\"ck ii\" href=\"https:\/\/tipsnguts.gumroad.com\/l\/crrzat\/zp1vks8\" target=\"_blank\" rel=\"noopener ugc nofollow\">my Senior Developer Interview eBook<\/a> (50% off for the first 100 buyers)<\/p>\n<blockquote class=\"jh\">\n<p id=\"c9d2\" class=\"ji jj dw dx b jk jl jm jn jo jp jg he\" data-selectable-paragraph=\"\">Visionaries such as Steve Jobs are popular only because of Zooming in.<\/p>\n<\/blockquote>\n<p id=\"5ef5\" class=\"pw-post-body-paragraph ij ik dw il b im jq io ip iq jr is it iu js iw ix iy jt ja jb jc ju je jf jg do et\" data-selectable-paragraph=\"\">Your Zooming in capabilities is where interviewers try to see through the <strong class=\"il mc\">real You <\/strong>(as against <strong class=\"il mc\">your CV<\/strong> which was already in their mailboxes). It is this thing that sets you apart from other candidates. Without this, there is no talking about whether you worked on thing X for Y years.<\/p>\n<p id=\"52ee\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Visionaries such as Steve Jobs are popular only because of this skill, but they earned it from outside the tech domain. It comes not by coding a thousand programs or solving the maximum number of LeetCode challenges. It comes with critical thinking skills.<\/p>\n<p id=\"1821\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">Those skills are not really skills, but continuous activity, and an enjoyable one for those who truly care about the product they code.<\/p>\n<p id=\"2ce3\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">That is what they mean by <em class=\"kw\">ownership<\/em> in the interviews and the yearly performance reviews.<\/p>\n<h1 id=\"8456\" class=\"jv jw dw ce jx jy jz io ka kb kc is kd ke kf kg kh ki kj kk kl km kn ko kp kq et\" data-selectable-paragraph=\"\">Conclusion:<\/h1>\n<p id=\"c787\" class=\"pw-post-body-paragraph ij ik dw il b im kr io ip iq ks is it iu kt iw ix iy ku ja jb jc kv je jf jg do et\" data-selectable-paragraph=\"\">With evolving AI, not all coders might become obsolete soon. But the level that they operate will be quite different from the one they are operating at right now.<\/p>\n<p id=\"9361\" class=\"pw-post-body-paragraph ij ik dw il b im in io ip iq ir is it iu iv iw ix iy iz ja jb jc jd je jf jg do et\" data-selectable-paragraph=\"\">These 3 capabilities will come in handy in setting apart a human coder vs a machine.<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">Want to win against AI? Go back to being human. Source: Programmers With These 3 Capabilities Will Be In the Highest Demand | by Pen Magnet | Mar, 2022 | Level Up Coding<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"https:\/\/monodes.com\/predaelli\/2022\/03\/08\/programmers-with-these-3-capabilities-will-be-in-the-highest-demand-by-pen-magnet-mar-2022-level-up-coding\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-9133","post","type-post","status-publish","format-standard","hentry","category-senza-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6daft-2nj","jetpack-related-posts":[{"id":9191,"url":"https:\/\/monodes.com\/predaelli\/2022\/03\/27\/9191\/","url_meta":{"origin":9133,"position":0},"title":"From As a Software Engineer,\u2026","author":"Paolo Redaelli","date":"2022-03-27","format":false,"excerpt":"From As a Software Engineer, Here Are 7 Books You Should Always Have at Your Desk. The subtitle says \"Ditch (or pause at least) all those courses and start reading books\". The Pragmatic ProgrammerHead First Design Pattern Code Simplicity: The Fundamentals of Software The Self-Taught Programmer: The Definitive Guide to\u2026","rel":"","context":"In &quot;Legenda&quot;","block_context":{"text":"Legenda","link":"https:\/\/monodes.com\/predaelli\/category\/legenda\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":9158,"url":"https:\/\/monodes.com\/predaelli\/2022\/03\/18\/on-laziness\/","url_meta":{"origin":9133,"position":1},"title":"On laziness","author":"Paolo Redaelli","date":"2022-03-18","format":false,"excerpt":"Larry Wall had it right when he said that laziness is one of the virtues of a good programmer. But he was talking about in the sense of using existing code and not creating the wheel over and over. Laziness can apply just to a clean programming style. I visit\u2026","rel":"","context":"In &quot;Fun&quot;","block_context":{"text":"Fun","link":"https:\/\/monodes.com\/predaelli\/category\/fun\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4852,"url":"https:\/\/monodes.com\/predaelli\/2018\/11\/04\/programmers-fonts\/","url_meta":{"origin":9133,"position":2},"title":"Programmers fonts","author":"Paolo Redaelli","date":"2018-11-04","format":false,"excerpt":"Fira code is not the only programmers font. Its web page also lists: HaskligMonoidFixedsys ExcelsiorIosevkaDejaVu Sans Code they are all free-as-in-freedom. Personally I prefer Fira","rel":"","context":"In &quot;Fonts&quot;","block_context":{"text":"Fonts","link":"https:\/\/monodes.com\/predaelli\/category\/fonts\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10548,"url":"https:\/\/monodes.com\/predaelli\/2023\/06\/18\/the-developers-code-what-real-programmers-do-by-ka-wai-cheung\/","url_meta":{"origin":9133,"position":3},"title":"The Developer&#8217;s Code: What Real Programmers Do by Ka Wai Cheung","author":"Paolo Redaelli","date":"2023-06-18","format":false,"excerpt":"Legendum est, that is \"it must be read\". That's why it's in \"legenda\" category, which literally means \"Things that must be read\". That's the power of gerundive verb inflection of Latin. Latin is such a beafutiful, precise and concise language. It's a shame it went \"out of fashion\". English is\u2026","rel":"","context":"In &quot;Legenda&quot;","block_context":{"text":"Legenda","link":"https:\/\/monodes.com\/predaelli\/category\/legenda\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":8838,"url":"https:\/\/monodes.com\/predaelli\/2021\/10\/18\/3-books-every-programmer-should-read\/","url_meta":{"origin":9133,"position":4},"title":"3 Books Every Programmer Should Read","author":"Paolo Redaelli","date":"2021-10-18","format":"link","excerpt":"3 Books Every Programmer Should Read by Aniket, in JavaScript in Plain English","rel":"","context":"In &quot;Documentations&quot;","block_context":{"text":"Documentations","link":"https:\/\/monodes.com\/predaelli\/category\/documentations\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2021\/10\/0LbZTDudWWHsDhMdA.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":763,"url":"https:\/\/monodes.com\/predaelli\/2015\/10\/31\/how-to-differentiate-between-an-average-and-a-good-programmer\/","url_meta":{"origin":9133,"position":5},"title":"How to differentiate between an Average and a Good Programmer?","author":"Paolo Redaelli","date":"2015-10-31","format":false,"excerpt":"\u00a0How to differentiate between an Average and a Good Programmer? \u00a0 Oh my! It's so true! javarevisited looks like a really good programming blog as I found gems like\u00ab10 Articles Every Programmer Must Read \u00bb among What Every Programmer Should Know about Memory What Every Computer Scientist Should Know About\u2026","rel":"","context":"In &quot;Senza categoria&quot;","block_context":{"text":"Senza categoria","link":"https:\/\/monodes.com\/predaelli\/category\/senza-categoria\/"},"img":{"alt_text":"Being a good programmer is 3% talent, 97% not being distracted by the Internet","src":"https:\/\/i0.wp.com\/monodes.com\/predaelli\/wp-content\/uploads\/sites\/4\/2015\/10\/Being%2Ba%2BProgrammer.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/9133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/comments?post=9133"}],"version-history":[{"count":0,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/posts\/9133\/revisions"}],"wp:attachment":[{"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/media?parent=9133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/categories?post=9133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monodes.com\/predaelli\/wp-json\/wp\/v2\/tags?post=9133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}