<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ work life balance - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ work life balance - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 27 Jun 2026 11:23:54 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/work-life-balance/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Let's Talk About Coding Outside of Work. ]]>
                </title>
                <description>
                    <![CDATA[ By John Mosesman Coding outside of work is a hot topic. On one side is the Rise and Grind™ hustle culture, and on the other is a group of people that tell you to just go enjoy your life.  Read a book. Bake some sourdough. Learn carpentry. Anything—ju... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/lets-talk-about-coding-outside-of-work/</link>
                <guid isPermaLink="false">66d45f6c264384a65d5a9556</guid>
                
                    <category>
                        <![CDATA[ coding ]]>
                    </category>
                
                    <category>
                        <![CDATA[ self-improvement  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ work life balance ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 21 Aug 2020 20:54:30 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c9917740569d1a4ca1dcd.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By John Mosesman</p>
<p>Coding outside of work is a hot topic.</p>
<p>On one side is the <em>Rise and Grind™</em> hustle culture, and on the other is a group of people that tell you to just go enjoy your life. </p>
<p>Read a book. Bake some sourdough. Learn carpentry. Anything—just not anything on a computer!</p>
<p>The truth, I think, is somewhere in the middle. Like any important topic in software development, the answer is often <em>it depends.</em></p>
<p>Let's talk about coding outside of work. The career benefits, the burnout, and the ultimate life question behind it all: <strong>what do you actually want?</strong></p>
<h2 id="heading-a-career-at-light-speed">A career at light speed</h2>
<p>I started my first development job in late 2012. I joined an existing company that seemed like it was run intelligently and had good future prospects. </p>
<p>This was before news and buzz around startup culture had permeated every corner of our lives—or at least mine.</p>
<p>I took a job doing .NET development along with some Classic ASP, VB 6, VB.NET, and C# ASP.NET.</p>
<p>Most of you reading this probably don't even know what half of those languages or frameworks are. This was before JavaScript development was front and center in the tech world—before most of the development world knew about React, Angular, or Vue.</p>
<p>At this job we used the most powerful JavaScript tool we had: <em>jQuery</em>. And for most of the apps we were building, jQuery was enough.</p>
<p>I was on was an internal applications team, and we built and maintained the internal CRM, customer support tooling, and database schemas that the sales, customer support, and product application developers relied on.</p>
<p>Looking at the job as a whole, it was a pretty good first job. The pay was decent, the people were intelligent, and I was overwhelmed with the amount of new topics and learning I had to do (which was a good thing). </p>
<p>I was on a relatively small team of five or so people, and I was learning frontend, backend, and database development at the same time—although I didn't really know what those terms were at that time.</p>
<p>There was one problem: <strong>I hated being there.</strong> This job was destroying my soul on a daily basis.</p>
<p>Part of it was the technology we used which felt archaic and dull. And part of it was the internal codebases we worked on (product design/user experience was intentionally ignored for the benefit of cramming the most information possible on the screen). </p>
<p>But the biggest factor was the company culture.</p>
<p>Still, I did have one saving grace: my time spent coding outside of work.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/Artboard-500.png" alt="Image" width="600" height="400" loading="lazy">
<em>The Ruby on Rails logo</em></p>
<h2 id="heading-enter-ruby-on-rails">Enter Ruby on Rails</h2>
<p>Around this time, by chance, I had met a new friend who was also a developer. Back then, he was the only developer friend that I knew. We started hanging out more and as a result we started to tinker on different projects.</p>
<p>Outside of work, on nights and weekends, he and I started learning this relatively new framework at the time known as <a target="_blank" href="https://rubyonrails.org/"><em>Ruby on Rails</em>.</a></p>
<p>I loved it. It was the incredible opposite of everything I hated at my job.</p>
<p>It was easy to use. The "convention over configuration" mantra that Rails was built upon made so much sense. </p>
<p>Instead of writing the same stored procedures over and over in SQL Server I could just call a one-line function in the Rails framework. Why re-invent the wheel when a lot of really smart people have already figured this stuff out for me?</p>
<p>At work I developed applications using Windows GUIs that looked like they were developed in the 90's and had never been updated. </p>
<p>After work I ran all of my Rails commands from the terminal and felt like the baddest hacker there ever was.</p>
<p>At home I could build anything I wanted. I could use this shocking new CSS framework called <em><a target="_blank" href="https://getbootstrap.com/docs/3.4/css/">Bootstrap CSS.</a></em> The world was my oyster. There were no rules—no one telling what I could or could not build or how I had to build it.</p>
<p>During this time my wife was in law school and she was studying almost constantly. While she studied late into the night, I built dumb toy applications. In the morning I would get up early to watch tutorials and practice building apps, and then I would go to my day job and endure the day of work there.</p>
<p>At home I felt the creative flow and power of creating something new. At work I felt trapped.</p>
<p>I continued this for quite a while—until one day I finally couldn't take it anymore.</p>
<h2 id="heading-onwards-and-upwards">Onwards and upwards</h2>
<p>I had finally had enough. I talked with my wife and we decided it was time to look for a new job.</p>
<p>As luck would have it, I found a company in my city hiring Ruby on Rails developers. I was still incredibly new to Rails—and I had only been doing real software development for a little over a year—but they saw enough potential in me to hire me and were willing to train me in the things I didn't know (which was a lot).</p>
<p>At this new job (which was infinitely better), I continued to build and learn and practice at home. I knew from an early age that I wanted to own my own business, and I saw software as the path to get there. So I continued to learn, practice, and build on the side.</p>
<h3 id="heading-failed-startup-3-months-funding-you-in">Failed startup. 3 Months funding. You in?</h3>
<p>A short time later opportunity struck. A startup here in the city had failed, the company had disbanded, and the lead investor was wanting to give the product one last go.</p>
<p>The same friend that I had been building on the side with was connected with the investor through a mutual friend. My friend gave me the pitch: we've got three months of funding to see if we can turn this product around—after that who knows.</p>
<p>Imagine yourself in that scenario. Would you take it?</p>
<p>This job did pay much more than I was currently making—but only three months of funding? Who would quit their nice, stable job for something that possibly only existed for three months?</p>
<p>Well, <em>I did.</em></p>
<p>There are many other lessons that I could write about that experience, but I want to focus on one thing: the application we were trying to resurrect <em>was written in Ruby on Rails.</em></p>
<p>At this time I didn't know this, but I realize now what I had been doing all along: I was paying the cost of the opportunity. All of those nights and weekends I'd been coding away were practice and preparation to take on this opportunity.</p>
<p>Today, I can word that moment more succinctly: <strong>the cost of an opportunity must be paid before it arrives.</strong></p>
<p>In this new job, I grew tremendously. At one point I leading a team of five developers, two designers, and helping the business meet the objectives set forth by our investor and CEO. It came like a whirlwind, and it consumed my life. </p>
<p>I was not only coding all the time and polishing my backend skills to a razor edge, but I was also planning, leading a team, and mentoring other developers. It was many years of experience crammed into an incredibly hectic year.</p>
<h3 id="heading-the-aftermath">The aftermath</h3>
<p>After a year, this resurrected company imploded in glorious fashion (long story classic startups <em>blah blah blah</em>) and I moved to consulting.</p>
<p>Although this particular company failed, this pattern of <em>learn, practice, opportunity</em> continued to happen throughout my life and career.</p>
<p>A short time later, I was introduced to a new framework called <a target="_blank" href="https://www.phoenixframework.org/">Phoenix</a> built on top of a language called Elixir (which itself was built on top of an old language called Erlang). </p>
<p>The same thing happened again. I learned it, practiced it, and a year later a simple consulting gig morphed into taking on the role of "Contract CTO" of a small startup company.</p>
<p>Looking back it feels a little serendipitous, but each of those little decisions linked back to one thing: coding outside of work:</p>
<ul>
<li>Took on CTO role at startup</li>
<li>Took on CTO role because I learned Phoenix outside of work</li>
<li>Heard about Phoenix from friends met at previous startup</li>
<li>Joined previous startup due to friends made before and skill with Ruby on Rails</li>
<li>Grew my skill in Ruby on Rails from job</li>
<li>Got Ruby on Rails job from building side projects in Rails</li>
<li>Picked up Rails because I hated my life (kidding but also not)</li>
</ul>
<p><em>Learn. Practice. Seize opportunity.</em></p>
<p>Coding outside of work is not a magical force. The magical part is the <strong>habit of continually learning, practicing, and building.</strong></p>
<p>This simple little practice rocketed my career years ahead—from commuting in every single day to a job I hated to working remotely with control over my time and energy—building the life I want to live.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/sctratchfreeze.png" alt="Image" width="600" height="400" loading="lazy">
<em>A classic.</em></p>
<h2 id="heading-record-scratchrewind"><em>record scratch</em>—<em>rewind</em>.</h2>
<p>At the beginning of this I said I was going to talk about the tradeoffs of working outside of work, but so far I've only talked about the amazing things that working outside of work brought me—and it has brought some really great things.</p>
<p>Well, this is the part of the movie where we rewatch the flashbacks with a different musical tone underneath. I just played you the highlight reel—but there's another side to this coin, and it's the cost of coding outside of work.</p>
<h3 id="heading-health-relationships-careerpick-any-two">Health, relationships, career—pick any two?</h3>
<p>Let's rollback to the startup company I joined that only had three months of funding. Was it an incredible growth opportunity and at times incredibly rewarding? Definitely. Was it also a sustained period of overwork, stress, wasted opportunity, and unhealthy self-soothing? Definitely as well.</p>
<p>You see, there's only a finite amount of time and energy a human can put into any activity. We only have a set amount of time per day. If too much time is allocated to a particular thing, that extra time is being stolen from another thing.</p>
<p>At my first startup when we worked insane hours day after day, night after night, and weekend after weekend—that time came from somewhere.</p>
<p>It came from time with our friends, families, finances, and from our health. We didn't sleep enough. We constantly ordered food from restaurants to sooth the stress and pressure we felt on a daily basis (food is a powerful soother, and it's often forgotten about since it's one of the more socially-acceptable vices to have). </p>
<p>No surprise here: our bodyweight went up and our health went down. Heavy meals, sugar, and caffeine fueled us.</p>
<p>Our relationships suffered as well. Time with our families was rare, and too much of the short time we had with them wasn't quality time—our minds were still at work.</p>
<p>I doubt this story is surprising to you—it's a classic tale. Person gets absorbed in work and throws away their family and their health. It's cliché, but it's true.</p>
<p>We'd think we needed to grind for <em>"just another two weeks / just until we finish this piece of the product for this upcoming event / just until this meeting with the investors/potential acquirers."</em></p>
<p>Once before an Important Demo™ we stayed at the office and worked through the entire night—including sleeping on the ground for a quick nap before the demo.</p>
<p>But that time would come and pass, and then the next milestone would show up—and the cycle continued again.</p>
<h3 id="heading-burned-out-and-for-how-long">Burned out, and for how long?</h3>
<p>While there were some incredibly fun moments along the journey, the burnout and fatigue continued to mount. <strong>That's the cost of working too much outside of work: eventual burnout.</strong> We only have so much to give before we have to recharge.</p>
<p>And that burnout takes a long time to recover from.</p>
<p>There's an old adage about relationships that it takes half the length of the relationship to move on, and that's how it felt for recovering from burnout. </p>
<p>Even to this day I feel the dullness of burnout hiding just outside of my periphery. It's always there, ready to creep back in.</p>
<h2 id="heading-the-one-important-question">The one important question</h2>
<p>Let's replay those flashbacks one last time.</p>
<p>These are the honest truths of the benefits and detriments of too much work outside of work. But the thing is, the truth is really somewhere in the middle, and I think the answer is determined by this question: <strong>what do you want from life?</strong></p>
<p>It's a terrible question—not because it's a bad question, but because of how heavy and difficult it is to answer it.</p>
<p><strong>What do you want? What do you want from your life?</strong></p>
<p>The question is not <em>should you code outside of work or not</em>—but <em>what do you want to gain from it, and what are you willing to pay for it?</em></p>
<p>There's no doubt that working outside of work has launched my career forward years at a time. There's also no doubt that it had a cost. When people I knew were taking vacations, watching <em>Game of Thrones</em>, or just plain enjoying their lives—I was working.</p>
<p>Do I regret all of that time working? Definitely not. I've gained a large amount from it. Do I regret some of it? Yeah definitely.</p>
<p>The important thing is to define what you want, and what you're willing to pay for it.</p>
<p>Depending on who you are and where you are in your life your answer will be different, and that answer will likely even change over time—it has for me.</p>
<p>A young, single person just starting out in their career may decide to pay now to reap the rewards for later. </p>
<p>A person coming to development with an existing family and responsibilities may be content with just working their 9-5 job and shutting it off for the day. That could be all they want—a stable and full life with their family.</p>
<p>There's no right or wrong answer here. There's just <em>your</em> answer. Each decision has consequences. Define what you want, what it takes to get there, and what you're willing to do for it.</p>
<p>I have a daughter now, and when she was born I decided to prioritize my time with her. If a similar opportunity arrived now that would require grinding away my nights and weekends, I wouldn't take it. I have things that are now more important than that (and for the record, I now also don't think that it requires that).</p>
<h3 id="heading-10000-hours">10,000 hours?</h3>
<p>In what is now regarded as a somewhat controversial book, Malcolm Gladwell's <em>Outliers: The Story of Success</em> often mentions this concept of <a target="_blank" href="https://en.wikipedia.org/wiki/Outliers_(book)">"10,000 hours"</a>:</p>
<blockquote>
<p>Throughout the publication, Gladwell repeatedly mentions the "10,000-Hour Rule", claiming that the key to achieving world-class expertise in any skill, is, to a large extent, a matter of practicing the correct way, for a total of around 10,000 hours, though the authors of the original study this was based on have disputed Gladwell's usage.</p>
</blockquote>
<p>Regardless of if the "10,000 hour rule" is correct or not, there is no doubt that someone who practices more at a particular thing will have a better result than someone who practices less. Or at least that person will reach their desired result faster than the other person (given the practice quality is the same, which is a big "if").</p>
<p>It's because of this that I understand those who champion work outside of work.</p>
<p>On the other hand, it's been well-studied that there are significant diminishing returns on working long hours.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/08/Screen-Shot-2020-08-21-at-11.04.22-AM.png" alt="image here" width="600" height="400" loading="lazy">
<em>TL;DR: Google says not to overwork.</em></p>
<p>In fact, a <a target="_blank" href="http://ftp.iza.org/dp8129.pdf">2014 study</a> from Stanford University and the IZA Institute of Labor Economics showed that work done after a certain threshold (~55 hours per week) doesn't give any noticeable benefit. I've found this true in my own experience as well.</p>
<p>In my experience, consistent weeks over 40 hours of work led to a loss of strategic thinking, numerous mistakes, and a litany of burnout effects.</p>
<p>I was recently pointed to an <a target="_blank" href="https://www.indiehackers.com/podcast/167-dhh-and-natalie-nagele-on-work-life-balance">episode</a> of the Indie Hacker's podcast where the creator of the Ruby on Rails framework, David Heinemeier Hansson (or DHH as he's been come to be known), was discussing this very topic with another successful software entrepreneur, Natalie Nagele.</p>
<p>DHH is known for his bold (and sometimes harsh) stance of not working outside of work. He points to his success with his company <a target="_blank" href="https://basecamp.com/">Basecamp</a>, and the fact that they barely ever worked more than 40 hours per week.</p>
<p>While there's obviously more to the story than what he can share in one podcast episode, there's one point that he stressed on that I think is crucial: the <strong>quality</strong> of work matters.</p>
<h3 id="heading-at-first-some-quantitythen-all-quality">At first, some quantity—then all quality.</h3>
<p>You need some quantity of work to get going, but once you get moving, the <em>quality</em> of your work becomes much more important than the <em>quantity</em> of work.</p>
<p>Don't underestimate the growth from one focused hour of learning each day. Two hours isn't necessarily better—nor is four.</p>
<p>Like I talked about in my post <a target="_blank" href="https://www.freecodecamp.org/news/how-to-become-an-astounding-junior-developer/">How To Become an Outstanding New Developer</a>, aim to be 1% better every day. <strong>A 1% improvement every day is a 37X improvement over a year.</strong></p>
<p>Small and consistent wins will always beat out a short burst of intensity.</p>
<h2 id="heading-neither-good-nor-bad">Neither good nor bad</h2>
<p>So there's the actual truth behind coding outside of work. It's neither good nor bad: it's a choice.</p>
<p>It's a choice with different consequences. Neither outcome is bad if that's what you decide you want. </p>
<p>There's no doubt that more time, energy, and practice on a craft will make you better at it—saying anything otherwise would be silly. But, there's also no doubt that there is a cost to pay from the other areas of your life.</p>
<p>I now don't think working all the time outside of work is required—let alone beneficial. There's a sweet spot between some focused, intentional effort and enjoying the life you're working so hard to build. </p>
<p>DHH once tweeted something that has been seared into my brain:</p>
<div class="embed-wrapper">
        <blockquote class="twitter-tweet">
          <a href="https://twitter.com/dhh/status/943001297736761344"></a>
        </blockquote>
        <script defer="" src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></div>
<p>Since I read that, I've been trying to figure out how to "waste some time" on the rest of the human experience. At some point, I think we all have to do that.</p>
<p>So the question that it all comes back to is this: <strong>what do you want?</strong></p>
<p> If you've enjoyed reading this, I write similar things on <a target="_blank" href="https://johnmosesman.com/">my blog</a>.</p>
<p>Thanks for reading!</p>
<p>John</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Give your workday super-powers with Google Apps Script ]]>
                </title>
                <description>
                    <![CDATA[ By Peter Gleeson The best learn-to-code projects are often those which solve a real world problem. These projects can provide that extra dose of motivation so essential to finishing any project. They encourage you to actively explore and discover new... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/automate-your-workday-with-google-app-script/</link>
                <guid isPermaLink="false">66d4608d37bd2215d1e245a2</guid>
                
                    <category>
                        <![CDATA[ automation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ google apps script ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ work life balance ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Sat, 08 Jun 2019 17:59:09 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9ca228740569d1a4ca52e9.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Peter Gleeson</p>
<p>The best learn-to-code projects are often those which solve a real world problem.</p>
<p>These projects can provide that extra dose of motivation so essential to finishing any project. They encourage you to actively explore and discover new concepts, rather than imitate examples you've seen before.</p>
<p>There's also something that bit extra satisfying about solving a problem you face day-to-day.</p>
<p>An easy way to start is with <a target="_blank" href="https://developers.google.com/apps-script/">Google Apps Script</a>.</p>
<p>It is a scripting language for a range of Google applications. The language itself is in fact JavaScript.</p>
<p>What Google Apps Script provides are libraries and classes that allow you to work with objects such as spreadsheets, emails, calendars, slides, and more.</p>
<p>If you want to dive right in, the documentation is available <a target="_blank" href="https://developers.google.com/apps-script/reference/">here</a>.</p>
<p>Here are three examples that will show how to get started with Google Apps Script. Hopefully it will give you some ideas for your own projects!</p>
<h3 id="heading-launching-google-apps-script">Launching Google Apps Script</h3>
<p>You will need a Google account to start developing Apps Script projects. To start a new project, simply navigate to <a target="_blank" href="https://script.google.com/home">script.google.com/home</a> and click 'New Script'.</p>
<p>You will be taken to an in-browser IDE that looks something like this:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-18.40.56.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Give your project a name by changing the title in the top left corner.</p>
<p>Note that every time you require Apps Script to access different Google applications, you will need to give the necessary permissions.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-17.34.16.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>This might look a bit daunting, but if you are running your own project carefully, there will be no problem. Click "Advanced" and allow your project permission to run.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-17.34.42.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Let's take a look at some examples.</p>
<h3 id="heading-calculate-your-income-tax">Calculate your income tax</h3>
<p>This simple example will show you how to extend <a target="_blank" href="https://www.google.com/sheets/about/">Google Sheets</a> by adding your own custom formulae. In this example, the formula will be used to calculate UK income tax.</p>
<p>In the UK, <a target="_blank" href="https://www.gov.uk/income-tax-rates">different income tax rates</a> are applied to different earnings categories. Therefore, the amount of income tax owed varies depending on the income.</p>
<p>First, create a new <a target="_blank" href="https://docs.google.com/spreadsheets/u/0/">Google Sheet</a>. Then, from the menu ribbon, select Tools &gt; Script editor. You will be taken to the Apps Script IDE.</p>
<p>The code block below uses a <a target="_blank" href="https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements/">switch statement</a> to calculate the right amount of tax for a numerical argument <code>income</code>. If you are familiar with JavaScript, you will recognise the syntax.</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">TAX</span>(<span class="hljs-params">income</span>) </span>{

  <span class="hljs-keyword">switch</span> (<span class="hljs-literal">true</span>) {

    <span class="hljs-keyword">case</span> income &lt;= <span class="hljs-number">12500</span>:
      <span class="hljs-keyword">var</span> tax = <span class="hljs-number">0</span>;
      <span class="hljs-keyword">break</span>;
    <span class="hljs-keyword">case</span> income &lt;= <span class="hljs-number">50000</span>:
      <span class="hljs-keyword">var</span> tax = <span class="hljs-number">0.2</span> * (income - <span class="hljs-number">12500</span>);
      <span class="hljs-keyword">break</span>;
    <span class="hljs-keyword">case</span> income &lt;= <span class="hljs-number">150000</span>:
      <span class="hljs-keyword">var</span> tax = <span class="hljs-number">7500</span> + (<span class="hljs-number">0.4</span> * (income - <span class="hljs-number">50000</span>));
      <span class="hljs-keyword">break</span>;
    <span class="hljs-keyword">case</span> income &gt; <span class="hljs-number">150000</span>:
      <span class="hljs-keyword">var</span> tax = <span class="hljs-number">47500</span> + (<span class="hljs-number">0.45</span> * (income - <span class="hljs-number">150000</span>));
      <span class="hljs-keyword">break</span>;
    <span class="hljs-keyword">default</span>:
      <span class="hljs-keyword">var</span> tax = <span class="hljs-string">"ERROR"</span>;
  }

  <span class="hljs-keyword">return</span> tax;

}
</code></pre>
<p>Save your project if you haven't already.</p>
<p>Now, back in the sheet, enter your chosen salary in e.g., cell A1. You can now call the new formula with  <code>=TAX(A1)</code>.</p>
<p>You could write a similar function to calculate <a target="_blank" href="https://www.which.co.uk/money/tax/national-insurance/national-insurance-rates-ajg9u9p48f2f#headline_3">UK National Insurance contributions</a>.</p>
<p>What other Sheets functions could you write?</p>
<h3 id="heading-remember-to-check-your-emails">Remember to check your emails</h3>
<p>It can be difficult to make time to respond to important emails. This example will bring together <a target="_blank" href="https://www.google.com/gmail/">Gmail</a> and <a target="_blank" href="https://calendar.google.com/calendar/r">Google Calendar</a> in one short application.</p>
<p>The idea is simple. You provide a list of important email contacts and/or keywords. The application checks your inbox every six hours. If it finds any new emails from these contacts (with any of the keywords in the subject line), it creates a calendar event reminding you to reply later in the day.</p>
<p>You can create a new project from <a target="_blank" href="https://script.google.com/home">script.google.com/home</a>.</p>
<p>Check out the code below:</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">reminder</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-comment">/* create list of senders and subject keywords */</span>
  senders = [<span class="hljs-string">"freecodecamp"</span>, <span class="hljs-string">"codecademy"</span>, <span class="hljs-string">"meetup"</span>];
  subjects = [<span class="hljs-string">"javascript"</span>, <span class="hljs-string">"python"</span>, <span class="hljs-string">"data science"</span>];

  <span class="hljs-comment">/* build the search query */</span>
  <span class="hljs-keyword">var</span> searchString = <span class="hljs-string">"is:unread newer_than:1d from: { "</span> +
    senders.join(<span class="hljs-string">" "</span>) + <span class="hljs-string">"} subject: { "</span> + 
    subjects.join(<span class="hljs-string">" "</span>) + <span class="hljs-string">" }"</span>

  <span class="hljs-comment">/* retrieve any matching messages */</span>
  threads = GmailApp.search(searchString);

  <span class="hljs-comment">/* if there are any results, create a calendar event */</span>
  <span class="hljs-keyword">if</span> (threads.length &gt; <span class="hljs-number">0</span>) {
    <span class="hljs-keyword">var</span> event = CalendarApp.getDefaultCalendar();
    event.createEventFromDescription(<span class="hljs-string">'Review emails 6pm today'</span>);
  }

}
</code></pre>
<p>To run this function at regular intervals, you can set up a trigger. From the menu ribbon, choose Edit &gt; Current project's triggers.</p>
<p>This will take you to a new tab where you can add a new trigger for the current project. Click 'Add new trigger' and choose the settings you wish to use.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-16.30.47.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Now, your script will run every 6 hours, and create a calendar event if you have any emails you need to review.</p>
<p>A useful extension might be to create a spreadsheet or Google Form that lets you add contacts and keywords easily.</p>
<p>How else could you integrate your inbox and your calendar?</p>
<h3 id="heading-slides-update">Slides update</h3>
<p>Keeping presentations and slide decks up-to-date can be a tedious task. Luckily, you can use Google Apps Script to automate the process.</p>
<p>For this example, we'll use a fictional mobile app. The aim is to produce a slide deck with up-to-date metrics such as app downloads, active users, and revenue.</p>
<p>The trick will be to replace a number of <code>&lt;tags&gt;</code> in the deck with data contained in a Google Sheet.</p>
<p>In Slides, create a new presentation. Give it a name such as "App update template".</p>
<p>Create a new slide. Give it a title such as "Key metrics".</p>
<p>In a text box, add some content such as below:</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-18.55.18.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Notice the tags included in each line. These will be replaced by up-to-date figures each time the script is run.</p>
<p>Next, create a new Sheet and add some data to use in the slide deck. In one column, refer to the tags in the slide deck. In the other, add the latest data.</p>
<p>In a real-life example, this would be calculated from raw data elsewhere in the spreadsheet. The raw data could come from Google Analytics, or be exported from a data warehouse, or from some other source.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-18.53.00.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>Back in Slides, select Tools &gt; Script Editor from the menu ribbon. This will open a new Apps Script project. </p>
<p>Now you can start writing some code. The function takes two file ids as arguments - one for the Slides template, one for the Sheet. The file id is the string of letters and numbers you can find in the file's URL.</p>
<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">updateSlides</span>(<span class="hljs-params">templateId, sheetId</span>) </span>{

  <span class="hljs-comment">/* Make a latest copy of the slide deck template */</span>
  <span class="hljs-keyword">var</span> template = DriveApp.getFileById(templateId);
  <span class="hljs-keyword">var</span> today = <span class="hljs-built_in">Date</span>();
  <span class="hljs-keyword">var</span> copyName = <span class="hljs-string">"App update "</span> + today;
  <span class="hljs-keyword">var</span> templateCopy = template.makeCopy(copyName);

  <span class="hljs-comment">/* Open spreadsheet and slides by their id*/</span>
  <span class="hljs-keyword">var</span> sheet = SpreadsheetApp.openById(sheetId);
  <span class="hljs-keyword">var</span> slides = SlidesApp.openById(templateCopy.getId());

  <span class="hljs-comment">/* Get the data from the sheet */</span>
  <span class="hljs-keyword">var</span> data = sheet.getRange(<span class="hljs-string">"A1:B5"</span>).getValues();

  <span class="hljs-comment">/* replace all the tags in the deck with their latest values */</span>
  <span class="hljs-keyword">for</span>(<span class="hljs-keyword">var</span> i=<span class="hljs-number">0</span>; i &lt;data.length; i++){
    <span class="hljs-keyword">var</span> tag = <span class="hljs-string">"&lt;"</span>+data[i][<span class="hljs-number">0</span>]+<span class="hljs-string">"&gt;"</span>;
    <span class="hljs-keyword">var</span> value = data[i][<span class="hljs-number">1</span>].toString();

    slides.replaceAllText(tag, value);

  }
}
</code></pre>
<p>If you run this script, a new presentation will be created with the latest data in place of each of the tags.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2019/06/Screenshot-2019-06-08-at-18.56.23.png" alt="Image" width="600" height="400" loading="lazy"></p>
<p>You could schedule this script to run at regular intervals, such as at the end of each month. If you wanted to develop the idea even further, you could use Apps Script to automatically email the new deck to a list of contacts.</p>
<h3 id="heading-over-to-you">Over to you</h3>
<p>Google Apps Script is a great way to start writing real JavaScript in a way which is immediately practical. Hopefully you found these three examples helpful. </p>
<p>Perhaps this introduction has given you ideas for projects you could develop?</p>
<p>Remember, coding is a powerful tool - don't do anything with Apps Script you wouldn't do manually. Best not to erase your entire inbox or overwrite an important file with memes.</p>
<p>Thanks for reading!</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How to turn constraints into opportunities in your career and life ]]>
                </title>
                <description>
                    <![CDATA[ By Samuel Path I’ve had a topic on my mind over the previous days that I can’t shake off. So I knew I had to write an article about it. The idea is simple: for most of the external constraints on my studies and career, I chose to see the ]]>
                </description>
                <link>https://www.freecodecamp.org/news/on-turning-constraints-into-opportunities-in-your-career-404cbc937f18/</link>
                <guid isPermaLink="false">66c35c3d9de50ee9ca7fa71b</guid>
                
                    <category>
                        <![CDATA[ careers ]]>
                    </category>
                
                    <category>
                        <![CDATA[ motivation ]]>
                    </category>
                
                    <category>
                        <![CDATA[ software development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ work life balance ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 09 Feb 2018 08:55:22 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*P_IMfmN0doqnRfKFU_Ta_A.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Samuel Path</p>
<p>I’ve had a topic on my mind over the previous days that I can’t shake off. So I knew I had to write an article about it.</p>
<p>The idea is simple: for most of the external constraints on my studies and career, I chose to see the bright side and make the most of them, turning them into opportunities. It’s easy to feel stuck and spend our days complaining about our unlucky state. But it’s almost always possible to turn our seemingly sour lemons into tasty lemon cakes.</p>
<p>The best way for me to show you what I mean is to share four examples from my life, in chronological order.</p>
<h3 id="heading-1-lack-of-time-led-to-an-increase-in-focus-and-productivity">1. Lack of time led to an increase in focus and productivity</h3>
<p>I got married during the summer of my fourth year of university, where I was studying computer science. My wife was a med school student and was working long and hard hours. For our wedding, we wanted to invite the people who mattered most to us and throw a big and memorable party.</p>
<p>Since my wife was too busy, we decided I would organize all the practical aspects of the wedding. For those of you who’ve gone through this, you know this can get pretty heavy. Wedding planning started to take most of my free time, so much so that I struggled to find time to study and work on projects for my degree.</p>
<p>This forced me to take a hard look at what was essential in my studies, what was superfluous, and what could be optimized. I decided to skip most classes where I felt that the teachers didn’t add substantial value over simply studying the manual. And I started to focus on only the essential takeaways for a given project. My goal was not to be valedictorian. It was simply to pass without worry.</p>
<p>This is when I discovered the Pareto principle, also called the 80/20 law. It states that in most areas, 20% of the causes leads to 80% of the outcomes. So once my goals were clearly stated, I started to focus on the minimum that needed to be done to attain my goals.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/rTFDm7jknmKyp2GEOIonI-xaDKNloXsa-BUQ" alt="Image" width="420" height="300" loading="lazy"></p>
<p>Feeling time pressure forced me to focus and learn many productivity hacks, which have followed me through the years.</p>
<p>Oh, and by the way, the wedding was a blast and I passed the year without much hassle. I even got better grades than a few friends who had way more time than I had but who were not forced to focus.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/5cdbtLOdAPjzO9Mp1IvMRfWWwBgeHQyEM1G0" alt="Image" width="800" height="234" loading="lazy">
<em>Please tell me you’re scared ?</em></p>
<h3 id="heading-2-lack-of-mobility-led-me-to-join-an-outstanding-company">2. Lack of mobility led me to join an outstanding company</h3>
<p>Upon graduation, I joined the IT services company Atos as a software consultant. As with most <a target="_blank" href="http://www.samuelpath.com/hiring/">services companies</a>, they could send me to work at their client’s locations. These could be anywhere in the region, with commute time going as far as two hours one-way.</p>
<p>I started working on a few crappy Java projects for large government-owned companies where nobody cared about the projects. And nobody around me at Atos seemed to care about writing good software. You know, as long as the apathetic client pays…</p>
<p>I felt stuck. All my graduation enthusiasm started to fade away. Was this what writing software was all about? What if I studied to become a baker instead, at least people would care about my bread…?</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/tXlX7VWUZITTmAdvgvue4PcykY5cHSQujwEz" alt="Image" width="750" height="501" loading="lazy">
<em>Hmmm the smell of good software ?</em></p>
<p>And then baby #1 arrived. Since my wife was still in her medical studies program working long hours, it meant that I would be the one preparing our girl in the morning for day-care. I would also be the one picking her up in the evening to then getting everything ready before mummy came home. But with potential two hour commute times, this would be impossible!</p>
<p>This forced me to look for other opportunities, at companies that didn’t send their employees two hours away with little notice. And this led me to find a great job at a company called ESKER, which is an outstanding employer (literally outstanding, boy was I lucky!).</p>
<p>I would not have looked for a better job had I not been forced to by external circumstances. And this has been one of the best decisions in my career so far.</p>
<h3 id="heading-3-lack-of-ability-to-work-full-time-led-me-to-become-a-developer">3. Lack of ability to work full-time led me to become a developer</h3>
<p>When baby #2 arrived, with my wife starting her medical residency/internship (where she would work even crazier hours!), we realized that we would not be able to both work full-time.</p>
<p>So I decided to work part-time to be able to handle most of the family logistics. At the time, I was working in a <a target="_blank" href="http://www.samuelpath.com/management-why/">management role</a> but was <a target="_blank" href="http://www.samuelpath.com/back2dev/">missing writing code</a>. Still, I felt like I didn’t have the time to study in order to prepare for a career transition.</p>
<p>The great thing is that a few months into my switch to part-time, I became increasingly efficient at handling the day-to-day affairs. I started to find a few hours each week to get back into code. That’s when I realized that I loved it and that I wanted to go back to software development.</p>
<p>I decided to dedicate 10h a week to learn web development with <a target="_blank" href="http://www.samuelpath.com/fcc/">freeCodeCamp</a> (I mostly worked with Java, C/C++ and Python before that, but never really touched anything web-related). A few months later, I passed the tests to become a software developer at my company.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/GkMbqBcifKJ2Nr652pyC32ooFlQTgkZqWu6t" alt="Image" width="800" height="530" loading="lazy">
<em>/me wannabe hacker when the kids are asleep ?</em></p>
<p>Becoming a developer has been the most fulfilling career move I’ve made so far. I can truly say that I love this job and the possibilities it offers.</p>
<p>And this would not have been possible without the family constraints that forced me in the first place to go part-time!</p>
<h3 id="heading-4-lack-of-ability-to-work-on-site-led-me-to-become-a-remote-freelancer">4. Lack of ability to work on-site led me to become a remote freelancer</h3>
<p>Then baby #3 arrived, and my wife still a medical resident/intern. Since my eldest daughter needed to be taken care of during lunch breaks, it became increasingly difficult for me to work in an office with traditional work hours (like 9 AM to 6 PM).</p>
<p>I didn’t think it was possible for me to find a remote gig with flexible hours with my current level at the time. So I told my company that I would take a parental leave for two years until my wife finished her residency/internship.</p>
<p>And then the magic happened: they asked me to consider creating my own company so I would be able to work for them from home as a contractor. I could then just bill only the days I worked.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/V6MoFWjd8hW7lMO8U8n1pLogppcAWpp95rop" alt="Image" width="800" height="533" loading="lazy">
<em>Of course, this is my daily work environment. Tell me you’re not jealous ?.</em></p>
<p>I accepted, and this has again been one of the best decisions in my career. I now work between 15h and 25h per week, depending on my client’s needs and my availability. During school vacations, I don’t have to ask for vacations. I simply tell them I won’t be available as a contractor. And <a target="_blank" href="http://www.samuelpath.com/on-being-freelance-and-remote/">I’m enjoying lunch with my daughter every day</a>.</p>
<h3 id="heading-tldr">TL;DR</h3>
<p>I’m delighted to be able to work as a freelance, remote employee with flexible hours, doing things I truly enjoy and find fulfilling (like writing JavaScript to meet real-world business needs. I truly mean it).</p>
<p>But this would not have been possible if I hadn’t learned to be productive and focused as a student, so I could work without distraction from home and without supervision.</p>
<p>And it would not have been possible if I hadn’t joined this outstanding company with such outside the box thinking.</p>
<p>And it would not have been possible if I hadn’t been able to learn web development with the time I found while working part time.</p>
<p>And it would not have been possible if I hadn’t decided to take a parental leave to take care of my kids…</p>
<p>You get the point. The biggest opportunities in my career have come when I was trying to make the most of external constraints without fighting against them or complaining about them.</p>
<p>So the next time you feel constrained by your life and career, don’t curse the sour lemons. Look directly at them and tell them straight: I’m going to turn you into the best lemon cake in history!</p>
<p>PS. If you don’t like lemon cake, try lemonade instead ?</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/RQ6F7TE2nBNSWteveAFG9Da49chh7rr8rwLZ" alt="Image" width="670" height="447" loading="lazy"></p>
<p><em>Originally published at <a target="_blank" href="http://www.samuelpath.com/on-turning-constraints-into-opportunities-in-your-career/">www.samuelpath.com</a> on February 9, 2018.</em></p>
<p><em>Please do not hesitate to share your thoughts on Twitter, I’m at: <a target="_blank" href="http://www.twitter.com/smlpth">@smlpth</a></em></p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Why Company Culture is Important to Your Career as a Software Engineer ]]>
                </title>
                <description>
                    <![CDATA[ By Jennifer Bland The impact of a company’s culture is reflected in a company’s ability to achieve their goals and productivity levels, and in their employees’ satisfaction. The company culture can make or break a business. Yet, company culture is th... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/why-company-culture-is-important-to-your-career-as-a-software-engineer-5a590bc44621/</link>
                <guid isPermaLink="false">66d460e59208fb118cc6d00f</guid>
                
                    <category>
                        <![CDATA[ Company Culture ]]>
                    </category>
                
                    <category>
                        <![CDATA[ General Programming ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tech  ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Web Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ work life balance ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 07 Aug 2017 16:51:24 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*WENi4OUOb2bUFfk8JhZzWg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Jennifer Bland</p>
<p>The impact of a company’s culture is reflected in a company’s ability to achieve their goals and productivity levels, and in their employees’ satisfaction. The company culture can make or break a business.</p>
<p>Yet, company culture is the one thing that many aspiring programmers overlook in their job search. Unfortunately, they usually find out after accepting a job offer that they are working for a company with a very poor culture. That oversight can have a negative impact on their career.</p>
<p>To better explain the impact of company culture, I am going to use experiences from my career to illustrate.</p>
<h3 id="heading-working-hours">Working hours</h3>
<p>The 9 a.m. to 5 p.m., 40-hour work week is a reflection of how work was performed in the Industrial Revolution. During this time, workers punched a clock which measured the amount of time worked. Management used the punch clock to gauge employee productivity.</p>
<p>Today’s software engineers are smart, creative people who prefer to work in an autonomous environment to create their best work. Unfortunately, at some companies, management still clings to hours worked as a barometer of productivity.</p>
<p>The following examples are how two management teams from two different companies that I worked for view work hours.</p>
<h4 id="heading-first-company"><strong>First company</strong></h4>
<p>This company provided flexibility to employees in terms of when they started and ended their work day. The only requirement was that every member of the team had to be available during the same six-hour window during the day.</p>
<p>This provided flexibility to employees so that they could schedule doctor visits, receive home deliveries, tend to their homes and car repairs, and so on.</p>
<h4 id="heading-second-company"><strong>Second company</strong></h4>
<p>Management sent an email to every programmer, asking them to declare their time of arrival at and their time of departure from work every day. Later, we received another email explaining that people were not adhering to when they said they were arriving at and leaving from work. Shortly thereafter, upper management was sitting at the front of the office when people arrived at work. They were probably noting when their employees were arriving at work.</p>
<p>Normally I arrived at work around 8:00 a.m. One morning I arrived at work at 8:30 a.m. Upper management commented that I was late for work. There were about 20 people that worked in the same office, and I was the second programmer to arrive at work that day.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/0fZe68cnUbyfadygH50FKeJJmomeojVVRaCG" alt="Image" width="800" height="799" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/GxnyOLTxCr8?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;Jonathan Simcoe on &lt;a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<h4 id="heading-how-to-avoid-it">How to avoid it</h4>
<p>Avoid companies that measure your success by when you arrive at and leave from the office. Instead, work for companies that measure your success by the goals you meet. When interviewing with companies, ask if they have core work hours or standardized hours.</p>
<p>Companies with core work hours require that every member of their team be available during those hours. Employees can set their start and departure time based on these core hours. For example, if core work hours are 10 a.m. — 4 p.m., employees can start work at 8:00 a.m. and leave at 4:00 p.m. Or, employees can start work at 10:00 a.m. and leave at 6:00 p.m.</p>
<h3 id="heading-encourage-or-discourage-employees-taking-action">Encourage or discourage employees taking action?</h3>
<p>Following the Pareto Principle, the overwhelming majority of employees will treat work as something they do between 9:00 a.m. and 5:00 p.m. These employees will not make an effort to learn new skills or technology on their own. The remaining 20% of employees will invest their time and energy on learning and improving their knowledge. Companies can decide to either foster employee development or to neglect it.</p>
<p>The following are examples from my work experience of how management treated employees who spoke at conferences.</p>
<h4 id="heading-first-company-1"><strong>First company</strong></h4>
<p>I was selected to speak at my first technology conference. The conference was Connect.Tech, which is the premier web and mobile development conference in the Southeastern United States.</p>
<p>Within 48 hours of it being announced that I would be speaking at the conference, our director purchased conference tickets for every developer in the department. My director wanted to support me because I had invested my time and effort to master a skill that I would be speaking about at the conference.</p>
<p>Later, after accepting to speak at my second technology conference, the director pointed out that I was speaking again and gave me a monetary reward for my efforts.</p>
<h4 id="heading-second-company-1"><strong>Second company</strong></h4>
<p>This company was in the process of rewriting their website from PHP to AngularJS. I was selected to speak at ngConf, which is the world’s largest conference on AngularJS.</p>
<p>To speak at this four-day conference, the company required that I take two days of vacation. I was also given two days off. The conference covered my airfare and hotel, but I paid for my own food and taxi rides.</p>
<p>At the last minute, another programmer decided to attend the conference. The company paid for his airfare, conference ticket, hotel, taxi rides, and food. As well, the company gave this guy four days off to attend the conference.</p>
<p>Later, I asked the company if they would also cover my food. They responded by saying that I was being self-centered and just wanted to exploit the company’s resources.</p>
<h4 id="heading-how-to-avoid-it-1">How to avoid it</h4>
<p>As you can tell, the company culture in these two companies are drastically different. When you look for a job as a software engineer, make sure you do your research about the company first. Try to figure out whether or not the company invests in their employees’ development. Does the company encourage their employees to improve their skills? Or does the company discourage it?</p>
<h3 id="heading-work-processes-and-quality-control">Work processes and quality control</h3>
<p>Quality assurance (QA) is a part of the software development life cycle. QA ensures that there are no bugs in the code. The longer a bug goes undetected, the more costly it is going to be to fix it later on.</p>
<p>Git is the primary tool programmers use for version control. Programmers in a team must have a strategy to control the codes used in production-ready codes.</p>
<p>The following are examples from my work experience. They show when companies invest in their work processes and when they do not.</p>
<h4 id="heading-first-company-2"><strong>First company</strong></h4>
<p>Every programming team had a QA person. QA was responsible for checking the programmers’ code and verifying that it met the acceptance criteria for the story. If the QA engineer had concerns with the quality of the code, it was the programmer’s responsibility to re-do the code until standards were met.</p>
<p>The programmers used a Version Control System workflow (VCS) to create branches that reflected the number assigned to the story. Once programmers completed their code, they were required to merge the master branch into their code to see if there were any merge conflicts. Once that was done, they submitted their code to the master branch.</p>
<p>Before the end of the sprint, the entire team would spend a day verifying that the code on the master branch met the acceptance criteria for every story. Programmers were required to verify the work completed by others, but were not allowed to test their own code.</p>
<h4 id="heading-second-company-2"><strong>Second company</strong></h4>
<p>This company did not have a single QA person on staff. They also did not implement a Git workflow strategy. As a result, programmers were responsible for testing their own code in relation to the story, but not in relation to the potential impact it might have on someone else’s code.</p>
<p>A release was pushed to production. The push resulted in the website going down. Luckily, the code was rolled back within seven minutes. In the following week, a team lead and several programmers tried to find a solution for the website outage. For several nights that week, they worked until 10:30 p.m. trying to fix the problem.</p>
<p>After resolving the problem, management sent an email praising the team leader for the hours he spent solving the problem. The email concluded that all employees should be willing to work the same number of hours to complete their work.</p>
<p>Instead of addressing the root problem, which was having an ineffective VCS strategy and a lack of QA resources, management decided to praise someone for the side effect.</p>
<h4 id="heading-how-to-avoid-it-2">How to avoid it</h4>
<p>When interviewing with a company, you will probably speak to more than one developer on the team. Ask them if the company utilizes an effective VCS strategy. If so, ask them to explain what it is. It is important to know if all programmers provide a consistent answer to this question.</p>
<p>Another question to ask is what is the time between when an error with a production code is reported and when that error is fixed.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/iP3z5ePKCm59iNbHb6n1DZy4fRUCZZ3no3Qz" alt="Image" width="800" height="533" loading="lazy">
_Photo by [Unsplash](https://unsplash.com/photos/xcI7f25UQSs?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="_blank" title=""&gt;Lauren Mancke on &lt;a href="https://unsplash.com/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText" rel="noopener" target="<em>blank" title=")</em></p>
<h3 id="heading-work-life-balance-and-vacation-time">Work-life balance and vacation time</h3>
<p><em>The Business Dictionary</em> defines “work-life balance” as “a comfortable state of equilibrium achieved between an employee’s primary priorities of their employment position and their private lifestyle.”</p>
<p>Programmers should seek a job that does not demand an excessive amount of their time and energy that they miss their children’s birthday or taking their vacation.</p>
<p>The following are examples from my work experience of how management manage their employees’ work-life balance and vacation.</p>
<h4 id="heading-first-company-3"><strong>First company</strong></h4>
<p>This company provided three weeks of vacation. Employees could take vacation with as little as one day’s notice. There was no problem when one or more employee went on vacation at the same time.</p>
<p>If employees did not take their allotted vacation, it did not roll over to the next year. Between Thanksgiving and Christmas, the company sometimes worked with partial development teams. This is because programmers were sent home to make sure that they used all of their vacation.</p>
<h4 id="heading-second-company-3"><strong>Second company</strong></h4>
<p>An employee, along with four other couples, scheduled a trip to Hawaii where they had rented a compound on the beach for a week. Shortly before this employee was scheduled to leave for vacation, he was asked to reschedule his vacation. The reason given was that the company had an upcoming deadline, and they were behind on completing it.</p>
<p>When I tried taking time off, my team leader asked me to make sure that our deadlines would not be negatively impacted by my vacation. In other words, the company expected me to schedule my vacation around my work deadlines.</p>
<h4 id="heading-how-to-avoid-it-3"><strong>How to avoid it</strong></h4>
<p>Ask what benefits the company provides in terms of vacation and holiday. It is important to know if you are able to take time off without giving notice several days or weeks in advance.</p>
<p>During your interview, ask every programmer if they took all of the vacation time they were given, for every year they have worked at the company.</p>
<h3 id="heading-conclusion"><strong>Conclusion</strong></h3>
<p>Company culture is a reflection of the leadership and work environment within a company. As a new programmer, working for a company with a positive company culture can catapult your career. If you end up in a company with a negative company culture, it can impact your ability to learn and grow as a software developer.</p>
<h3 id="heading-more-articles">More articles</h3>
<p>Thank you for reading my article. If you like it, please click on the clap icon below so that others will find this article.</p>
<p>Here are more of my articles that you might find interesting:</p>
<ul>
<li><a target="_blank" href="https://codeburst.io/7-things-i-learned-in-my-journey-from-coding-bootcamp-to-senior-developer-645ab7c2fea0">7 Things I learned in my journey from coding bootcamp to Senior Developer</a></li>
<li><a target="_blank" href="https://medium.com/dailyjs/instantiation-patterns-in-javascript-8fdcf69e8f9b">Instantiation Patterns in JavaScript</a></li>
<li><a target="_blank" href="https://medium.com/@ratracegrad/the-secret-to-becoming-a-better-programmer-419cab4ad942">The Secret to Becoming a Better Programmer is Speaking</a></li>
<li><a target="_blank" href="https://medium.com/@ratracegrad/first-impressions-count-why-doesnt-your-github-repo-have-a-readme-file-f240961a8fca">First Impressions Count — Why Doesn’t Your Github Repo Have a ReadMe File?</a></li>
</ul>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Start-up Burnout ]]>
                </title>
                <description>
                    <![CDATA[ By Elie Steinbock Shabbat is the seventh day of the week. It starts on Friday night and ends on the following evening, Saturday. (A day starts in the evening for the Jews.) It’s also the Jewish day of rest — the Sabbath. Many Jews observe Shabbat bec... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/startup-shabbat-c0706dec6ace/</link>
                <guid isPermaLink="false">66c35fc8b8711219e1e72e15</guid>
                
                    <category>
                        <![CDATA[ Judaism ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Entrepreneurship ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Life lessons ]]>
                    </category>
                
                    <category>
                        <![CDATA[ startup ]]>
                    </category>
                
                    <category>
                        <![CDATA[ work life balance ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Fri, 02 Jun 2017 00:38:27 +0000</pubDate>
                <media:content url="https://cdn-media-1.freecodecamp.org/images/1*Y5M6F2sbB_oMsdCMJFlpmg.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By Elie Steinbock</p>
<p>Shabbat is the seventh day of the week. It starts on Friday night and ends on the following evening, Saturday. (A day starts in the evening for the Jews.) It’s also the Jewish day of rest — the Sabbath.</p>
<p>Many Jews observe Shabbat because it is a commandment from the word of God. I practice it out of habit, and also because my friends and the Jewish community observe it. As well, I enjoy it.</p>
<p>Shabbat is a day where Jews do not work. For the Orthodox Jews, they also do not use electricity or drive on Shabbat. The day consists of prayer services, sit-down meals with family and friends, and for many, a good sleep.</p>
<p>For me it’s a day I appreciate because I am not allowed to check my emails or to scroll endlessly through my Twitter, Facebook, or Medium account. Also, I get zero notifications from my phone. It’s a time to shut all that off. It’s a day where I play games, read books, go to the beach, see family, and talk to friends.</p>
<p>I run an early stage start-up with some seed (and pre-seed) funding. My job can be quite stressful. A big part of me wants to code on Saturdays, but I’ve decided I won’t. I’ve never written a line of code on Shabbat, and don’t intend to in the foreseeable future.</p>
<p>I’m writing this post because of the Twitter discussion that took place.</p>
<p><a target="_blank" href="https://www.freecodecamp.org/news/startup-shabbat-c0706dec6ace/undefined">Blake Robbins</a> started the discussion with these tweets:</p>
<p>These tweets received some strong reactions.</p>
<p>These messages received many likes and retweets, but many people argued against it as well. I put myself in the “against camp.” I agree, burning out isn’t cool. You have to look after yourself. But having said that, I do believe that if you work harder than your competitors, you’re more likely to succeed than your competitors. However, hard work doesn’t guarantee success. But lack of hard work also doesn’t guarantee failure. Nothing is guaranteed. Hard work just increases your odds of succeeding.</p>
<p>I believe that if you want to achieve greatness, hard work is the only way to achieve it.</p>
<p>There were two notable figures involved in this discussion, <a target="_blank" href="https://www.freecodecamp.org/news/startup-shabbat-c0706dec6ace/undefined">DHH</a> and <a target="_blank" href="https://www.freecodecamp.org/news/startup-shabbat-c0706dec6ace/undefined">Keith Rabois</a>.</p>
<p>DHH is the creator of Ruby on Rails, founder of Basecamp, a Le Mans racer, and the commissioner of the one-of-a-kind <a target="_blank" href="https://en.wikipedia.org/wiki/Pagani_Zonda">Pagani Zonda HH</a>.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*gRfu1IS-JPLMCzm-OL_9kw.jpeg" alt="Image" width="800" height="633" loading="lazy">
<em>DHH cannot be faulted for his taste in cars.</em></p>
<p><a target="_blank" href="https://en.wikipedia.org/wiki/Keith_Rabois">Keith Rabois</a> is part of the PayPal Mafia and is an “entrepreneur, investor, contrarian,” according to <a target="_blank" href="https://twitter.com/rabois?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">his Twitter profile</a>. And according to <a target="_blank" href="https://en.wikipedia.org/wiki/Keith_Rabois">Wikipedia</a>, he’s known for <a target="_blank" href="https://en.wikipedia.org/wiki/PayPal">Paypal</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/LinkedIn">LinkedIn</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Square_inc">Square</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Yelp">Yelp</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Xoom_(web_hosting)">Xoom</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/YouTube">YouTube</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Yammer">Yammer</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Palant%C3%ADr">Palantir</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Lyft">Lyft</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Airbnb">Airbnb</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Eventbrite">Eventbrite</a>, and <a target="_blank" href="https://en.wikipedia.org/wiki/Quora">Quora</a>.</p>
<p>Two incredible and successful people.</p>
<p>These two have very different views on work and rest. They had a heated argument on Twitter over this topic. Not sure who’s right or wrong.</p>
<p>Rabois made a strong argument for hard work:</p>
<p>As mentioned earlier, Rabois is part of the PayPal Mafia, which includes <a target="_blank" href="https://en.wikipedia.org/wiki/Elon_Musk">Elon Musk</a> and <a target="_blank" href="https://en.wikipedia.org/wiki/Peter_Thiel">Peter Theil</a>, among others.</p>
<p>Musk seems to share a similar view on work ethic:</p>
<p>Work one hundred-hour workweeks, and you’ll achieve in four months what it takes others a year to achieve.</p>
<p>Here are some tweets that supported Rabois:</p>
<p>If you read through the feed, you’ll probably find 100 more arguments that support working hard, from accomplished people.</p>
<p>On the other side of the debate is DHH and his camp. And DHH worked hard to achieve what he has too.</p>
<p>Burning out is bad. You’ll achieve a lot more if you work 40 hours a week for 5 years than work 100 hours a week for only one year. You’ll probably burn out and never enjoy or have the desire to work again if you do the latter. Okay, that was a bit exaggerated. But I hope that my point is clear: you need to look after yourself. That much is obvious. You don’t sprint a marathon.</p>
<p>There are other things that are important in life. For example, family, friends, community service, relaxation, and whatever else it is that gives you purpose. I don’t know what Rabois or DHH’s personal lives are like, but you can still have those things while you work hard. For example, Musk is married with kids. He found time to be away from work, which included Tesla and SpaceX, to have a family.</p>
<p>It’s important to respect people’s decisions. If people want to work hard to achieve something truly great, then let them. But if their priority is to spend time with family or to build a home, then let them. And if they want to do both, then let them do that as well.</p>
<p>I started this post by talking about Shabbat. I’m going to end it with talking about exceptionally hardworking rabbis, whose work is to study Judaic law, the Talmud, and the Bible.</p>
<p>These rabbis practically devote their every waking hour to their studies. I have seen eighty-year-old rabbis walking through the streets with a Talmud in their hands, studying. This is what they commonly do. They travel like this from place to place so that they don’t waste time.</p>
<p><img src="https://cdn-media-1.freecodecamp.org/images/1*btR3f5BhqqJkR5wZUvE1iw.jpeg" alt="Image" width="240" height="336" loading="lazy">
<em>Rav Nevbenzahl — never stops smiling</em></p>
<p>When I studied in a <em>yeshiva</em> (a Jewish institution that focuses on the study of traditional religious texts), I sat next to the man who is pictured above, Rav Nevbenzahl. He is a very happy man. He has a family and grandchildren. His studies give his life meaning. It doesn’t even occur to him to take a break.</p>
<p>What is incredible is that he’s been doing this for seventy years. He taught for many of those years and continues to teach. He prays three times a day, and used to sleep only two hours a night. (Although I’ve heard that he regrets it now, and you can catch him napping during the day now.)</p>
<p>He has completed the Talmud multiple times over. I don’t remember how many times, but I am certain that it’s well over a 100 times. Now that’s really impressive. Meanwhile, 99% of Orthodox Jews haven’t even finished it once, because it’s so long and challenging.</p>
<p>This is how someone who believes a man’s ultimate purpose is to study religious texts lives. He believes that by learning and teaching these texts, he’s helping to make the world a better place. And that each time he reads these texts, he too becomes a better person.</p>
<p>So I want to make it clear that I do not agree with this lifestyle. I do not share his belief system. I think it’s based on false premises and is outdated.</p>
<p>But this man is extremely happy, and is a caring and humble individual with a good sense of humour. He lives an extraordinary life that is entirely devoted to studying ancient texts, and it gives his life meaning and brings him incredible joy.</p>
<p>That is this man’s work. He never takes a holiday. Or a break. And he doesn’t need it. Some people don’t want it or need it. Some people prefer to work than sit on the beach for a week. However, you shouldn’t tell people how to live their lives just because you don’t want to work 24/7.</p>
<p>Myself, I love what I do and it never feels like work. I can code until midnight or 3 am, and sometimes even 8 am. And I love it. I also wake up at ridiculous hours, sleep 8 to 10 hours most nights, and show up at work between 11 am and 2 pm. And of course, I take Saturdays off. A good time to catch up on reading.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
