How great software engineers differ from average engineers
Great software engineers solve the f*cking problem. You presumably work for a business, the business and it’s customers have problems that need to be solved. You are not being paid to write code. Customers are paying your company who is in turn paying you to fix their problem. Code may be your weapon of choice to solve (most) problems, but your job isn't to just 'code', it is to solve that customer's f*cking problem.
I’m currently a Sr. Product Manager at Salesforce; formerly a TPM at several fast growing startups and a developer in a past life. In my career I've see some incredibly talented engineers and product managers, a lot of average, and yes some people who are not good at their job.
What separates a world class engineer from an average engineer is the recognition that they are there to solve the f*cking problem. A clear sign of a problematic engineer or organization is the phrase: “I’m just doing what product tells me” or “I’m just doing what the ticket says”. If this is acceptable language at your company, leave. You may improve certain aspects of your job but you will be stifled where it matters most.
Your Product Manager and the tickets in your backlog represent solutions to problems. Great engineers seek to understand the problems, projects, and objectives from their PM; they understand their industry; their product; and most importantly the people their product serves. Great engineers and great R&D teams solve their customer's problems. Average engineers and R&D teams finish Jira tickets. Weak teams argue about trifling bullshit like agile methodology or when they’ll finish tickets. Don't get that wrong; velocity and customer communication is very important, but it's not more important than solving the customer's f*cking problem.
Comments