34 articles, 5 books. Go to books ↓

Psychological measurements in empirical software engineering


Three-factor theory is based on the premise that workers have basic human needs that managers can and should work to address. Creating an environment in which these needs are met results in not just satisfied employees but also enthusiastic employees.


You can make this test against your boss. If the score is anything above 3, I’d look for a chance to change team/organization very, very soon. It isn’t healthy to work under this kind of management.


Chances are your team will deal with a disruptive person from time to time. This person will drag your team down and you might not realize it until it’s too late. So how do you spot them and what do you do when you find the culprit?


By paying attention to these signs and heeding their warnings, you can avoid disaster and sustain the kind of leadership that . is healthy and fulfilling for both yourself and your followers.


When engineering management is done right, you're focusing on three big things. You're directly supporting the people on your team; you're managing execution and coordination across teams; and you're stepping back to observe and evolve the broader organization and its processes as it grows.


These rules have been aggregated from a variety of sources, and just plain experience. It all starts with an attitude…a healthy attitude about one’s role as a developer on a team and that your focus is on the product being developed. The goal is a well-functioning team. The reality is that a team that functions well will generally produce the best product.


Perhaps the best known of all the laws is Brook's Law. No discussion of software teams can go very far before Brooks' Law is mentioned: "Adding manpower to a late software project makes it later."


It’s terribly difficult to manage unmotivated people. Make your job easier and don’t...


Too many managers believe in the myth of 100 percent utilization. That’s the belief that every single technical person must be fully utilized every single minute of every single day. The problem with this myth is that there is no time for innovation, no time for serendipitous thinking, no time for exploration.


Yeah! We’re remote friendly! We got Bob who lives in San Diego, we’re based in San Francisco, and we have a Slack room, and people usually can come in to work at ANY time (between 8am and 9am), but really fuck Bob he’s kind of a loner and we’re going to probably let him go soon anyway, but yeah you can totes work remote!


It’s no longer about how awesome your developer skills are. Now it’s about bringing out the best from the people you manage, and hopefully *lead.* Your job is now about creating a high-performing team.


Management would be easy if everyone you managed were hard working, collaborative, and had a great attitude and exceptional talent. But then it wouldn’t be management.


Trying to create a sense of urgency almost always backfires.


New research reveals surprising truths about why some work groups thrive and others falter.


This post is not so much for developers as it is for the managers and bosses from those developers. As you probably know by now, managing software engineers (or programmers) is not an easy task. They just don’t like to play by the rules you always took for granted. Why is that? Why are those pesky programmers too hard to handle? Why is it so hard to sit down, write code and shut up??


One of the most common pieces of advice you'll get as a startup is this: Only hire the best. The quality of the people that work at your company will be one of the biggest factors in your success – or failure.


A team working long hours is far less efficient than a well planned team in sync.


A self-organizing team can be one of the most effective ways to build a team of high-quality professionals.


How can we fix the firing process if we're not even talking about it first?


The question of what qualifies as a “Senior Developer” is both context-dependent and so malleable that our industry squishes it into whatever shape fits their current needs.


Technical experts are not necessarily technical leaders. Both have outstanding technical skills; the difference is in how others relate to you. Are you a person that others want to follow? That’s the question that really matters.


“Listen, if there isn’t something going off the rails on your team, then I know you are micro-managing them. You are really good at what you do, and if you stay in the weeds on everything, you’ll keep things going perfectly, for a while. But eventually two things will happen. One, you will burn out. And two, you will eventually start to seriously piss off your team. So I better see some things going sideways, on a fairly regular basis.”


How To Become a Great Team Leader


Working long hours is unproductive, unhealthy, and unfortunately common. I strongly believe that working less hours is good for you and your employer, yet many companies and managers force you to work long hours, even as it decreases worker productivity. So why do they do it?


Before this study, like many other organizations, Google Execs believed that building the best teams meant compiling the best people. It makes sense. The best engineer plus an MBA, throw in a PhD, and there you have it. The perfect team, right? In the words of Julia Rozovsky, Google's people analytics manager, "We were dead wrong."


It’s one thing to hire a bunch of junior developers. It’s another to retain the experienced people who’ll mentor them.


Retrospectives and reflections allow you to codify what you’ve learned from experience, to document mistakes and avoid future ones, and to increase your potential to grow in the future.


Policies are often the result of something that once went wrong. It’s organizational scar tissue developed from a This Can Never Happen Again mandate. And its almost always ill-considered.