As a developer, setting expectations is the single most important part of your j

As a software developer, your job consists of far more than just typing code into an editor.  Here are some of your responsibilities:

  • Provide estimates on how long tasks will take
  • Understand the function of software you did not write
  • Solve complicated problems simply
  • Break large problems into smaller tasks
  • Modify code for clarity or to better suit changing requirements (Refactoring)
  • Identify and solve bugs
  • Coordinate all of the above with others

If you interact directly with the users of your software, there’s even more on your plate:

  • Translate requirements from users into a plan for working software.
  • Provide summaries of complicated software in a simplified manner that the users can understand.
  • Provide hopefully accurate estimates for work filled with unknowns

But beyond all of the responsibilities above, your most important job is to set expectations with the ones who pay you for your time (your “customers”).

Setting expectations means establishing a plan for how your work will proceed. It means identifying risks ahead of time and expressing those risks or unknowns to your customers so you both can avoid surprises down the line. It means establishing rules for how you’ll need to interact to make sure you can create the best work possible.

When done correctly, setting expectations can make the difference between burning out and enjoying the work you do for years.

As a developer, you are a craftsman who wields the tools necessary to create. You cannot allow expectations on your work to be set for you; to do so would be to put at risk the very heart of your creation. Your code is your work, you need to own the process of its creation as well.

If you allow your customers to set your expectations, here’s what could happen:

  • Your customer will make decisions for how long something “should” take, which limits your ability to meet requirements well.
  • Your customer will get frustrated when work does not proceed according to a schedule that does not consider the full scope of work.
  • Your customer’s expectations will force you to produce work of a quality you cannot be proud of, which can have a lasting impact.

While in an ideal world, your customers will respect all the expectations you set every time, in reality, setting expectations is more of a conversation you’ll need to have to determine what’s possible.

Just remember, you are the one who wields the tools. When it comes to how those tools are applied, you are responsible for setting expectations. It’s your work, own it!

你可能感兴趣的:(developer)