by serialx on 1/3/24, 5:25 AM with 257 comments
by mooreds on 1/4/24, 9:07 AM
* Is your company selling software development hours (consulting)? I'm this car you'll be valued for client relations skills and the ability to bang out acceptable software.
* Is your company selling a software product (product company)? In this case you'll be valued for your ability to build and run software.
* Is your company selling something else that has a software component or that software enables (pretty much every other company)? In this case, you'll be valued for your ability to deliver on or below budget and you'll never be the star of the show.
Funnily enough, these seem to map well to the three categories the author mentioned. Consulting to sales/marketing, product to research and development, everyone else to maintenance.
by georgyo on 1/4/24, 10:28 AM
In 20 years and several different companies I have always heard this but never agreed with it.
Sure, the company wants new features to market, but the company also wants things to freaking work.
During layoffs and hiring freezes I have seen SRE type orgs fair better than their R&D siblings.
In only one place I worked was there this culture shift of always having to keep building new things and not reward maintaining old things. It actually shifted to that culture while I was there. Constant migration to new internal tools, constant depreciation, and half baked migration stories. After the people who built the product get their promotion they go off to the build their next portfolio piece. The new shiny quickly becomes unmaintained and a new team comes and builds yet another replacement. In 6 years one internally built tool was replaced 4 times with new internal tools, with users spread across all four.
You can say that this was just poor execution, but in reality saying maintenance is not valued by the business is incredibly toxic and leads to self destruction.
by bux93 on 1/4/24, 11:49 AM
I'd suggest you read your company's financial statements. You'll find headings like "cost of revenue" or COGS, "General & Administrative" and others like one-off costs for mergers. All of these will have different dynamics, and in each company the dynamics may be different.
by tonymet on 1/4/24, 7:15 PM
Many are judgmental (even within this thread) of some companies not "valuing" software engineering. It's naive to compare social media companies that are making 70% topline margins to auto or airlines companies that are making ~ 15-20% . Of course one industry can hire more engineers, pay them better, give them more swag & benefits.
Even within companies, some product lines and functions will be receiving long term investment. Some product lines may be higher margin than others. There will be a big difference in the money available for software products depending on the budget.
I encourage engineers to consider their business' finances when thinking about their job. The company is not a charity or a church -- it's a business with cash flow, revenue & a long term strategy that all has to be balanced with the cost of building the product.
by SamuelAdams on 1/4/24, 1:10 PM
Lots of other good stuff in here if you haven’t read it.
https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pr...
by chrisweekly on 1/4/24, 2:12 PM
by jpswade on 1/4/24, 1:57 PM
Today, for many businesses accounts is still the main driver behind software, and also the budget.
by indymike on 1/4/24, 4:24 PM
1. Research and Development. Special tax treatment and tax credits usually apply to R&D.
2. Sales/Marketing - Pre-sale sales engineers, sometimes implementations
3. Maintenance. Developers that fix bugs and perform non-R&D work on code that usually isn’t eligible for special tax treatment or credits.
4. In hosted services/PaaS/SaaS, operations usually carry some level of swe salaries.
Understanding the tax implications of which budget and what work is being done is really important, and gets much more complex as you grow.
by DeathArrow on 1/4/24, 9:09 AM
by paxys on 1/4/24, 2:32 PM
by schnable on 1/4/24, 12:14 PM
For maintenance, if "you'll see this role smeared into product development" and "We give you a generous 2 days every sprint to take care of shit that's annoying," the budget here is R&D, not "Maintenance."
Similarly, Growth and Developer Relation engineers are often (usually?) in the Product org.
If these roles are actually in the R&D/Product Development budget, the "laws" about budget management don't apply cleanly enough that they can be a "law."
by DeathArrow on 1/4/24, 9:08 AM
by thiago_fm on 1/4/24, 9:23 AM
Being part of a layoff and also watching other colleagues coming from other Big Tech companies share their experiences, you'd see people laid off from literally everywhere: key projects, R&D (I was part of), sales, high-performing etc.
It's a financial decision, the cut NEEDS to happen once the higher ups have decided and you can be cut, for you as an employee, anything can happen.
Lots of R&D people end up being on the chopping block as well because you could be suddenly in a very promising project, but that the company no longer cares about, because some executive above even the boss of your boss told it isn't a priority.
by Guid_NewGuid on 1/4/24, 9:36 AM
If I recall correctly capex is better for the business because of how it gets treated in the accounting stuff. This naturally gives rise to the feature factory style work of a lot of dev jobs. Some reason like they can record capex spend as an asset with depreciation. Is this true?
by Steven-Clarke on 1/4/24, 12:59 PM
"The Tax Cuts and Jobs Act was enacted more than five years ago, but certain changes under the legislation are only now coming into focus as taxpayers prepare their 2022 tax returns. In particular, there are significant changes as to the deductibility of certain research and experimentation expenses, as well as the ability to utilize net operating loss (NOL) carryforwards. These changes may result in greater tax liabilities for companies and may also affect certain qualified small business stock eligibility requirements".
ref/ https://www.cooley.com/news/insight/2023/2023-04-28-startups...
by Mashimo on 1/4/24, 9:41 AM
Sometimes the customers want a specific feature, sometimes we have an idea that we want to develop in the hopes of selling it later, and sometimes you need to work on maintenance. Which also gets paid by customers in our case.
by throwawaaarrgh on 1/4/24, 2:20 PM
Your salary is coming from the Business Plan's Capital Expenditure, as part of an initial round of investment needed to achieve the Business Goals. This is a marked difference from Operational Expenditure, which "Maintenance" is most often lumped under.
Whether your salary is CapEx or OpEx has a much larger impact on your ability to work freely and productively than what of these 3 (really 4) categories are.
by a1o on 1/4/24, 9:56 AM
I wonder if someone or someplace figured a way to make software maintenance and support to be better valued. It's like, it's reasonably easy to market and sell internally the start of a project and consume from some internal investment (CapEx like) budget to make it, but once you have done all of that was in scope, you delivered, it's a lot harder to keep it going at the same steam and get budget for the continuous maintenance (OpEx like). Also, why it's so hard to get promotions or market work in good maintenance.
by osigurdson on 1/4/24, 3:33 PM
by GCA10 on 1/4/24, 6:23 PM
I can see why a lot of people working in tech will focus weekend/break energy on side projects (woodworking; solo sports; playing in a band) where exquisite craft is everything.
by phkahler on 1/4/24, 5:00 PM
Well that's why some places have sales people on commission. You set a fixed multiplier and let the sales person do their thing. You can still offer bonuses, but if one guy makes half the sales as another so what? He automatically gets paid half as much. Software supporting multiple sales people isn't so individualized though.
by shadowgovt on 1/4/24, 7:21 PM
It's maintenance, but the argument they successfully sold to management was that if management planned to scale indefinitely, maintenance cost would also scale indefinitely unless maintenance also had a budget for R&D to push up the ratio of services maintained to maintainers (and the authority to tell software engineering "Yes, you built a new shiny thing, but it's not shaped correctly yet to be maintainable so here is the pager, enjoy your 2:00 a.m. wake up calls to keep the money flowing").
This has, overall, worked pretty well for them given what they want to do. While maintenance is still a cost, it's understood that they minimize that cost via R&D, not cutting.
by lp4vn on 1/4/24, 10:10 AM
- A first one that develops a product that creates a value for the company in the present(sales/marketing).
- A second one that develops a product that will possibly create value for the company in the future(research/development).
- And the last one that develops a product that created value for the company in the past and now has only to be maintained(maintenance).
Honestly I think that this division is a bit tautological. Everybody in the industry knows that maintenance project are bad and only are worth it if you're making a good money working in them. Now in practice the hypothetical division between sales/marketing and research/development that the author proposes is pretty blurry and in my opinion doesn't do a great service in categorizing the activity of a developer.
by lucasyvas on 1/5/24, 6:03 AM
For 2, it's a feature factory below a certain size or market penetration. You will be valuable but you will be anything but calm and relaxed. Research doesn't qualify, talking about Product here.
3, which is Platform and/or maintenance is definitely unsexy until you are a scale up and your software sucks ass since you never maintained it and no amount of infrastructure can save it. Then to grow you become extremely important.
I think you want to consider the company size, the state of the product, and its market fit before making these assertions.
All three are the best and worst jobs to have, it just depends when and where you are.
by jsdwarf on 1/5/24, 3:29 PM
by uticus on 1/4/24, 4:05 PM
by hellectronic on 1/4/24, 1:31 PM
https://www.gartner.com/smarterwithgartner/align-it-function...
by irrational on 1/4/24, 3:43 PM
by dbetteridge on 1/4/24, 8:59 AM
Chrome Version 120.0.6099.109 (Official Build) (arm64)
by prepend on 1/4/24, 2:22 PM
This was really helpful as having something that makes a firm money seems more easy to measure impact than a cost center.
The natural incentives seem to jive better. Revenue centers are supposed to increase and are a function of margin. So more salaries and expenses should lead to more revenue. Cost centers are supposed to decrease or stay the same. So always a pressure to cut expenses.
by physicsguy on 1/4/24, 1:01 PM
by scarface_74 on 1/4/24, 2:11 PM
Amazon: “we can build S3 - a service that millions use with no down time. But we can’t keep a simple website up to serve our internal employees come review time in April”
by zuhayeer on 1/4/24, 10:27 AM
All the companies that pay very well such as on https://levels.fyi/2023/ are profit centers encouraging investment in talent, competing for the best across companies because they know its worth it. Each hire even at extremely competitive wages will make back their salary manyfold if they're successful.
by scarface_74 on 1/4/24, 2:11 PM
by realjohng on 1/4/24, 11:40 PM
by ConnorMooneyhan on 1/4/24, 2:05 PM
by giantg2 on 1/4/24, 7:20 PM