Monday, October 23, 2017
Monday, October 16, 2017
Thursday, October 5, 2017
Work-life Balance
Most of my day is spent sitting in a chair, and although there have been many days more sedentary than I should have liked, it's a boost to complete a full fitness pomodoro cycle.
If I exercise five times a week, this should take me twenty weeks to complete, but life got in the way this year.
Oh well, every bit counts.

If I exercise five times a week, this should take me twenty weeks to complete, but life got in the way this year.
Oh well, every bit counts.
Monday, October 2, 2017
1,300 Pomodoros: Humility, Gratitude, Motivation
| 650 hours very well spent, but hardly an excuse to rest on my laurels. |
Humility: Knowing Your Place
As a junior developer, all my considerations start from recognising the humbling fact that my company does not need me, yet.
So far, time and money spent on me have not profited the company.
As things stand, the company would be better off without me.
So far, time and money spent on me have not profited the company.
As things stand, the company would be better off without me.
If I do not significantly improve over the coming weeks and months, the case for terminating my position at the company will consolidate; reasons to keep me, evaporate.
Gratitude: Accepting Responsibility
In light of these discomfiting understandings, it is clear that a great responsibility is placed on my shoulders. In spite of my limitations, my boss sees potential in me, and has already gambled a substantial amount of time and money on helping me get to my present position. Even if I can't see how I am to cross over into profitable productivity, he can, and because I trust and respect his judgement, the onus is on me to find a way to come good.
The way I look at my internship is that the company — without really needing to do so — is giving me a gilt-edged chance to build a compelling business case for hiring me. I have access to the code base, I can ask for help, I have an excellent Linux-based System 76 laptop, and most importantly, I have a generous allotment of goodwill and trust.
Motivation: Hunger and Hope
So what does this mean for me in practice? It means staying hungry and hopeful.
It means getting up every morning with a strong determination to do my best right now, for the next twenty-one minutes, and the next twenty-one minutes, and the next, until the end of the day.
It means poring over every detail of my assigned task, taking notes, searching for key terms in the code, reading and re-reading the manual.
It means making sure I've done everything I can and have the best possible understanding of the matter before contacting a senior developer, and then asking the most specific, intelligent question I can put together.
It means overcoming the fear and frustration, the anger and anxiety, of not knowing the answer, day in, day out.
It means being honest with myself and making available a regular feed of how I'm getting along; not a sugar-coated status update, but an unobtrusive stream of reports by means of which those above me can realistically appraise my progress.
It means reminding myself of where I started and where I want to be.
And finally, it means that as long as I am in the game, I have everything to play for.
It means making sure I've done everything I can and have the best possible understanding of the matter before contacting a senior developer, and then asking the most specific, intelligent question I can put together.
It means overcoming the fear and frustration, the anger and anxiety, of not knowing the answer, day in, day out.
It means being honest with myself and making available a regular feed of how I'm getting along; not a sugar-coated status update, but an unobtrusive stream of reports by means of which those above me can realistically appraise my progress.
It means reminding myself of where I started and where I want to be.
And finally, it means that as long as I am in the game, I have everything to play for.
Wednesday, August 30, 2017
First Successful Pull Request
- A new IDE. (Rubymine instead of Atom)
- Tighter security settings around my Github account, which is rather a good thing.
- Getting a large and complicated server with many dependencies running on my machine.
- Getting a new System76 Gazelle Linux box. (Amazing!)
- Writing RSpecs at a level of complexity far above anything I've learned.
- Using Rubocop — really not hard, I actually quite like it.
To a seasoned programmer, it was a small thing, but it is a momentous occasion for me.
And may it be the first of many.
Tuesday, August 15, 2017
Wednesday, August 9, 2017
1,000 Pomodoros: First Gig Edition :D
Over the last seven months I have spent a thousand pomodoros (25-minute blocks), i.e. five hundred hours, in pursuit of a new career as a software developer. The bulk of my time has been spent on the following:
- Studying coding (40% => 200 hours),
- Writing code (40% => 200 hours)
- Writing about this journey (10% => 50 hours),
- Networking and actively applying for jobs. (10% => 50 hours)
I am grateful to the team at Gleam for this opportunity to learn the ropes. I am ever increasingly aware of how much there is for me to learn, but I will give it my best.
Wish me luck!
Wednesday, July 26, 2017
Introduction to AngularJS/1 Complete
If, for some reason, you need to familiarise yourself with AngularJS, i.e. Angular 1, I can strongly recommend this free course by Scott Allen from Plural Sight:
https://app.pluralsight.com/player?name=angularjs-get-started-m0&mode=live&clip=0&course=angularjs-get-started&author=scott-allen
He moves at a fast clip, so you'll probably pause a lot to keep up with his code, but it's a good introduction to the main features of Angular JS, especially if you're completely new to this kind of work.
Monday, July 24, 2017
Saturday, July 8, 2017
Weaning Myself Off Nested Conditionals
Thursday, July 6, 2017
Wednesday, July 5, 2017
800 Pomodoros (400 work hours)
I have officially spent 400 hours in my pursuit of a career in software development.

I summarised my achievements at the completion of 700 pomodoros, and I don't have an awful lot to add, except that I understand HTML and CSS a bit better and am in the process of refining my knowledge of programming fundamentals in Ruby.
There are days when I feel a little disheartened by not having a job yet, but I knew it would be a long process when I started it and there's plenty to take heart from. Let's see how I'm situated by the end of this cycle.
I summarised my achievements at the completion of 700 pomodoros, and I don't have an awful lot to add, except that I understand HTML and CSS a bit better and am in the process of refining my knowledge of programming fundamentals in Ruby.
There are days when I feel a little disheartened by not having a job yet, but I knew it would be a long process when I started it and there's plenty to take heart from. Let's see how I'm situated by the end of this cycle.
Saturday, June 24, 2017
Monday, June 12, 2017
A Snippet of Code for Converting HTML Classes to CSS
I'm practising my Flexbox skills and I didn't want to type out the names of the classes ad nauseam.
Wednesday, June 7, 2017
HTML and CSS Is Suddenly A Lot More Interesting
I don't know why, but somewhere into the freeCodeCamp HTML/CSS foundations challenge, I suddenly found myself enjoying it. I am, of course, quite familiar with the basics of HTML and CSS, but I had never found it especially compelling; I was happily absorbed in Ruby for hours and hours, but couldn't have imagined that I'd enjoy the building blocks of front-end.
Nevertheless, something clicked for me, and I am going to focus intensely on HTML and CSS for a while, before moving on to jQuery and JavaScript.
Tuesday, June 6, 2017
Coming Back from Disappointment: A New Chapter
Review: Putting it all in context
After 700 pomodoros of studying, coding, blogging, and job-seeking spanning five months, I am still without my first job as a junior developer. The hardest part of it all is maintaining an optimistic outlook after repeatedly being turned down, especially after the excitement of performing so well in numerous interviews.But that won't stop me. There are identifiable reasons for my failure, and the good news is that all the things cited are eminently improvable and correctable:
- Quite simply, the quality of my code, into which I have poured so much effort, is still not good enough in the estimation of the interviewers. This is good news, for I can learn from their feedback and code to a higher standard.
- After one poor performance in a pair programming interview, I handled myself well in very similar conditions three days later. I know where I went wrong in the first one; I know what I did right in the second. I can build on this.
- I need to familiarise myself with the core competencies, frameworks, and tools of front-end development. My plan was always to give myself a solid foundation of programming in Ruby and a basic sense of DevOps with Vagrant and Docker, and although there is room for improvement in that regard, the task of getting really good at HTML, CSS, Rails, Heroku, etc is now a lot easier.
Add to that, I have gained a lot of contacts, spent plenty of time at meetups, made good impressions on many people, and have a highly sophisticated approach to learning and time-management.
So all things considered, I am many miles further down the road than when I set out on this journey at the beginning of the year.
Where to from here?
Rails
I think I'll muscle through Michael Hartl's Rails tutorials. Although there are many good ones, this one is updated to Rails 5 and seems to do a fair job of sticking to the core knowledge. The Odin Project looks good as well, but there's no point in jumping around from course to course.
HTML/CSS
Many experienced developers tell me that most juniors today are pretty weak on HTML and CSS, having jumped straight to boilerplates, JavaScript, and plugins.
As with other endeavours, I believe wholeheartedly in mastering the fundamentals. It is hard to make such a commitment to something seemingly outdated, but I believe it will benefit me greatly in the long run.
JavaScript
The debate between Ruby and JavaScript rages on, and I have heard it said from those in the front-end world that the only language you really need is JavaScript these days. I am glad I chose to learn through Ruby, and having gained a grasp of the fundamentals, learning JavaScript will be less daunting from here on out.
Summary
As much as I'd love to have been picked up by a company already, I am not really behind schedule at all, all things considered, and having taken some time to relax, recharge, and review, I am now keenly looking forward to the next couple of months.
Thursday, June 1, 2017
Wednesday, May 31, 2017
Sunday, May 28, 2017
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.
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)
Wednesday, May 10, 2017
Pomodoro Cycle Complete 2017-05-10
Lots of coding exercises and interviews.
Not much study or blogging, but most of what I have been working on is confidential, if you know what I mean.
I should be interested to work out how many pomodoros I've put in since the new year - about 100 per 2½ weeks.
Whatever I'm doing it's starting to work, so I just have to keep at it.
Wednesday, May 3, 2017
State of the Mission, 2017-05-03: Lots of Coding
I know I've been very quiet lately, but there's a good reason for it.
Here's what I've been doing on Verbalyser:
And this is what I've been focused on for the last few days. I'm not at liberty to share my code, but I think it's pretty clear how I've gone about it.
Here's what I've been doing on Verbalyser:
Friday, April 28, 2017
Refactoring and Unicode
Ruby's implementation of Unicode for Lithuanian, an admittedly complicated language, is not perfect but I have modified a useful script on Gist for identifying the unicode value of a given character.
Now that I can identify the unicode value of tricky diacritics and accents, I can refine my code.
Details of the script here.
Now that I can identify the unicode value of tricky diacritics and accents, I can refine my code.
Details of the script here.
Wednesday, April 26, 2017
Monday, April 24, 2017
Subscribe to:
Comments (Atom)
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 ...
-
Whilst working on Exercise 15 of Learn Ruby the Hard Way , the author prompted me to ponder the difference between gets.chomp and $stdin.g...
-
I worked through the excellent introductory course to Ruby by Boris Paskhaver on Udemy.com ( https://www.udemy.com/learn-to-code-wit...
-
I have finished re-writing my text adventure game, Tree House Prince, available here: ( https://github.com/clockworkpc/tree-house-prince...






























