<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Wilk</title>
    <description>The latest articles on Forem by Wilk (@wilk).</description>
    <link>https://forem.com/wilk</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F166942%2F583958b5-1b4c-4bf4-aa27-6d9a8263d63a.jpeg</url>
      <title>Forem: Wilk</title>
      <link>https://forem.com/wilk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/wilk"/>
    <language>en</language>
    <item>
      <title>Dark Lang: an uncommon step towards the future of programming</title>
      <dc:creator>Wilk</dc:creator>
      <pubDate>Mon, 09 Mar 2020 21:22:33 +0000</pubDate>
      <link>https://forem.com/wilk/dark-lang-an-uncommon-step-towards-the-future-of-programming-1b10</link>
      <guid>https://forem.com/wilk/dark-lang-an-uncommon-step-towards-the-future-of-programming-1b10</guid>
      <description>&lt;h1&gt;
  
  
  A past present
&lt;/h1&gt;

&lt;p&gt;Let me say it clearly: &lt;strong&gt;&lt;em&gt;the way we develop is outdated&lt;/em&gt;&lt;/strong&gt;.&lt;br&gt;
Or, to put it simply, we’re developing with the same modality we had 30 years ago.&lt;br&gt;
But with more tools, platforms and patterns.&lt;br&gt;
With this thought in mind, I see a very deep correlation between the following three things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8pTEmbeENF4"&gt;The Future of Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://witheve.com/"&gt;Eve Lang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://darklang.com/"&gt;Dark Lang&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Back to the future
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Bret_Victor"&gt;Bret Victor&lt;/a&gt;&lt;/strong&gt; did an inspiring talk at the Dropbox’s DBX conference, back in 2013.&lt;br&gt;
The talk is set between the 60s and 70s.&lt;/p&gt;

&lt;p&gt;He talks about what computer programming would look like thanks to some extraordinary projects: the &lt;a href="https://en.wikipedia.org/wiki/NLS_(computer_system)"&gt;NLS system&lt;/a&gt;, the &lt;a href="https://wiki.c2.com/?GrailSystem"&gt;Grail system&lt;/a&gt;, the &lt;a href="https://en.wikipedia.org/wiki/Smalltalk"&gt;Smalltalk&lt;/a&gt; editor and &lt;a href="https://en.wikipedia.org/wiki/PLATO_(computer_system)"&gt;Plato&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Srj_ffQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dz0ebfhw6fsqrprkl5ay.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Srj_ffQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dz0ebfhw6fsqrprkl5ay.png" alt="A slide from the Bret Victor’s talk"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Long story short, the idea of his talk is that if we had followed and improved such technologies in the late 60s, nowadays we should be able to develop applications like Tony Stark does in Ironman: &lt;strong&gt;effortlessly&lt;/strong&gt; and &lt;strong&gt;smartly&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;According to this talk, we should have a completely different way of developing these days, instead of writing huge text files without an immediate response on what we’ve done until we run them in a certain environment.&lt;/p&gt;

&lt;h1&gt;
  
  
  Logic programming and visual implementation
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/cmontella"&gt;Corey Montella&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://medium.com/u/2826fea8bb47?source=post_page-----921cf7f38baf----------------------"&gt;Chris Granger&lt;/a&gt;&lt;/strong&gt; and their team proposed &lt;strong&gt;Eve Lang&lt;/strong&gt;, a new approach to change things by combining a visual editor embedded into the browser with a logic programming language.&lt;br&gt;
Eve was designed for "&lt;em&gt;literate programming&lt;/em&gt;", a cool concept forged to say that instead of having comments embedded in code, code is embedded in a document.&lt;br&gt;
Eve was also designed to give the freedom to organise the programs based on what developers think and on the ability to weave a narrative of not just what the program does, but why it does it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qCZ_cD4S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/do3ff6as31tve9jp1kf8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qCZ_cD4S--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/do3ff6as31tve9jp1kf8.png" alt="A view of the Eve Lang platform"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of these concepts lead us to rethink the way we develop.&lt;br&gt;
Nowadays, we’ve tons of tooling and services our applications rely on.&lt;br&gt;
Think about it for a moment: if you were to start building a new API from scratch, how many steps should you take to make it work and make it available to the public?&lt;br&gt;
You’ve to deal with a lot of code boilerplate, third party dependencies, tools like linters, compilers, package managers, and with the most complicated part: the deployment. Choose a cloud platform, find out how to interact with it and finally deploy the first version of your “hello world” API.&lt;br&gt;
Things get more complicated when you need to release new versions of the API, but let’s stop here.&lt;br&gt;
Don’t you think that instead of simplify the development we made it more complicated?&lt;br&gt;
So, what can we do to reverse the trend?&lt;/p&gt;

&lt;h1&gt;
  
  
  Entering Dark Lang
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://medium.com/u/6053392f2d42?source=post_page-----921cf7f38baf----------------------"&gt;Ellen Chisa&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://medium.com/u/56c9b6a1f3e4?source=post_page-----921cf7f38baf----------------------"&gt;Paul Biggar&lt;/a&gt;&lt;/strong&gt; and their team took a step back and figured out an easy way to improve the situation. If the problem is the complexity, what should we do to simplify it?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What if we took things away? (Ellen Chisa)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that’s exactly what they did.&lt;br&gt;
With "&lt;a href="https://www.youtube.com/watch?v=PQ2c8deernc"&gt;A programming language for a continuous delivery world&lt;/a&gt;", Ellen presents what Dark Lang is and how it is changing the development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ixFtrqGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6146gtd4edmc244uecyv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ixFtrqGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6146gtd4edmc244uecyv.png" alt="An example of Dark Lang"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This programming language is in its early stages and is still in beta.&lt;br&gt;
However, Dark is already showing a substantial paradigm shift, providing the user an extremely simple platform for developing backend services.&lt;br&gt;
Instead of spending hours configuring a CI/CD pipeline to publish the application and learn a whole new ecosystem, Dark focuses on simplifying things, providing few but powerful components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API Endpoints (REST)&lt;/li&gt;
&lt;li&gt;Background workers (with built in event/queue system)&lt;/li&gt;
&lt;li&gt;Scheduled jobs/cron&lt;/li&gt;
&lt;li&gt;Persistent Datastores (key-value/hashmap)&lt;/li&gt;
&lt;li&gt;REPLs (internal tools)&lt;/li&gt;
&lt;li&gt;Functions (reusable code)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The entire platform is &lt;strong&gt;cloud native&lt;/strong&gt; so you don’t have to think about anything, except implementing the business logic and connecting the components.&lt;br&gt;
It is literally as simple as it seems: point the mouse, choose the component, fill it with what you need and connect it with other components.&lt;/p&gt;

&lt;h1&gt;
  
  
  A coding challenge story
&lt;/h1&gt;

&lt;p&gt;Let me tell you a story.&lt;br&gt;
I recently had a coding challenge.&lt;br&gt;
I was asked to implement an &lt;strong&gt;&lt;a href="https://en.wikipedia.org/wiki/Extract,_transform,_load"&gt;ETL&lt;/a&gt;&lt;/strong&gt;: fetch 3 different CSV files having the same structure from a S3 bucket and transfer them to a database. The final step required to publish the solution on a known cloud platform.&lt;br&gt;
I solved it using &lt;strong&gt;Typescript&lt;/strong&gt;, &lt;strong&gt;Node.js&lt;/strong&gt;, &lt;strong&gt;Postgres&lt;/strong&gt; and &lt;strong&gt;Heroku&lt;/strong&gt;.&lt;br&gt;
And then I did it again but this time with &lt;strong&gt;Dark Lang&lt;/strong&gt;. Just for fun 😁&lt;/p&gt;

&lt;p&gt;This is the repository of my first solution: &lt;a href="https://github.com/wilk/outlier-coding-challenge"&gt;https://github.com/wilk/outlier-coding-challenge&lt;/a&gt;&lt;br&gt;
As you can see, I had to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;define the project structure using NPM, Git and Typescript&lt;/li&gt;
&lt;li&gt;define a Sequelize model for Postgres&lt;/li&gt;
&lt;li&gt;define the job using an external library to retrieve the data (&lt;a href="https://github.com/node-fetch/node-fetch"&gt;node-fetch&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;define the Heroku project with a provisioned Postgres instance&lt;/li&gt;
&lt;li&gt;define the environment variables for both local and production environments&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And now the solution with Dark Lang, which consists only of the following two screenshots:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cHcLi8zY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vz3l0ihjzansfc33a026.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cHcLi8zY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/vz3l0ihjzansfc33a026.png" alt="Two HTTP endpoints, a Worker and a Database"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--x4hThsmp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5aylg3o3374t49etwyu6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--x4hThsmp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/5aylg3o3374t49etwyu6.png" alt="The function used inside the Worker"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With Dark Lang I defined:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2 HTTP Rest endpoints&lt;/li&gt;
&lt;li&gt;a worker containing the async logic to parse the CSV data and to transfer it to the database&lt;/li&gt;
&lt;li&gt;a key-value database&lt;/li&gt;
&lt;li&gt;a common function used by the worker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;That’s all. The difference is abysmal.&lt;/strong&gt;&lt;br&gt;
The ETL is the same but there are two substantial differences:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;it took me almost 3 hours to implement the coding challenge with Node.js while only 30 minutes with Dark Lang&lt;/li&gt;
&lt;li&gt;with the implementation with Node.js I had to know many things: the Node.js platform, Javascript, the Typescript lang and CLI, NPM, Git, Heroku’s platform and CLI, Postgres, Docker, the Sequelize ORM and a couple of external libraries.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Not to mention the HTTP endpoints: if I wanted to have them with the Node.js solution, then I had to setup an Express webserver and define a couple of routes with the related handlers.&lt;br&gt;
More work to do. More tools. More things to know.&lt;br&gt;
&lt;strong&gt;More complexity.&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  A new hope
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MGLlb2Hg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hqlo0lsdcf09b3qrr31y.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MGLlb2Hg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/hqlo0lsdcf09b3qrr31y.gif" alt="Hello world in a GIF 😲"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The path is clear: we have to change the way we build software.&lt;br&gt;
It’s necessary for many reasons: for newcomers approaching computer programming; for companies and their growing development costs; for dissatisfied and frustrated developers.&lt;br&gt;
Dark Lang has enormous potential to lead this revolution: let’s give it a chance!&lt;/p&gt;

&lt;p&gt;You may find helpful the following list of Dark resources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slack app tutorial: &lt;a href="https://vimeo.com/380770154"&gt;https://vimeo.com/380770154&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Dark Lang docs: &lt;a href="https://darklang.github.io/docs/introduction"&gt;https://darklang.github.io/docs/introduction&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The design of Dark: &lt;a href="https://medium.com/darklang/the-design-of-dark-59f5d38e52d2"&gt;https://medium.com/darklang/the-design-of-dark-59f5d38e52d2&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Thanks
&lt;/h1&gt;

&lt;p&gt;I want to thank &lt;strong&gt;&lt;a href="https://medium.com/u/fbe5fa6a13d2?source=post_page-----921cf7f38baf----------------------"&gt;Alessandro Rabitti&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href="https://medium.com/u/cb6b99cd9ea7?source=post_page-----921cf7f38baf----------------------"&gt;Michele Bertoli&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://medium.com/u/6053392f2d42?source=post_page-----921cf7f38baf----------------------"&gt;Ellen Chisa&lt;/a&gt;&lt;/strong&gt; for reviewing this article 🙏&lt;/p&gt;

&lt;p&gt;Previously posted on Medium: &lt;a href="https://medium.com/@wilk/dark-lang-an-uncommon-step-towards-the-future-of-programming-921cf7f38baf"&gt;https://medium.com/@wilk/dark-lang-an-uncommon-step-towards-the-future-of-programming-921cf7f38baf&lt;/a&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>functional</category>
      <category>computerscience</category>
      <category>cloud</category>
    </item>
    <item>
      <title>The renaissance of the short-time movement</title>
      <dc:creator>Wilk</dc:creator>
      <pubDate>Fri, 21 Feb 2020 09:28:38 +0000</pubDate>
      <link>https://forem.com/wilk/the-renaissance-of-the-short-time-movement-3kmm</link>
      <guid>https://forem.com/wilk/the-renaissance-of-the-short-time-movement-3kmm</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d8ua02Ay--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1o71jmx7uvd5idvke9v9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d8ua02Ay--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/1o71jmx7uvd5idvke9v9.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Premise
&lt;/h2&gt;

&lt;p&gt;Reducing the daily working hours is a personal crusade; with this article I’ll try to convince you why is important to reconsider the current standard in the software industry and take steps forward to change the situation.&lt;/p&gt;

&lt;p&gt;This article will be part of a series of articles on company culture.&lt;/p&gt;





&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--EaUOuut---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/3413742921/0e9ef95e76c4a965b9b177fa2267d6c1_normal.png" alt="Jason Fried profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Jason Fried
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @jasonfried
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B8bbACBj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-99c56e7c338b4d5c17d78f658882ddf18b0bbde5b3f42f84e7964689e7e8fb15.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      If your company requires you to work nights and weekends, your company is broken. This is a managerial problem, not your problem. This is a process problem, not a personal problem. This is an ownership problem, not an individual problem.
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      14:16 PM - 23 Dec 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1209115637148274690" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1209115637148274690" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      1234
      &lt;a href="https://twitter.com/intent/like?tweet_id=1209115637148274690" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      4572
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;





&lt;h2&gt;
  
  
  Questioning the system
&lt;/h2&gt;

&lt;p&gt;Ok, let’s face it: &lt;strong&gt;40 hours a week&lt;/strong&gt;.&lt;br&gt;
We all know it because it’s the standard of full time jobs.&lt;br&gt;
No matter what, if you want that job you’re going to work at least that much.&lt;br&gt;
Working less is considered part-time, even for 36h/w.&lt;br&gt;
The funny thing is that &lt;a href="https://en.wikipedia.org/wiki/Eight-hour_day"&gt;Wikipedia&lt;/a&gt; reports this standard as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The eight-hour day movement or 40-hour week movement, also known as the short-time movement…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yes, the &lt;strong&gt;short-time movement&lt;/strong&gt;.&lt;br&gt;
And you know why?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;[…] was a social movement to regulate the length of a working day, preventing excesses and abuses. […] The working day could range from 10 to 16 hours, and the work week was typically six days a week.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Back in those days, life was tough.&lt;br&gt;
I’m talking about 200 years ago. Not exactly yesterday.&lt;br&gt;
But the cool thing is that after some years (actually many years for some countries) they made it. They won the battle and they’ve changed the status quo.&lt;br&gt;
We inherited this privilege and now we take it for granted.&lt;br&gt;
The bad part?&lt;br&gt;
&lt;em&gt;We take it for normal.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  A generic overview
&lt;/h3&gt;

&lt;p&gt;What are the reasons for having and using this standard, especially in the IT field?&lt;br&gt;
Let’s summarise some of them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;cultural/historical&lt;/strong&gt;: it started in the manufacturing industry to cap the daily working time to 8 hours max&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;availability&lt;/strong&gt;: the possibility to reach you in a fixed time range, let’s say between 8AM to 7PM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;quantity&lt;/strong&gt;: the more you work, the more you produce&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The software industry inherited this way of working because it was born as an appendix of other industries.&lt;br&gt;
However, those reasons don’t apply to our job, in particular the last one: &lt;em&gt;quantity&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Bad KPIs
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Quantity
&lt;/h3&gt;

&lt;p&gt;2020, tech industry: is the current working standard really a necessity? If so, why?&lt;br&gt;
Well, it seems 40h/w is kind of &lt;strong&gt;a metric for defining an individual’s productivity&lt;/strong&gt;. &lt;em&gt;Just like being in the office during working hours&lt;/em&gt;.&lt;br&gt;
If you work 40 hours a week, then the company can achieve its goals because you’re productive and doing many things.&lt;br&gt;
The problem here is that we still think in terms of &lt;em&gt;quantity&lt;/em&gt;, even if our job is a matter of &lt;em&gt;quality&lt;/em&gt; and &lt;em&gt;creativity&lt;/em&gt;.&lt;br&gt;
Follow me for a second.&lt;br&gt;
You’re used to do stuff during your daily job and your time is filled up by duties: developing, designing, meetings, calls.&lt;br&gt;
So, the more you do, the better, right?&lt;br&gt;
&lt;strong&gt;Wrong!&lt;/strong&gt;&lt;br&gt;
Our job cannot be measured in terms of quantity: it’s not like to extract coal from a mine, nor like to produce and deliver goods as much as possible.&lt;br&gt;
Why that?&lt;br&gt;
Because when we write software there are some factors to consider:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;creativity&lt;/strong&gt;: often expressed in terms of engineering and design&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;maintenance&lt;/strong&gt;: software is never finished and the more we produce, the more we need to maintain&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;quality&lt;/strong&gt;: software needs to be good, otherwise you’re going to pay it in the long run (&lt;em&gt;technical debt&lt;/em&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If we think in terms of quantity, these factors are automatically excluded.&lt;br&gt;
Creativity has a different flow: it cannot be limited by fixed hours and it is inversely proportional to quantity; the more you work, the less is the creativity.&lt;br&gt;
On the other hand, maintenance is directly proportional to quantity: the more you produce, the more you have to maintain. And the company’s costs rise.&lt;br&gt;
Quality requires time and concentration: if you’re stressed because you’ve too many things to do, you’ll end up doing the infamous quick’n’dirty approach. In the long run, this translates into a huge technical debt and unsatisfied people (developers, POs, customers, …).&lt;br&gt;
So, does that seem like a reliable productivity metric?&lt;/p&gt;
&lt;h3&gt;
  
  
  Availability
&lt;/h3&gt;

&lt;p&gt;Do we really have to be always available?&lt;br&gt;
The very first thing you learn when approaching time management is that your time is precious and therefore your concentration. Context switching costs and if you lose your focus, even for a small moment, refocusing takes too long.&lt;br&gt;
So it is clear that we have to organise a different way of being available to other people, a way that cannot be related to fixed working hours.&lt;/p&gt;
&lt;h3&gt;
  
  
  Culture
&lt;/h3&gt;

&lt;p&gt;As I said, our industry has inherited this way of working. That’s all.&lt;br&gt;
We’re absolutely free to change it as much as we want because it wasn’t designed for our work.&lt;br&gt;
Actually, it is our duty.&lt;/p&gt;
&lt;h3&gt;
  
  
  A word on productivity
&lt;/h3&gt;

&lt;p&gt;So, what is a good productivity metric?&lt;br&gt;
Ready?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Happiness. Motivation. Freedom.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yes, this sounds like a political speech but it’s damn true.&lt;br&gt;
When you spend a long period working 40, 50, 60 or even 80 hours a week, you usually get two things: &lt;strong&gt;bad quality&lt;/strong&gt; and &lt;strong&gt;burnout&lt;/strong&gt;.&lt;br&gt;
And let’s be honest: don’t pretend to be focused on what you’re working on for the whole 8 hours. I’m pretty sure you’re doing also something else instead of doing your job. Like reading this article.&lt;br&gt;
Making people happier, more motivated and free to choose how best to contribute to the company can be done in many ways and increases the outcomes of the individuals, making better KPIs as a natural consequence.&lt;br&gt;
One of these ways requires fewer working hours.&lt;br&gt;
Wouldn’t you be happier if you could use part of the afternoon by attending that sommelier workshop you’ve always wanted?&lt;br&gt;
What would you say if you could stop going to the gym after dinner, when you’re tired and stressed out?&lt;br&gt;
And what about going to pick up your children at the kindergarten?&lt;br&gt;
Have you noticed it?&lt;br&gt;
What about living your life? Would it make you happier?&lt;br&gt;
I’m deeply convinced that when your company struggles to help you have a better life, your work is so damn good, like a virtuous circle.&lt;/p&gt;
&lt;h2&gt;
  
  
  A new renaissance
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zwe7iYxh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0k23z8eanifczdzvj97.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zwe7iYxh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/p0k23z8eanifczdzvj97.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So, what can we do to change the current status quo, exactly how &lt;a href="https://en.wikipedia.org/wiki/Robert_Owen"&gt;Robert Owen&lt;/a&gt; did back in the 1800s with the &lt;strong&gt;short time movement&lt;/strong&gt;?&lt;br&gt;
I think we can all contribute by applying these suggested actions in our work environment, depending on your role (employee/employer):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;ask/provide shorter working hours&lt;/strong&gt;: there are many combinations you can take advantage of, such as 4 hours a day (20h/w), 6 hours a day (30h/w), 4 days a week (32h/w) and also half a day free per week (36h/w)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ask/provide flexible working hours&lt;/strong&gt;: work according to your biorhythm and having an excellent balance between work and private life. This way the productivity increases because you’re happier and more energetic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ask/provide asynchronous communication&lt;/strong&gt;: we’re talking about time so use it wisely and delay non-urgent communication through async channels such as email. This will help the company get better organised with everyone’s schedule&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As you can see, I’ve no real solutions, only ideas.&lt;br&gt;
If you think there are other better ways, please share them in the comments below!&lt;br&gt;
And if you think this topic is worthwhile, consider sharing it through your network.&lt;br&gt;
I leave you with this inspiring thread by &lt;strong&gt;&lt;a href="https://twitter.com/tobi"&gt;Tobi Lutke&lt;/a&gt;&lt;/strong&gt;:&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--_cnZ841J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1210626727522820096/i6rcDI1I_normal.jpg" alt="Tobi Lutke 🌳🌲🛒🕹 profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        Tobi Lutke 🌳🌲🛒🕹
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @tobi
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B8bbACBj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-99c56e7c338b4d5c17d78f658882ddf18b0bbde5b3f42f84e7964689e7e8fb15.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      I realize everyone's twitter feed looks different. But I'll go ahead and subtweet two conversations that I see going by right now: a) How the heck did Shopify get so big this decade and b) You have to work 80 hours a week to be successful. &lt;br&gt;&lt;br&gt;Thread/
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      16:53 PM - 26 Dec 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1210242184341000192" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1210242184341000192" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      5850
      &lt;a href="https://twitter.com/intent/like?tweet_id=1210242184341000192" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      19286
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  Note
&lt;/h3&gt;

&lt;p&gt;This article was previously published on Medium: &lt;a href="https://medium.com/@wilk/the-renaissance-of-the-short-time-movement-47657487dae6"&gt;https://medium.com/@wilk/the-renaissance-of-the-short-time-movement-47657487dae6&lt;/a&gt;&lt;/p&gt;

</description>
      <category>companyculture</category>
      <category>worklifebalance</category>
      <category>work</category>
      <category>tech</category>
    </item>
  </channel>
</rss>
