5 ms·
I would say you need to stand up for your users not your product. A gorgeous code base that doesn't do what your users want doesn't help anyone.
by tensor 7y ago
I would say you need to stand up for your users not your product. A gorgeous code base that doesn't do what your users want doesn't help anyone.
- dillonmckay 7y agoI don’t know. It is important to listen to your users, but not necessarily do what your user’s want. Especially in the context of the user’s role. Adding a thousand requested features also has its drawbacks.
- tensor 7y agoIt's definitely a balance. I should have phrased it as "make sure the product satisfies your users needs" rather than their wants. And this isn't to say you should add a thousand features, but I do believe it's important that tech leads goals line up to users, not only to the technical excellence of the code. You can't make good decisions on technical improvements or debt reduction without balancing users needs. It's easy to build a straw man example that is on the extreme end to demonstrate this, so I won't do that. The day-to-day is more nuanced.
- jaspal747 7y agoAs a tech lead, you bother about building the features that the business has identified - and building it in the best way possible, thinking long term about the product. While as a business decision maker, you focus on what your users want - else you will be out of business fairly quickly.
- nevertoolate 7y agoTech lead is responsible for maintainable code, somewhat anticipating changes in business, so tech lead is a Jedi :)
- rorykoehler 7y agoThey go hand in hand unless you plan to quit within a year and leave someone else to clean it up.
- cdbattags 7y agoThis is more or less my definition of the term "product engineering". The one caveat is to be sure to also think about your team members as "users" of the code base.
- richie5um 7y agoAgree. I much prefer the term ‘product engineer’ to all previous titles. It shouldn’t be a cargo-cult switch where everyone starts calling themselves one, but it is by far the best title as a guiding principle to what we are meant to be doing. Also, I think we are going to see further evolution in the software industry where the current middle-mgmt layers get wiped out. You are either contributing directly to the product - and you can easily measure that - or, you need to get out of the way. DevOps is a drive to reduce the number of vertical organisational ‘layers’, ProductEngineering would be a drive to reduce the number of horizontal organisational layers. IMHO.
- azhu 7y agoIf one defines gorgeousness as ease of grok, then gorgeousness directly contributes to the wellbeing of users through maximizing the technology's ability to quickly and effectively adapt to their needs as they arise. Agreed that it's a secondary concern to fulfilling the featureset.
- AkshatM 7y agoI don't think "ease of grok" is the sense the original commentor meant :)
- azhu 7y agoCould definitely be true! I personally have a hard time imagining how code could be pleasing to the eyeballs by any other metric than how easy it is to understand. IMO a clever one-liner or a hyper optimal routine that takes minutes of staring to decode isn't gorgeous, but you're certainly right that many would disagree with that. IMHO this philosophy runs directly contradictory to the one in which leaders empower those around them.
- blueprint 7y agoA gorgeous codebase is not a product without relevant users to consume it.
- kohtatsu 7y agoIn my opinion they are the same. If you stand up for your product, you are standing up for your users, or your clients if that's a less ambiguous term. For some teams, for example a lot of teams in Google and Facebook, the end-users are often different from the Product's clients; the client of Google's Chrome is Google's empire. The programmer that added the X-Client-Data header undoubtedly improved the product, at least short-term-business-wise, while actively harming it for end-users. Someday end-users may leave if they continue to erode trust, but for now it's a boon for the Product. Edit: Please don't work on those products. Please develop products that respect people. If you develop trust, and actively respect people; I posit that a lot of people will opt-in to reasonable analytics, and even advertising. If many don't now, they might when the dust settles.