Showing posts with label blog. Show all posts
Showing posts with label blog. Show all posts

Thursday, May 18, 2017

State of the Mission: 700 Pomodoros!

Update:

Now up to 800 pomodoros.

Pomodoro Count

Since the beginning of this year (2017), I have invested a total of 700 pomodoros towards the following:

  • Studying programming
  • Coding
  • Looking for work
  • Self-promotion on social media

What Do I Have To Show for My Efforts?

I have a growing body of code: https://github.com/clockworkpc

I have interviewed strongly for junior positions at a number of companies:
  • Envato (2nd round)
  • Zendesk (1st round)
  • reinteractive (2nd round)
  • GreenSync (3rd round)
  • MYOB (3rd round)
  • BlocksGlobal (3rd round)
The feedback has been overwhelmingly encouraging, and with each interview, there is evidence that I am even closer to having the package of skills and knowledge that will distinguish me from other candidates.  Moreover, most of the companies have pointed out to me the precise areas of improvement, and I have incorporated their feedback into my curriculum.

Do I have a job yet? No.
Am I moving inexorably in the right direction? Absolutely.

What Is A Pomodoro?

Italians have been bemused by this term ever since, I imagine.

One pomodoro is 20 minutes of pure, uninterrupted, focused work.
For about 60 seconds before I start the clock, I orient myself; for about 60-120 seconds after the clock rings, I summarise my work.
Add to that the time spent getting up from my desk and making notes on the whiteboard, and that comes to about 25 minutes when all is said and done:
  • Preparation: 1 minute
  • Pomodoro: 20 minutes
  • Summary: 2 minutes
  • Whiteboard: 2 minutes
  • Rest: 5 minutes
Thus, allowing five minutes of rest between a pomodoro and its surrounding activities, one pomodoro amounts to half an hour of productive labour.

Working on the assumption that about five hours of a software developer's eight-hour day are spent on his primary task (coding), and the rest is taken up by meetings, etc, this means that 700 pomodoros are the equivalent of...
  • 350 hours of productive labour
  • 70 working days of productive labour
  • 14 working weeks of productive labour

Pomodoros: A Photographic Overview


Unfortunately, I did not record my pomodoro counts fastidiously from the outset, so some of the data are missing, but a glance across photographs of the completed pomodoro cycles, shows that the amount of time spent on each activity varied.  Sometimes I was focused on my studies, sometimes on coding, sometimes on looking for work.

I spend the least amount of time on promoting myself through social media, which makes sense, because it is more important to me to learn how to code, to code, and to look for work, than to blog and network on LinkedIn and Twitter.

2nd of January 2017 to 15th of January 2017 (100)



16th of January 2017 to 30th of January 2017 (200)

(Image lost to oblivion)

31st of January 2017 to 15th of February 2017 (300)



16th of February 2017 to 6th of March 2017 (400)



7th of March 2017 to 30th March 2017 (500)



1st April 2017 to 23rd April 2017 (600)

(Image lost to oblivion)

April 24th 2017 to 10th of May 2017 (700)


Monday, March 27, 2017

Rails Study, Day 2: Rails Install Fest

I have started a demonstration blog on Rails according to the instructions on the Ruby on Rails Install Fest, my first proper attempt at building something substantial on Rails.  My goal is to build a website that showcases my solutions to Advent of Code, but the first step is to have a site running on Rails, and in my case, hosted on Heroku.

Wish me luck!


Update:


Update:

Had to solve problems with installing the following gems:

  • json
  • pg
The json gem was set to 1.8.3, but I solved it by forcing the version to 1.8.5.
The pg gem was able to install after I properly re-installed Postgres on my machine.

Update:

Now running into problems with Postgresql.

Tuesday, March 21, 2017

A Work in Progress: The Story of My Journey into Software Development

Since I graduated from university (major in English literature), my work has always been in the orbit of software and IT work: first, as a technical writer, then as a computer technician, and finally as a security technician.

Over the years I tinkered with Linux and spent (too) many hours picking up tips and tricks about how to get my computer to do my bidding, rather than contort my daily use around its default settings.  This involved writing lots of scripts in Python.



However, my journey into software development (a work in progress) started in earnest in June 2016.  After talking about work with my housemate, a business analyst and his brother, a software developer, I initially leaned towards DevOps, and accordingly researched DevOps tools and theory.  I tinkered with AWS, set up LAMP stacks, got the hang of Vagrant, and taught myself elementary PHP.  I sent cover letters and telephoned an array of recruiters for guidance on how to work my way into a starting position in the industry.



After a few months it became clear to me that there is in practice no direct path for me into a DevOps role: even the most junior DevOps role requires professional experience in systems administrations or in a commercial software development environment, neither of which I possessed.



In October 2016, I reviewed my goals and decided to focus my efforts on software development instead.  After years of scripting in Python on Linux, I was already familiar with many of the fundamentals of programming, and although I did not underestimate the enormity of this task, I was confident it could be done.  I considered primarily Python, Ruby, and Javascript, and eventually settled on Ruby on the strength of the work opportunities and the community in Melbourne.  I had always loved open source and Ruby code appeals to my aesthetic sensibilities.


I went to America in November and upon my return, I started the next chapter in my journey into software development.  I completed study modules on Rails, AWS, HTML/CSS, and JavaScript.  On the Ruby side I completed the course at Code Academy, worked through 'Learn Ruby the Hard Way' by Zed Shaw and 'Toy Robot' by Ryan Bigg, and at the time of writing am currently working through the puzzles on Advent of Code.

I also make nerdy t-shirts:



Sales and Marketing

I treat this career change as a full-time job... in marketing.

My job is to get a job, and it is to this end that all my efforts in studying programming, writing code, blogging, planning, and networking are directed.  It is tricky to strike a balance, because what I really want to do is code and study to code better, rather than promote myself.  In order to achieve this balance, I manage my time carefully, work as productively as possible, and prioritise my activities rationally and with discipline.  From day to day, I can give a full account of where I was, what I did, what I got done, how much time I spent on each task, and where I fell short of my goals.  The system I have devised for myself is the fruit of many years of research, trial and error, and it comprises the following:

Mindmaps and charts for setting goals:

Storyboarding and progress charts for reviewing my progress:


Kanban for managing tasks and prioritisation:



A daily schedule:



Pomodoro method for maximising productivity throughout the day


And blogging, of course:



By means of these tools and methods, I generally complete 12-16 pomodoros per day of productive labour across the following categories:

  • Coding
  • Studying coding
  • Blogging and planning
  • Job-seeking
  • Translation from English to Lithuanian
  • Studying Lithuanian grammar
  • Daily exercise
  • Daily strength training
  • Creative writing

In addition to these, I cook all my own food and keep house.

I attend all of the social and networking events related to Ruby and Rails, and make a point of speaking to new people.  Although I prefer to listen to others' stories, I understand the importance of putting myself out there and share my story; I routinely ask for criticism and make a point of highlighting the shortcomings in my approach that I can detect, in the hope of eliciting further constructive criticism.



From 06:00 until 18:00, Monday to Friday, it is a race against the clock to see how many blocks of work I can complete, and within each work-block, that same race is run at a sprint to complete a specific task or solve a problem.  I can say without a doubt that I have never worked so productively and efficiently, although I never give up the pursuit of working smarter and doing things a little better each day.


Tuesday, December 6, 2016

Syntax Highlighting!

This blog officially has syntax highlighting!

BASH

# Hello world for the Unix shells (sh, ksh, csh, zsh, bash, fish, xonsh, ...)
echo Hello World

JavaScript

// Hello World in JavaScript
document.write('Hello World');

PHP

// Hello world in PHP
echo 'Hello World!';

Plain Text

Hello, world!

Python

# Hello world in Python 2
print "Hello World"
# Hello world in Python 3 (aka Python 3000)
print("Hello World")

Ruby

# Hello World in Ruby
puts "Hello World!"

Saturday, October 29, 2016

The Source Code for for My Second Dash Project (Personal Blog)

<!DOCTYPE html>
<head>
  <link href="/normalize.css" rel="stylesheet">
  <style>
    header {
      text-align: center;
      background: url('https://i.ytimg.com/vi/M9RkUnmeW6I/maxresdefault.jpg');
      background-size: cover;
      color: white;
      font-family: ubuntu;
    }
    a {
      color: white;
    }
    h1 {
      font-size: 70px;
    }
    img {
      margin: 40px 0px 0px 0px;
      border: 7px solid white;
      border-radius: 20px;
    }
    ul {
      padding: 10px;
      background: rgba(0,0,0,0.5);
    }
    li {
      display: inline;
      padding: 0px 10px 0px 10px;
    }
    article {
      max-width: 500px;
      padding: 20px;
      margin: 0 auto;
    }
    @media (max-width: 500px) {
      h1 {
        font-size: 36px;
        padding: 5px;
      }
      li {
        padding: 5px;
        display: block;
      }
    }
  </style>
</head>
<body>
  <header>
    <img src="https://goo.gl/JEnUHP" width=20%>
    <h1>Alexander's Blog</h1>
    <h2>The long and short about me.<h2>
    <ul>
      <li><a href="https://missiondevops.blogspot.com.au/">Mission DevOps</a></li>
      <li><a href="http://alexandergarber.blogspot.com.au/search/label/missionmobility">Training</a></li>
      <li><a href="http://alexandergarber.blogspot.com.au/search/label/theodessia">The Odessia</a></li>
    </ul>
  </header>
  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>Mission DevOps</h2>
    <p>My mission is to become a software developer, and ultimately a DevOps engineer. On this blog I will share with you my journey into this exciting and complex profession.</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk9lmDzihezMpVjVM7dGc_GkuhRrEF6ix_BpDF15bTTXR1OTzHyC9mcx3VDlgtxI_wtbi6RcnZkxKu0am-gVr6JfMTcehWyRB_ZSNT3uWeN5Jg-YVFKLUR6GkP_0G0MG-A74RXa3sShktP/s1600/Screenshot+from+2016-10-26+13-53-52.png" width=50%></div>
</div>

  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>Strength and Flexibility Training</h2>
    <p>Since the early 2000s I have been on a personal quest for an antidote to the sedentary nature of modern living.  I have learned much that I wish to share with the world.</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="https://lh3.googleusercontent.com/pBIqNtwwHBtkI2LLgXDWz6aLOdHy7Vb7VzgrJFPJBWCHg249Gc02FArZNUKDHWLw468KS7f_0Pcv3ENeojgP9N4D3Ho6JB-YIoUBQQcAfy8GG80WFXt_SGK8WJG_O57NvB5O2ZA4GiUrw4gttYfbVqfF_QVnzp-REYoZ-23iH1KnLP2iVe5vUUJM-22APxl-Uf-kZVghdonwlb5_i8-3fzmDbMLSF96fd21OtshYWR-8nvon6H6tuwP2NV_zqbhx1nUiYw3Wm5ZYlu2cgpDcIAFJ4YoMdCfWeJZ6e11B-yn3uhUZYyY--xUE6sz2i3bBXZI0G-GlhhR-VLgIM_4ZYMUpJQ0lpAQx_qYMpLeBOAYAh09Psm-CDTJFlRaHblo81-HN9mBdw73dxR0V3TN32HtuH3vLdkx13awaNQEdV-KIjcdg6cO1SIIL54ouSnfrDMJUvRZJtQF8D_u9QpHB7FGaGWm-UKBiodgCDWSK2Knhtl72x5HVhn6ABD0DAjWFFUYttfvN4_RPR2Ton_qz4KPU2jc_U4OSwDj-MsGOy8MC9Tt5YcNo_hevx45nDDMtSzDRr4dOcQektxIeeN-1JFqgU0G07dBne9izWwRZa0QH9s--=w506-h491-no" width=50%></div>
</div>

  <div style="width: 100%; overflow: hidden;">
    <div style="width: 50%; float: left;">
    <article>
    <h2>The Odessia</h2>
    <p>The Odessia is a fantasy novel that explores philosophy, free market economics, love, life, and the universe through the adventures of its heroine, Odessa, and her travelling companion, Trousers the cat.
</p>
    <button>Like</button>
  </article>
 </div>
    <div style="margin-left: 50%;">
       <img src="http://theodessia.weebly.com/uploads/4/1/5/9/4159515/916806.png?432" width=50%></div>
</div>
  </script>
</body>

1,050 hours

It took me 13 working days to complete my first 100 "work" pomodoros as a Junior Software Tester at Profectus Group.  Much of ...