• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Dion Almaer

Software, Development, Products

  • @dalmaer
  • LinkedIn
  • Medium
  • RSS
  • Show Search
Hide Search

Archives for June 2015

Three Habits for a Healthy Brain

June 11, 2015 Leave a Comment

Because, synapses

Have you ever been in line for something and found yourself reaching for your phone? You realize that your email is all read, you don’t have the time to get back into that Kindle book, so you launch Facebook or Twitter. We all do it. The thing is, we are feeding ourselves with a semi-random flow of information that is pushed to us by one particular algorithm. What is the algorithm optimized for? Engagement, and another hit.

I started to build habits to help me.

Habit One: Separating Gardening from Consumption

If I start following lines in my feed, an hour can go by and I don’t even know where it went. I just kept tapping through links and coming back to my feed for more. How could I make sure that I am reading what I actually think will be useful from my feeds and network?

When I have the micro-moments I go into gardening mode. The rules of gardening are that I don’t stop to “eat”, but instead keep working on the garden. If there is something that looks interesting I send it to Pocket for later consumption. No reading allowed. You find that in this mode you get bored quicker and exhaust your feed. The end result is that you get back to the other tasks at hand.

At other scheduled times I go into consumption mode. This time, I open up Pocket and order my reading based on what I think is most interesting from the entire corpus. This all means that I read based on sort(content).by(mostInteresting).

Habit Two: Goal vs. Timing based learning

The first habit works well for saving me some time on the task of keeping up with what is happening with the world. It doesn’t help me actually reach my goals though. Do I want to wander down the path of knowledge randomly, or would I prefer to do some thinking about what I want to learn in life up front? These goals can change and should be revisited, but going through the exercise changes how you spend your time drastically.

It turns out that human civilization has produced quite a bit of fantastic content already! This new article on Medium may NOT be the most important piece of information for you today (hmm, why am I writing this then? ☺) . If new new content was ever created again, we would still have far more content that we could ever consume in our life times (until Ray is correct and we merge with the singularity!).

If I build a learning path out, then I can build up content that I want to consume that takes me along that path. I am pretty sure you will then end up spending more time on Khan Academy and less on Facebook.

For complex topics you will want to dedicate substantial time and structure. I am talking more about microlearning moments here, and there is room for goal based learning too.

I have become a True Believer in spaced repetition learning. It started with Duolingo, a perfect example of the approach. I have spent a few minutes every day learning Spanish and it works (well, at the very least it works at getting me good at doing Duolingo Spanish!).

The system is getting information into your brain, and when it falls out again it will automatically put it back. If there is a topic that you don’t quite grok you will find yourself quizzed on it more until it is firmly in place.

Since Duolingo gave me such good results with minimal time investment I decided to take this to other areas. I created modules with information across the spectrum of my interests.

Some examples are:

Humans are weird flawed animals. I believe it is vital that we understand our flaws and thus want to understand the cognitive biases that we tend to have. This doesn’t mean that I won’t fall for the same tricks on a daily basis, but it HAS come in handy a few times for: a) helping me make different choices when I do catch myself, b) tricking others (for good I promise!)

Health. I want to understand how certain systems work in my body and why I have made particular choices. This data set puts that information top of mind.

Work. What are the key KPIs and how are we doing? What anecdotes do I need to remember? Why were certain decisions made? This became a super power in situations when decisions were being made and the other side didn’t have the data but only have some stories.

People. Who do I want to remember and what do I want to remember about them. People in my life have a special project (don’t worry!)

It feels really good being able to basically prove what information is available in my head and keeping it there. What is amazing is that as I flush out the corpus the time commitment hasn’t scaled linearly at all. The brain is freaking amazing (even if flawed).

Doing this type of training doesn’t take time, and you can pick it up throughout the day. This makes it a perfect replacement for launching Facebook when in line!

Habit Three: 50 minutes, 10 minutes

It is hard to focus for long periods. Your brain and body need a break. I am trying to take that into account and use 10 minute breaks for several activities, such as:

  • Gardening (ideal if kinda fried)
  • SRS Study
  • Daily Push Ups (N+1 every week)
  • Elevate brain training
  • Meditation
  • Plank Challenge
  • Consumption Catch Up
  • Napping!

It gives you that little break and transition between meetings… er between tackling tasks!

I am excited to see where this all goes for me. I have already seen great benefits, and hope to see more as I tweak various elements. I definitely realize that “putting some piece of info in your brain so when you see X you can recall Y” doesn’t equal having the knowledge that will show up when you really need it.

I am also keen to see what can be done with my kids. I have created a “What I want my kids to know and be able to do before they leave the nest” list and want to see how I can flush that out.

I look at this and start to move my neck around :/

A lot of the learning that I want to do is very much offline and off device. It is great to get off of Facebook and onto something else, but how about not rushing to pull out me phone? Instead turn on Forest and move on

How do you handle those down time moments? Would you be interested in using that time for something else?

You have too many job levels!

June 10, 2015 Leave a Comment

So much easier when you have points and simple metrics to define your s/class/job!

Data is great, but whenever you see data being applied to areas that you can’t easily measure then it feels like it is a recipe for trouble as the room to distort is abundant.

There are many fields like this but have you noticed how this happens in spades in HR (or “People Ops cos we are talking about people not RESOURCES”)?

At most companies with a sizable employee base you find The Levels. I am filled with dread as I open up the excel spreadsheet that defines each of the degrees of various professions. It is extremely rare that there aren’t far too many stratifications.

Where else do we see the notion of levels? Martial arts are the prototypical examples. As a practitioner you climb up the ranks with hard work and by proving yourself mastering and demonstrating your proficiency. In many of these practices it can be somewhat clear what to master, but even so it isn’t an exact science.

Helen may be able to beat John in 2 out of 3 bouts, but Frank tends to beat Helen even though he can’t handle John.

Also, martial arts and the levels are not just about combat. Whoever defines the level requirements ends up setting the incentive structure and thus defining the type of martial artist they are moulding.

“I have a black belt!”

This phrase is right up there with: “I ran a marathon”. It is a sentence that tells you something about a person. With the marathon runner you know they put a lot of effort into getting their fitness level to push their body over 26 miles. Sure, they may have done the race that didn’t have any hills and with good weather, but even the best case is an accomplishment.

With martial arts it isn’t quite as simple. I doubt that someone had an easy path to black belt, but the milestone differs by a wide margin. I enjoyed Karate as a kid, and have also seen martial arts through the eyes of a parent. A black belt for me was at least a 10 year odyssey, but at some of the dojos they give out belts like candy. I get it: “if we keep giving out belts kids will like it and keep coming (and paying)”.

Should you be able to “test out” and jump to a particular belt if you studied all of the requirements? Or, is the journey part and parcel of climbing the levels? There are many intangibles such as building the relationships with fellow students and instructors.

Can you quantify the value that a job role or a person brings to a business? It is very very hard indeed. There is so much context and external forces (Frank, an engineer, builds a tool that delivers some value, but his profession puts pressure on the salary required to keep him!)

The reality is that compensation is not fair for everyone at your company. The process was never setup correctly to begin with and it has changed constantly over time. Some would gain from that, and some would lose. In the era of acqui-hires, a distortion effect happens where peers doing the same work (but who came in the front door) don’t get the same rewards. While it can be a good lighter fluid to bring in talented people this way, you shouldn’t ignore the negative side effects. You have to ask yourself: if they wouldn’t join the mission as an employee, are they right for us? Are we taking care of our core employees? Are we building a great base to smooth out the distortion?

As a society we tend to have shorter and shorter stints at a job. Executives are also getting paid (proportionately) more and more. Add this to the nature of public markets, and are we not building the incentives for an incredibly short term culture? We may trick ourselves into thinking “it isn’t short term thinking, I am just trying to get shit done!” but I have made many mistakes in judgement by taking an easy short term approach. One reason why “still having the founder” can seem to matter so much to great companies is that they are there to think long term. They aren’t thinking about how “if we can just make it a couple more years we can cash in on our huge executive salary!”

Back to the insane number of job levels. These quickly show employees how unfair compensation is. If there are 13 engineering levels (I have seen this before!) with a large number of engineers, then it is pretty simple to find someone around you who is above you in level but not competency (especially in your biased opinion).

If you are struggling to define the differentiations between levels then you have too many. Matt Briggs has a fantastic article on the role of a senior developer which clearly articulates some differences:

A good junior developer can be given a known task, and be expected to execute it quickly, and well.

A good intermediate developer needs less supervision. They can be trusted to raise issues of code design, and play a valuable role in design discussions. They are also the “workhorses” of the dev team. However, further mentoring and higher level supervision is still vital.

A senior developer is intimately familiar with their own failure. They have written code both under, and over designed, and have seen both fail. They are reflective about the things that they do, evaluating their successes and failures when approaching problems with intellectual honesty. A senior developer has fallen out of love of the complexity which dominates the intermediate, and is obsessed with simplicity.

If you haven’t done this thinking and laid it out for all of the engineers then you aren’t done.

This exercise also allows you to separate various needs, such as:

  • How do you handle compensation?
  • How do you make it clear who owns particular decisions?
  • How are the management and individual track different? (please don’t conflate them!)
  • How are we helping our engineers get better at their craft?

It will help you with the hiring process too. The obvious question is: “How should our process work to know if someone is at a particular level?”

You may surprise yourself with the conclusions: “You know what, it has been really hard to get this right. Instead what if we slot people after we have hired them and they have spent time with us?” This is a trade off too, as it means you can’t be as clear and you risk pissing people off if they think they should be more senior than the slotting process found them. There is a constant battle between clarity vs. doing the right thing and the reality that we don’t have enough information up front and this sets people up based on too much luck. This realization may also have you setup the right levers so you can move people around as you find out you are wrong.

At a larger company the leveling can far too often be relative to the group vs. the organization. This happens with performance reviews in spades. If you have ever had to deal with the pain of stack ranking then you know how frustrating it can be. Let’s say you are on a small team with high talent density. You know that a weaker team elsewhere with a poor leader is rating their folks high, but your team with strong expectations blows them all away, yet rates lower.

I have gotten a real appreciation for organizations and setting up the right incentives and tools. In a startup you can wing it so much more, but that is much easier than solving at a bit of scale (truly a small number of people).

I think it will be increasingly important to define the parameters and values, and arm people with the right tools to offer a flexible career path at their job. Expose the trade offs to the entire team and let them be part of the process. Focus on areas such as role clarify vs. too much process in the wrong places. Somethings will not change much over time as they are tied to the company values. Other solutions are solving temporal problems and should be clearly marked as such so the team can understand the why not just the what.

WWDC and Google I/O Sure Feel Different in 2015 :/

June 9, 2015 Leave a Comment

Pamela Fox and I hacked this together

I have to admit my bias. I was at Google when the developer program started (and started to matter). It was fun to see it birth from the world of Google Maps APIs, developer support, and the open source crew.

Before there was Google I/O it was named Google Developer Day. In 2007 we had the crazy idea of having the event on the same day across the globe, creating a 24 hour party.

Things were pretty grass roots and raw back then. One example is the website image that you see above us here. No one really planned out the website so Pamela Fox and I hacked it together last minute. We wanted to use Google APIs, and we wanted it to feel alive, so as the day went on the map updated to let you know what was going on when and where. The powerful backing database? A Google Docs spreadsheet. Holy simple “SPA” batman!

The size of the screens sure get bigger!

Having just finished up Google I/O, and with WWDC starting today, I can’t help but reflect on how different things feel!

Steve and Apple set the expectations for a keynote at one of these things. Over time though, it has started to feel a little cookie cutter. I was very excited when Tim Cook didn’t go through the stats and show people cheering as they purchases their Apple Watch’s at a store.

However, the expectations felt unwieldy this year. I do not want to seem at all negative, because I know that an army of engineers (and others) are working like crazy on the latest releases of systems such as iOS and Android. I am happy for this year to be a “snow leopard” type year where we get the basics cleaned up, and the teams are given some time to trim the back log.

Some product managers may shudder at this, thinking that the engineering teams will go off on a refactoring rampage in the name of this clean up and nothing will really get done. The good ones though will understand that there are areas of cleanup that are truly needed (and if they are using their products they will feel this, as man my OS X and iOS devices crash, hang, and perform worse than in my history) but also small features that can be gotten in that actually make a difference.

Everyone has their pet peeves. Small things such as:

  • Real family support: just let me and my family see everything, share storage, shove photos into one large pool and be smart about grouping, vs. the “family sharing” that makes it impossible for my kids to find what has already been bought
  • Clean up notifications: if I get an annoying one let me fix it from there. Let me search and find the app vs. the huge scrolling list, etc.
  • Background work: never again should I get a push notification, launch the app, and see it loading content that I JUST SAW.
  • When adding a contact YOU work out if there is an existing one or not please!
  • We could go on and on I know.

The keynote showed some small things like this, but the problem is that they don’t fit these keynotes and their expectations! When the script goes through the keynotator it adds in “amazing”, “beautiful”, “you will love this”, which doesn’t fit for a tweak to the Notes app. Could you imagine Microsoft coming out talking like this when they updated notepad.exe in Windows 98????

It isn’t that the features aren’t great, they just aren’t Great Features that can map to the realm of the revolution that is often shown on this stage. That is fine, just tone it down or change it up!

There were some interesting topics to discuss (changes in open source Swift, free developer accounts and easy way to get any apps onto device, etc) but instead of even the high level goodness we had to sit through chat about a music service that felt grandiose and just bloody long! And, wait, was I really hearing about Marks and Spencers and their Apple Pay support? I love hearing about back home, but come on.

I know, “you aren’t the audience! the keynote isn’t a developer audience anymore! just go to the other talks for that!”. It has gone too far though.

Google I/O had much of the same, with a lot of time spent on items such as a photos service, but there was still more technical discussion.

I miss the days where it felt more home brew, more “for developers but you other guys should listen in too”.

More Steve Yegge and less Jimmy Iovine.

I am starting to wonder if I am just getting old, and my thinking is too “get off my lawn”. I am curious to hear what the vibe is like but it seemed a lil off at Google I/O. Still great stuff. Still great people. But not the same.

Is this how the home brew folk felt?

I am off to check out the technical goodness that has come out of teams at Google and Apple. There are fantastic improvements, and there is still much to be done for our users.

« Previous Page
Next Page »

Primary Sidebar

Twitter

My Tweets

Recent Posts

  • Stitching with the new Jules API
  • Pools of Extraction: How I Hack on Software Projects with LLMs
  • Stitch Design Variants: A Picture Really Is Worth a Thousand Words?
  • Stitch Prompt: A CLI for Design Variety
  • Stitch: A Tasteful Idea

Follow

  • LinkedIn
  • Medium
  • RSS
  • Twitter

Tags

3d Touch 2016 Active Recall Adaptive Design Agile AI Native Dev AI Software Design AI Software Development Amazon Echo Android Android Development Apple Application Apps Artificial Intelligence Autocorrect blog Bots Brain Calendar Career Advice Cloud Computing Coding Cognitive Bias Commerce Communication Companies Conference Consciousness Cooking Cricket Cross Platform Deadline Delivery Design Design Systems Desktop Developer Advocacy Developer Experience Developer Platform Developer Productivity Developer Relations Developers Developer Tools Development Distributed Teams Documentation DX Ecosystem Education Energy Engineering Engineering Mangement Entrepreneurship Exercise Eyes Family Fitness Football Founders Future GenAI Gender Equality Google Google Developer Google IO Google Labs Habits Health Hill Climbing HR Integrations JavaScript Jobs Jquery Jules Kids Stories Kotlin Language LASIK Leadership Learning LLMs Lottery Machine Learning Management Messaging Metrics Micro Learning Microservices Microsoft Mobile Mobile App Development Mobile Apps Mobile Web Moving On NPM Open Source Organization Organization Design Pair Programming Paren Parenting Path Performance Platform Platform Thinking Politics Product Design Product Development Productivity Product Management Product Metrics Programming Progress Progressive Enhancement Progressive Web App Project Management Psychology Push Notifications pwa QA Rails React Reactive Remix Remote Working Resilience Ruby on Rails Screentime Self Improvement Service Worker Sharing Economy Shipping Shopify Short Story Silicon Valley Slack Soccer Software Software Development Spaced Repetition Speaking Startup Steve Jobs Stitch Study Teaching Team Building Tech Tech Ecosystems Technical Writing Technology Tools Transportation TV Series Twitter Typescript Uber UI Unknown User Experience User Testing UX vitals Voice Walmart Web Web Components Web Development Web Extensions Web Frameworks Web Performance Web Platform WWDC Yarn

Subscribe via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Archives

  • October 2025
  • September 2025
  • August 2025
  • January 2025
  • December 2024
  • November 2024
  • September 2024
  • May 2024
  • April 2024
  • December 2023
  • October 2023
  • August 2023
  • June 2023
  • May 2023
  • March 2023
  • February 2023
  • January 2023
  • September 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • November 2021
  • August 2021
  • July 2021
  • February 2021
  • January 2021
  • May 2020
  • April 2020
  • October 2019
  • August 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • October 2018
  • August 2018
  • July 2018
  • May 2018
  • February 2018
  • December 2017
  • November 2017
  • September 2017
  • August 2017
  • July 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • January 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012

Search

Subscribe

RSS feed RSS - Posts

The right thing to do, is the right thing to do.

The right thing to do, is the right thing to do.

Dion Almaer

Copyright © 2026 · Log in

 

Loading Comments...