Your Job is Not to Write Code
As I marked my 4th "Metaversary", meaning I have worked at Meta for 4 years, I now spend more time looking back at what I learned here.?This was, after all, one motivation for joining Meta - learning how one of the world's best software engineering organizations operates.?There are many lessons to share, both good and not so good - Meta is by no means perfect.?But I want to start with something I think Meta got very right, and I used to get wrong: the role of engineers.
Earlier in my career, especially in the two startups I launched, I firmly believed that my job was to figure out what needed to be built, as well as building it.?But later on, when I started working with product managers and business folks, I sometimes convinced myself that my job was to build software, and?their job was to decide what to build.?This was especially true when I joined some?highly?specialized genomics / healthtech companies, yet I now believe this was a mistake.
At Meta, despite the presence of a large number of product managers, product marketers, designers, data scientist, and other folks, it's considered a cardinal sin for engineers to assume the "you write a spec (or file tasks), tell me what to build, I'll build it" position.?In fact, engineers, except maybe the most junior ones,?generally are not measured on how much code they write or how hard they work - they are measured on impact.
领英推荐
The concept of impact is sometimes hard to grasp for new Meta engineers.?Impact is what you are trying to achieve by your project.?It can be better user engagement, an increase in user retention, an increase in revenue, a decrease in spam or some other harm, an increase in privacy, a change in user perception, or maybe better scalability, reliability or performance for some underlying platform.??
Most of the time there are very specific metrics connected to impact.?Note that sometimes the only metric you can come up with is something indirect, e.g., user satisfaction, as measured by a survey - that's ok.?But the key is, you can work very hard and write a beautiful piece of code, but if it has no measurable impact - it's not useful.?This discipline is also something I did not use to follow nearly as aggressively as Meta does.??
Now, I'm obviously not implying that it's only engineers who decide what to build at Meta. There is usually a cross-functional team working on every project,?deciding what to?build and how to measure impact.?But engineers are expected to be at least equal partners in these decisions.?
This is why I say that the ultimate job of the engineer should not be just to write the code, even though obviously that's what engineers do.? It's to move the needle.?It's to have impact. It may be a subtle, but a very important difference from how many other companies I observed operate.
Top 8% Financial Advisor & Unit Manager at Sun Life PH
1 年Hi, Mark, This may be a long shot. But my Facebook account was hacked and I BADLY NEED HELP. I've been in contact with Meta Support via email for several days already but I still could not access my account. Please! I need help :(
Here is a story of dysfunctionality [won't mention the company]. I am sitting in my office. A man comes in. "Hi, I am your new PM. Are there any metrics that I can show to the management to see how they are improving?"
QA Engineer at Honey / PayPal
1 年How do you measure an increase in privacy?
engineers grow around me
1 年"Most of the time there are very specific metrics connected to impact"; can you give us some really very specific metrics that Engineers can energise from? not Product, Engineers, as we do the hard work. Thanks.
Associate Principal Solution Architect??Team Lead for Navy/USMC??Mission Critical??Open Source??Hyper Cloud??Kubernetes??Digital Transformation??Containerization??Automation
1 年Great article and a great way to illustrate an important subtle point! Red Hat is actually of the the other few companies doing much the same (arguably even better than Meta, if I can claim so myself!) ;)