{"id":1730,"date":"2017-11-25T11:23:42","date_gmt":"2017-11-25T18:23:42","guid":{"rendered":"http:\/\/10kdev.net\/?p=1730"},"modified":"2017-11-25T11:25:29","modified_gmt":"2017-11-25T18:25:29","slug":"hard-work","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=1730","title":{"rendered":"Hard Work"},"content":{"rendered":"<p><strong>&#8221;The secret of success is making your vocation your vacation.&#8221; &#8211; Mark Twain.<\/strong><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"https:\/\/pbs.twimg.com\/media\/DPdk_LVX4AA51EC.jpg\" width=\"336\" height=\"472\" \/>I was reading through some Code Newbie tweets and was quite impressed with the enthusiasm of potential developers who had little, if any, work experience.\u00a0 Well I&#8217;ve got some news for them. Know that stress you are having at finding your first job, doing your first job, doing any job?<\/p>\n<p><!--more--><\/p>\n<p>It never stops.<\/p>\n<p>Anyone who translates Mr. Clemen&#8217;s quote into believing a coding job is a gamified series of high technical successes will learn quick enough.\u00a0 &#8220;Doing code is like legos.&#8221;\u00a0 It is not.\u00a0 This isn&#8217;t a cynical burned out point of view, it&#8217;s a 25+ years coding career point of view and how to keep at it.<\/p>\n<p><em><strong>Hard Work and Cliff Edges<\/strong><\/em><\/p>\n<p>Coding is HARD WORK.\u00a0 It&#8217;s not a series of small TED talk success sound bytes.\u00a0 Most coding isn&#8217;t from-scratch coding it&#8217;s fitting solutions into an existing framework whose original authors are long gone.\u00a0 It&#8217;s the unglamorous and tedious act of writing tests and routine boilerplate pieces and figuring out tech solutions from little or no documentation. Jeff Atwood calls it &#8220;<a href=\"https:\/\/blog.codinghorror.com\/the-noble-art-of-maintenance-programming\/\">Maintenance Programming<\/a>.&#8221;<\/p>\n<p>The Cliff Edges can happen when you are given tasks to complete that are in near impossible time frames and with near impossible tools and almost no training.\u00a0 Long hard hours to accomplish.<\/p>\n<p>I see a lot of coders taking on these tasks with time that over-does what the estimates are in JIRA because coders do not want to fail.\u00a0 You have to be comfortable with stress, no accolades (or short lived) and possible failure.\u00a0 You have to be used to being dependent on third party inadequacies, non-truths and just-good-enoughs.\u00a0 And Hard Work.\u00a0 It&#8217;s not fun all the time, though rewarding.<\/p>\n<p><em><strong>Think you&#8217;ll be working on projects you love all your life?<\/strong><\/em><\/p>\n<p>You won&#8217;t be.<\/p>\n<p>I have never seen the numbers, but I bet 98% of people working on code bases couldn&#8217;t give a hoot about the product at the end, not unlike ex-McDonald&#8217;s employees who can never eat there again.\u00a0 If you do make a project you are on become the love of your life be prepared for long hours and little social life, and introducing your own bias and emotion into the project which could be detrimental for its success.\u00a0 And disappointment.\u00a0 Because there will be compromise.<\/p>\n<p>The world needs low profile solutions.\u00a0 These are not fun time, just work.\u00a0 Take them.<\/p>\n<p><em><strong>The Myth of the Life Fulfilling Career &#8211; One Career to Rule Them All<\/strong><\/em><\/p>\n<p>Sigh.\u00a0 How many times have I ran into developers who thing their job-life-relationships-religion-dog shopping will all tie together.\u00a0 Good luck with that.\u00a0 As messy as your life is, so is your coding career.\u00a0 Just wait until IntelliJ upgrades, or, you have to take a new job that uses Eclipse.<\/p>\n<p>Places like Google have free meals and let you bring your pet.\u00a0 Think that is to be cool, or to keep you lashed to the oar?<\/p>\n<p>And if you think you&#8217;ll be CODING the entire time, just go through the Agile process.\u00a0 There will be meetings, lots of them. You&#8217;ll be begging for time alone with the code. And in most modern processes tech people are cogs who are not even brought to the solution inception table &#8211; I have worked at places that literally think BA&#8217;s should to *all* the tech reqs. When you get one of those think about how &#8220;fun&#8221; coding is.\u00a0 Most pieces are just that, pieces; you&#8217;ll code a tiny piece through a jeweler&#8217;s glass and never hear about it again unless you completely bosh it.\u00a0 No string theory of features in your career.<\/p>\n<p>If you are made to do pair programming by non-coders, wait until they think 2 coders = twice the code (same story points) or when you get paired up with someone who doesn&#8217;t necessarily love you as much as you&#8217;d hoped.<\/p>\n<p>The fact is that working on a project you love, believe in, and get some creative control over in our contribution is a rare thing.\u00a0 But is that such a bad thing?<\/p>\n<p><em><strong>You made me . . . Political, Political<\/strong><\/em><\/p>\n<p>HUMAN NATURE cannot be overcome.<\/p>\n<p>Agile teams are told to go to &#8220;ceremonies&#8221; and make &#8220;commitments&#8221; (read: at all costs = your nights and weekends === burnout).\u00a0 \u00a0Then, people are evaluated as individuals.\u00a0 And, those in charge are evaluated on less objective means.\u00a0 No lines of code, no counts of bugs etc.\u00a0 You will be to blame, and will not get the praise (in most cases).<\/p>\n<p>Certain people will hog stories they want.\u00a0 This is OK with me as career longevity comes in doing the most unsavory, hard, unliked, low profile stories.\u00a0 But by no means does this make for an oh-gee-willikers-funtime at the compiler.\u00a0 HIgh profile means stress.\u00a0 Low profile is necessity.\u00a0 Start your own project outside of the biz and do it and make it high profile; easy enough to do!<\/p>\n<p>Agile training says &#8220;Courage&#8221; is an &#8220;agile value.&#8221;\u00a0 Yet you&#8217;ll have to deal with political people, lies, and if you are a loud mouth minion possibly getting culled.\u00a0 So be prepared to compromise.<\/p>\n<p>And name a place where the complaints are only about the code.\u00a0 They aren&#8217;t.\u00a0 Usually the shortcomings are about process, procedure, and personalities flat out.<\/p>\n<p><strong>The Solution: Hard Work, Sacrifice, Moderation, Restraint, Persistence and Perspective<\/strong><\/p>\n<p>Sounds fun so far doesn&#8217;t it?<\/p>\n<p>If you are doing this you will be putting in some hard work and long hours.\u00a0 You will sacrifice some of your family\/me time for escaping your burnout source.<\/p>\n<p>The best thing to do is to keep it in moderation, plug away, don&#8217;t take it all too seriously.\u00a0 Don&#8217;t try to be perfect; time-boxed, most solutions are good enough.\u00a0 And with ever changing reqs your solution may be garbage in two months anyway because you have so make sure to write at support.\u00a0 The empirical thing to do is to write your code as if the future will break it.<\/p>\n<p>Persistence.\u00a0 The onus is on you to keep your own training up.\u00a0 The biz job is *their* interest and may not jive with your own.\u00a0 Keep plugging away at solutions like a math problem and don&#8217;t blame others (though, politically you will have to try to avoid blame and be up front about it if you do cause a problem).\u00a0 Get an iron gut.<\/p>\n<p>After all that, working on your piece can be rewarding as you can try to push the limits in that little bit.<\/p>\n<p>In sum there is a lot out of your control.\u00a0 Accept that.\u00a0 Write good code in your portion. And don&#8217;t sweat it.\u00a0 Start your own off hours love. Work is rewarding and fulfilling but it is just that: work.<\/p>\n<p>It&#8217;s just code, not art.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"https:\/\/images.duckduckgo.com\/iu\/?u=http%3A%2F%2Fwww.decodog.com%2Finven%2Fdogs1%2Fdg30064.jpg&amp;f=1\" alt=\"Deco Dog's Ephemera - GREAT DANE\" width=\"460\" height=\"312\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8221;The secret of success is making your vocation your vacation.&#8221; &#8211; Mark Twain. I was reading through some Code Newbie tweets and was quite impressed with the enthusiasm of potential developers who had little, if any, work experience.\u00a0 Well I&#8217;ve got some news for them. Know that stress you are having at finding your first [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1730"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1730"}],"version-history":[{"count":4,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1730\/revisions"}],"predecessor-version":[{"id":1734,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1730\/revisions\/1734"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1730"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}