My first time building a keyboard, I didn’t have a mental map of how a keyboard worked beyond “well it sends a signal and boom, things happen”. I had been using a Corsair k60 mechanical keyboard for nearly decade, but for the most part I just enjoyed it and didn’t dig very deep into how…More
Teaching my nephew how to code – the basics.
This isn’t a serious post. Just a personal story/recap of what I’m doing to teach my 11yo nephew the basics. We started with Scratch last year, but both of us got tired of that environment pretty soon. We had a ton of fun making little games, but both of us are low on patience, so…More
Your manager can’t read your mind.
Here we go again. Stash my work. Create new branch. Understand what has to be done. Do it all over again once this one is done. Get asked why the ticket I had to drop isn’t finished yet. Well, because you gave me a different task, that’s why!More
Are junior devs supposed to contribute to production in their first weeks or month?
Learning how code goes from your precious code editor and into users lives is a critical skill for engineers At All Levels while they onboard into a new job.More
Your team wants you to succeed. Don’t stay stuck.
It was Monday morning, and I’d been thinking about it through my weekend. A developer in my team wasn’t making any progress and now a ticket was delayed. They weren’t asking for help, and our offers to help them were not being received as we hoped. Instead of accepting the team’s help, they kept saying…More
Remote onboarding 101 – “Whenever I reach out, I feel like I’m bothering them”
“It’s really hard to get mentorship, I don’t have the support I need.” new remote developers Remote or not, one of the first skills we need to teach junior developers is how to ask for help. Junior devs often fear that reaching out will make them look bad. To help them get over this problem,…More
Hybrid is coming – how do I make meetings inclusive for remote workers in hybrid setups?
If one of us is working from home, everyone is remote.More
Onboarding Remoto 101: permite que personas nuevas al equipo mejoren la documentación existente.
Uno de mis hacks favoritos de para mejorar procesos de inducción u onboarding es darle a todas las personas nuevas permiso para que editen o envíen sugerencias directamente en los documentos de inducción, y pedirles que mejoren el mismo mientras pasan por el proceso.More
Remote Onboarding 101: give new employees the power to improve your onboarding documents.
Make onboarding better, one small change at a time.More
Remote Onboarding 101: tell them Where, When, and How to show up.
Ensure no new employee has to wonder “Do I still have a job?” on their first day.More
Leaving a job – reflections & timelines
I gave my notice, we agreed on 3 months, and we set to work. The first month was about setting things in motion, and creating the right environment for a transition. We made an offer to someone on the team to take over my role as CTO, answered all questions that came up, and worked…More
FunEmployment log #1 – Gather Town
Gather provides virtual spaces where people can hang out. Similar to the old Guild houses in MMORPGs, Gather provides a customizable virtual world for you and your friends, teams, or any other group you can think to meet online. They provide a limited HTTP API, and are planning to add Web Sockets at some point.…More
More thoughts about management.
I wrote this as my answer to an application question for a remote company a few years back. It’s a bit outdated, but I thought I’d share it anyway. In a broad sense, to me management is about people and the things that stop them from achieving what’s important at an individual, team and company…More
Ensuring new tech leads get a chance to succeed
When assigning technical leads, take care to put them in a situation where they will succeed easily, especially if this is their first time with a tech lead role. The tech lead role is one of the most challenging roles to go into because you live in a sort of limbo where you are still…More
Engineering Management feels slow sometimes.
The rewards come slowly compared to individual contributor work, but they tend to be more interesting to me because I can see the impact of my work on people and projects in a more global way. It can be someone finally getting that promotion they have been working hard to get, features shipping with a…More
Pragmatic engineering management.
I tend to approach engineering management decisions as I do software development: small adjustments most of the time, big refactors only when the potential long term rewards are worth the risks and there’s no other viable solution. Like in software engineering, the context in which we make decisions matters. The strategies that make sense in…More
Technical debt – where the value hides.
[this is a short, not fully developed blog post – consider it “in development”] I’m getting into the habit of learning in the open, and I think part of letting go of the idea that I need to do everything right is allowing my incomplete ideas to be in the wild. I think a lot…More
The fallacy of the brilliant jerk.
Early days The signals were there from day one. One of your direct reports asked a question, and Adrian answered with a mocking tone. You told yourself you’d have a chat with him before the day was over, but by the time your meeting is over, they are all cracking jokes together. You shrug it…More
Some newbie thoughts about Roadmaps
TLDR: from my perspective as a CTO-doing-product-manager-stuff, the key part of building a roadmap is not what the document says, but what I learn and the connections I make through building it and maintaining it. If I just throw a bunch of features in a planner with no clear alignment to the org’s goals and…More
Remote work is not a catch-all excuse for bad team communications.
When you have offices, a lot of your communication happens face to face, and most of those interactions aren’t documented anywhere. Jeff said “paint the walls red”, and Anna’s team did exactly that. If this happened in a hallway chat, there is no documentation of why they decided to do it, or when. If there…More
Building product development processes.
Early in my career, I used to think process was something people introduced because they were bored and had nothing better to do apart from bothering us, the productive, bread winning devs that built the thing. Years later I found myself working with a team that had all the elements of a process and none…More
Engineering Management is like Debugging
Engineering management is a lot like debugging and bug-fixing at times. Sometimes you don’t know much about a failure except that it happened. Sometimes the solution is clear but risky in some way, and sometimes you just know what needs to be done and wonder why you didn’t do it earlier. More often than not,…More
Challenges of remote work
I’m a huge fan of remote work. It’d be hard to convince me to take a role where I need to go to an office every day. Even as a remote work believer, there are still days when I wish we could get everyone in the same room for an hour without it being a…More
Open offices are not for everyone.
“Remote isn’t for everyone.” is something I heard many times over the years. While I believe that’s absolutely true, I also believe that shared offices are not for everyone. Even offices with doors that close aren’t for everyone. Open offices are considered the “one size fits all” of work environments. They’re advertised as a good…More
My personal hiring principles.
We expect to create inclusive, diverse, high performing teams that help the organization reach their goals. How we do it may change, but the goal never moves too far from the above.More
Remote developers need to grow in remote organizations
Most companies and teams know the benefits and the need to hire junior engineers; after all, that’s where seniors come from. While that’s true for many companies, for many remote leaders or folks who are considering a remote job, the idea of hiring early career engineers seems to trigger an automatic NO reaction. I’ve talked…More