Published on

Q&A with Dion Almaer

Technologist and product engineer, WalmartLabs Mobile

By day I have built products and engineering teams for companies such as Google, Mozilla, Palm, and Walmart Labs, as well as startups (my own and others) that you may or may not know.

By night I love to explore how we as a community can do better at building software products that help people. We are at a prehistoric age with primitive tools. We shoot our own feet. Yet we still manage to create amazing experiences and we are accelerating faster every day.

How did you get started in js dev?

I was at the University of Minnesota, birthplace of Gopher, when the Web hit. I fell in love with the connectivity that it brought, as well as the ease of use to deliver functionality. I found myself frustrated with out of date business models that didn’t seem right, e.g. the cost of college books for students (so I created a website to try to fix that for us), and the class registration system. I helped build the web based registration system that used a forked httpd codebase that would tn3270 emulate the mainframe system.

When JavaScript came around I was able to build more dynamic systems that I was looking for. I remember the pain of netscape.html and ie.html. Then I remember “dhtml”. I was giving some talks about how to create dynamic web experiences when JJG coined the term “AJAX”. Ben Galbraith, my partner in crime, then s/dhtml/AJAX/ on our slides and we had a packed house.

We created a website, ajaxian.com, to house sample code from these talks, and I started to blog about the AJAX revolution (I always loved being part of community, and was editor in chief of TheServerSide.com).

Ajaxian.com was a labour of love to help spread the word on how we could do better.

What is your background?

Now maybe we should go backwards in time. A few weeks ago I left my post as VP of Engineering for Walmart Labs after a four year adventure. Ben and I had a small startup, Set Direction, that Walmart acquired to be the team to run the global mobile business.

We had a phenominal four years with every year growing in different directions. It was a pleasure being able to build new mobile apps and services from scratch using the latest technology. The mobile web site was rebuilt using an SPA optimized to the hilt. Then the desktop website was rebuilt and it includes some leading edge responsive work. Node.js powers much of the middle tier, and it was powering back friday without us breaking a sweat.

Before Walmart, Set Direction worked on a mobile platform that explored isomorphic/conditional tier rendering. Prior to that effort I was at Palm working on webOS. I joined Palm from Mozilla because I wanted to show that the Web could power fantastic mobile interfaces.

Bespin was an open source code editor that we created at Mozilla. It started as an experiment to see if the Web could power something like a code editor. Fast forward to today and we have Atom, Brackets, CodeMirror and more.

At Google I joined the open source team and went on to work on Google Code, and various API efforts (e.g. Google Gears).

Before that I worked at various startups, always pushing on the developer experience and how to create fantastic end user products.

What are you working on now?

Since I just finished up, I have been enjoying a different pace! :)

I have found that once you leave a job it takes some time to decompress. It feels a lil like when I started to practice meditation (bloody hard). I would think about “work”, catch myself, and realize that it was OK to let go.

This has freed up my mind to think about other ideas. I am most passionate around education, productivity, and developer areas these days so I am poking on some tools there. It also gives me a chance to play with a variety of technology (React, React Native, Neo4J, Swift, etc).

What favorite software do you use for your work?

I am always bouncing between Sublime Text, Atom, and WebStorm when it comes to my coding.

I love tools such as Ulysses for markdown, and my personal database lives in Asana (even though I fight it to do what I want).

And what hardware?

I am boringly average these days, using a MacBook Air.

What is your ideal work environment?

Flexible. I dislike the trends of “open plan” (distracting) and venture capitalists who tell their startups they have to all be in the bay area (so they can spend their money quickly and need to go back to the trough ;)

I try to do the following:

  • Sit as little as possible: thanks to a standing desk, and doing walking 1:1 meetings.
  • Breaks: Take 50 minutes not an hour, and with that 10 minutes I will do one of: move (pushups, walk, etc), think (brain exercises, study notes, duolingo), meditate, or just do nothing :)

Ideally I would have everyone that I care about in the same building. That isn’t realistic, so I have fostered remote work environments where Slack is the water cooler. It offers constant trade offs, but I don’t want to write off the immense talent that is all over the world just due to location. As the Bay Area gets increasingly insane with its cost of living, and as the remote tooling improves, this will become an increasingly better bet over time.

Who are the js devs you admire most?

So many. Alex Russell, Pete Hunt, Yehuda Katz, Tom Dale, Jake Archibald, Paul Irish, Kris Zyp, Addy Osmani, Scott Miles, Dan Pupius, Aaron Boodman and my old friend Kevin Decker (who I have worked with for years now).

This is truly the tip of the iceberg though.