RSSAmplifier

Blog

Engineering Management

Recent content on Engineering Management

engineering-management.spaceRSS feed ↗70 posts

Latest posts

Find a mentor (or a couple of them)

A mentor is someone that provides guidance and is an important asset on our journey to be the best version of ourselves. Sometimes we have mentors and we don’t even realise it. But we should be conscious on who are our mentors, how to get the most out of them, find other mentors that cover other areas and also help them improve their own mentorship skills. I remember when I was at a company…

High throughput pull request reviews

I always liked doing deep reviews on pull requests. I’d try to have an ownership mindset. If I approve a pull request, then it’s as if I was the author. I’d need to have full responsibility and would be able to fix or change that code. This approach requires a significant time investment per pull request. And sometimes generated discussions and I always liked to discuss opinions…

Performance appraisal methods

Is assessing performance important? We usually have performance reviews tied up with end of year bonuses and promotions. I tend to focus more on performance towards continuous improvement. If we have a template of what we should accomplish and how to add value and we can see if we’re on track we can adjust and improve. I believe that performance talk should be held at 1on1s . We should not…

Less opinions, more hypotheses

I really like heated debates. It’s great to discuss different strategies of doing things and struggle until we align on a course of action. A healthy and productive team should have heated debates from time to time. But the main point should not be about being right . I think a lot on how to make these discussions more productive and how to take the most out of every participant. I’ve…

Scaling engineering teams

With growth companies tend to create new ways of work and interact in order to scale. The simple vision of small teams using the some agile methodology simply does not work in growing companies that want to retain talent and keep their engineers motivated. The repetitive work, the fact that small teams don’t have the capability to be responsible for several engineering solutions and the fact that,…

Unique interview questions to ask interviewers

Interviews are meant for companies and possible future employees to get to know each other and assess if they are a fit . Usually employers will lead interviews and try to get a sense of how proficient a candidate is. I have favorite programming interview questions that I use to achieve that goal. I also have a set of questions that I do whenever I’m on the interviewee side. I’ll want…

Lead Gameplay Programmer interview: João Pataca Oliveira - Ubisoft

I’m mostly experienced in building web apps. And I always wondered how other types of applications are built. Embedded systems, mobile apps, desktop applications, etc. Do we share the same practices? And mostly: what can we learn from other ways of working? In this interview I try to find out the differences to the AAA game industry by interviewing João Pataca Oliveira . How are their…

My favorite programming interview questions

It’s common for companies to have a set of technical questions to perform at programming interviews. We may have a set of generic questions, and also questions specific to the language and technologies we use. Having this script of questions is great for having a common ground between different interviews. If we always ask the same questions, it’s easier to compare candidate…

Software engineering KPIs

What would be a good set of key performance indicators for engineering projects and teams? We’re usually accustomed to see KPIs in a business context, and more used by sales, marketing, product squads. But I believe that the exercise of figuring out KPIs is very important. We’re talking about measuring our performance with simple numbers. Is that possible at all? If we do figure it…

Decision log: result based APIs

I usually advocate for building APIs that have the top level service classes/functions returning results . It’s common to return a value directly, but many times I feel the necessity of returning more things. It can be an error when something goes wrong, or even additional metadata that add information to the returned value. This is a decision log that discuss if we should use this…

Developer speed versus team speed

I was always very focused on speed and productivity , but mostly from my point of view . Developing features fast and with quality is still one of my favorite problems to solve. But now that I’m more of a manager, I have to deal with new insights. How can I balance developers that are so fast that they slow the team down? Usually developers frown on processes. They want to be left alone…

Suffering as a source of progress

While reading Atomic Habits I stumbled on a phrase that got me thinking on my goals as a team leader: “Suffering is the source of progress.” I’ve worked on several projects where the suffering was seen as usual. It was so usual that the developers didn’t even question it at all . I still see it happening to this day even on healthy teams and projects. There’s this…

We should track our decisions in a decision log

When we need to make decisions we may schedule a meeting, or start some POC or just lead by example. We’ll need to properly explain our idea, present pros and cons and communicate it well to all interested parties. A process we’ve been using for this is to create a decision log document. This is similar in concept to a RFC but the semantics are different. While on a RFC the focus is on…

Leveling up developers

As a line manager one of my responsibilities is to level up developers. This is something very challenging that I started to like a lot. I have a primary goal on my 1on1s : how can I level up this person? How can I follow the work that is being done and give good, candid, actionable feedback? How can we know that in fact we’re improving? This starts by trying to understand what my mentees…

If you love them, let them go!

Once upon a time I had a manager that spent the first two weeks of his then new job going through Excel sheets and meetings with the CEO. I had no idea what was going on, none of us in his team had. He was the first to arrive at the office, said good morning to the rest of us as we walked in, had coffee and some informal chats with us about how things were going and for those two weeks that was…

2018 in review

I created this blog almost one year ago. It has been quite a ride. I have shared a lot and I have learned a lot also. I’ve published 50 articles , divided in 30 opinion articles, 13 interviews and the rest are references to videos. During this year I’ve had +20k unique visitors. My top 5 most visited articles are: From Rails to Clojure, then to Java, then back to Rails Code patterns…

Consultant interview: Erik Dietrich - DaedTech LLC

Erik is the author of DaedTech , a blog about software stories that I follow. He has published several books, being Developer Hegemony: The Future of Labor the latest. On this interview we discuss topics that go from strategic decisions regarding code bases, guidelines for building software, how to deliver features with quality and how to make developers more valuable.

Site Tour

Site Tour Content Home - The latest articles Archives - All the articles Interviews - Managers, developers and other non technical roles Subscribe - Monthly newsletter Categories - Articles by category Would you like to know more? About - About me Ask me anything - Ask me anything Privacy policy - My privacy policy

Alliance framework

Last week I finished reading The Alliance: Managing Talent in the Networked Age . I really liked the book and it helped me better understand my own views and ideas on growing teams and developers. The book is small-ish and talks about several processes that are used at Linkedin . They also have online materials and tools at The Alliance Framework website. When I was suggested to read this book I…

Consultant interview: Markus Schirp

Markus Schirp ( twitter , linkedin , homepage ) is the author of Mutant , a mutation testing tool for Ruby. In this interview we’ll cover the topic of mutation testing and the added value of incorporating it in our day to day workflow. We’ll also cover other quality techniques that can be used to improve end to end quality of software deliverables.

Postmortem culture

Things go wrong. This is something that we can try to control, anticipate an plan for. But ultimately we will fail and we won’t be prepared for it. If we consider the amount of interactions we have, the amount of changes by so many people, and the limited amount of resources we have, it should be clear that if we don’t hit some bumps, we’re just going too slow. One thing that we…

Developer interview: Andre Macedo - Mercedes-Benz.io

André Macedo is a software engineer working at Mercedes-Benz.io . In this interview we cover DevOps and how it solves comon problems. We talk about delivering fast and with quality and what’s needed to achieve that. We also discuss how teams can deliver several features in parallel effectively and about the definition of a senior developer.

Common project usage: Makefile API

It’s common for me to jump around between projects. For example, I may be working on a backend service and need to jump to a frontend SPA to help the team on some deadline or other specific goal . But cloning a new project always gives me bad memories. Not being able to run the tests (or not having tests at all), not knowing how to start/run the project (it may have docs for it if I’m…

First impressions: mutation testing

I was curious about Mutation Testing and the value we can take out of it. So I took an hour to play with it and try to understand it better. What’s mutation testing? In mutation testing we have a program that changes our application’s code and then runs the tests. If no tests fails, it means that we may have a problem. In practice this means that we don’t have a full coverage on…

Zero bug policy

Bugs are a tricky subject. We all write code with bugs and they have a considerable impact on our productivity and on the value added by our deliverables. So we come up with several strategies to handle the bug stream and have a ongoing effort to balance bug house keeping and new features. I’m a big advocate for a zero bug policy . This means that we should usually have 0 registered bugs.…

Product manager interview: Sofia Gonçalves - Resolver

Sofia Gonçalves is a product manager currently working for Resolver . In this article we talk about what are the responsibilities of a product manager and what are their biggest challenges (for example, defining priorities). About what’s a good process for product managers and how to deal with partially remote teams. We also talk about recruiting and mentoring product managers.

The power of abstractions

The other day I was doing a code review and noticed that a mechanism for i18n was added to a new project we’re working on. There was a line like this: { key: 'something', label: i18n.t('something'), value: i18n.n(user.salary, 'currency')} This is very simple and common I’d say. Even so I left, as I so usually do, a suggestion as a comment: Suggestion: wrap i18n.t and i18n.n in an…

Recruiter interview: Goncalo Sequeira - Mercedes-Benz.io

I met Gonçalo Sequeira at a previous company we worked at. He recruited me and because of that I got to interact with him during my full recruitment process. I learned a lot with him. Soon after he left to boot Mercedes-Benz.io development’s hub in Portugal and I’ve been following his career and still trying to learn from him. In this interview we cover what’s like to start a…

Manager interview: Pedro Santos - AMA

These are my replies to my first AMA (ask me anything). It’s interesting how this made me think and clarify many ideas. I’ve left the AMA format open and added the Ask me Anything page that has instructions on how to receive more questions. On this interview I give my opinion on several topics regarding engineering management, problems I’ve faced and how they changed me, how to…

Darkest company

I don’t consider myself a gamer, but I like to play some games from time to time. I usually like games where I need to manage a squad, that have tactical and strategic depth. Sometimes I say that this helps me being a better manager. It’s not that in my day-to-day affairs I gain from the experience of leading virtual heroes to battle. But I do face new and weird challenges on those…

Ask me anything

Ask me anything You may ask me anything you’d like about engineering management. I will group these questions and will release AMA posts with them. To register a question you can go to this Github issue and leave your question as a comment: https://github.com/donbonifacio/blog/issues/108 If you’d rather ask something in private, please use the contact options on the bottom of the page.…

Being reactive, proactive and forecasting

An exercise I like to do is to try to categorize the typical day to day tasks in terms of the time frame they are responding to. I actually feel that this says a lot about the company’s culture and way of working. From this point of view, a task can be: Reactive Proactive Forecasting

Agile as a side effect of continuous improvement

I never paid much attention to the agile movement . I’ve worked with SCRUM and other methodologies and always had some issues with them. They always felt more like a control structure than an improvement by itself. I do remember the first time we used SCRUM. It felt like a breeze. That wasn’t because of SCRUM itself but rather because using any kind of organisational model when we have…

Manager interview: Ricardo Vladimiro - Miniclip

I met Ricardo Vladimiro a long time ago when I was active in the gamedev Portuguese scene. I actually had the pleasure of working with him in his startup where we developed several games. At some point I went back to the web applications world and he started his journey at Miniclip where he turned to data science and grew as a manager. He is a good friend and a good mentor. He also contributed to…

Coach interview: Monika Wojtasinska-Felicio - TEAMmatters

I met Monika because Ricardo Fiel had referenced me as a team leader. We talked about topics related with leading teams because Monika is preparing training topics for leaders. I really liked talking with her and felt that I could have so much to learn. Being more focused on executing I sometimes feel that I lack in the theory part. She works at TEAMmatters where she helps companies change for the…

How to convince others that we are right

It’s very common to see discussions or debates about different topics. These discussions can be light or very harsh. We may invest hours discussing trivial things or even days aligning on a RFC . If we have an idea or opinion that we feel is the right one to follow, how can we make sure that we convince our teammates?

Manager interview: Hugo Lopes - James

Hugo Lopes is leading a Research and Development department that interacts with a product team at James . This is very interesting. We’re starting to have data science mentioned everywhere and it’s nice for Hugo to share his experience building a R&D department. We talk about development process, onboarding, training, team management and team performance.

Bug that was not our mistake, except it was

This past week I was pair programming. We had to implement a service object that deletes a model. We actually did it pretty fast and well . It had tests, linter was pleased and we were ready to push it when we noticed that our coverage was not 100% ( and we do like 100%, with all its pros and cons ). But we didn’t understand why, because this module should be fully covered. In fact the code…

Privacy

Privacy This website is mostly about providing content related to Engineering Management. I don’t gather user information and logins, I don’t support comments, I don’t have cookies to track anything. Even so I do integrate with other sites and services that do. Mainly I have a integration with Google Analytics to have some statistics about the visitors of the site. I do follow…

The importance of setting goals

Having goals is very important to make sure we’re productive and delivering value.

Manager interview: Joao Cavalheiro - SUSE

João Cavalheiro was brought to my attention due to a talk he gave at a local engineering management group . We can see the talk’s slides at Totally Networked Team . Managing a remote team is starting to become a common thing, so I was very interested in understanding how João works and what are the pros and cons of managing a remote team.

Quarterly training plan

Having a continuous learning mindset is very important. To reap the most benefits we should make a plan and have goals on what to learn. Time bound goals Wanting to learn new things or accomplish something without a deadline may end up being wishful thinking. If we set a date and a goal we have better chances of achieving it. Imagine that we want to learn Japanese. It’s important to time…

Rock Star interview: Ricardo Fiel - Microsoft

I first met Ricardo Fiel when I was taking my degree at ISEL . Then we had different career paths, but ended up working at the same company. He was CTO at RUPEAL and I was a lead developer. We worked closely for a couple of years. The most vivid memory I have of Fiel is that even though we didn’t always see eye to eye, we always had good discussions and were able to overcome obstacles. I…

RFC driven development

Usually we know RFC s from IETF . It’s that document that for example starts to present the HTML spec. But on this article I’m talking about RFCs (request for comments) in a broader sense. Like a tool that can be used by product/engineering teams to better plan and be productive.

Working smart versus working hard

I believe we can split work into two categories: creative work, and regular work. To have a healthy work day we should be able to do both. But regular work is much easier and less demanding. I think both of them can be productive but working smart yields the best results mid to long term.

My framework for one-on-ones

Getting the best out of my team is one of my responsibilities. For that I need personal time with each teammate. But taking the most out of these sessions can be very hard. So I started to build a framework to help me.

How can we tell if we're satisfied with our day to day work?

It’s easy to have a sense of how satisfied we are . But sometimes it’s very tricky to clearly say why we are or are not satisfied at work. So I try to translate satisfaction into several specific topics.

Production incident's training program

Being on call can be daunting. Anything can happen in production and we may be all alone and completely out of our comfort zone dealing with a problem we have no clues about, and with the pressure of having the app down and impacting the business.

The most effective way to implement company values and habits

Having a team that is aligned on a set of core values is very important to have a healthy and productive environment.

Developer interview: David Amador - Upfall Studios

I’ve been following David Amador for a long time. He’s a one man team that created the Quest of Dungeons game. This game is available in 10 platforms, like for example on Steam , Xbox , Playstation , Apple Store , 3DS and Nintendo Switch . This blog is much about team leading, and it may seem off to interview an one man show. But I do believe that to lead others, we need to lead…