11 ms·
> It's worth repeating: Unless you have a stake in the company, it is NOT your job to make sure the company is the most profitable it can be. Your job is to cre
by vouwfietsman 2y ago
> It's worth repeating: Unless you have a stake in the company, it is NOT your job to make sure the company is the most profitable it can be. Your job is to create great software
This is a terrible take, and one I generally see as a signal of lack of seniority in a software dev. It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit.
The thing is though, that profitable is not the same as "just ship it". If you're in a company where those things are conflated frequently, that's a sign of lack of seniority in management.
> Your job is to create great software
It really isn't, your job is to make a great product. Making a great product often, but not always, requires great software. Many great products have terrible software behind them. The tension between product, sales and development should result in a compromise that creates the most value short, middle and long term. It is 100% your job as a developer to understand what can and cannot be hacked, what priorities the company has beside delivering great software, and finally: when great software must be made, because compromise is unwise.
Just like the boy who cried wolf, the developer who can never compromise on software quality is powerless when there is an actual reason to not compromise on software quality, and rightfully so.
- dclowd9901 2y agoI 100% agree with you. I’m in a situation at the moment when I’m nearly constantly having to check myself against other devs. I don’t do hacky work and nothing I do isn’t extensible or easily refactorable. But I constantly get feedback from another dev on my team wanting me to polish out a change to perfection against every feasible possibility. I try to employ YAGNI reasoning to them, but they just have a perfectionist standard. Look: job 1 is making safe software, job 2 is making money and job 3 is perfecting the architecture.
- another2another 2y agoAsk them to write the tests that will trigger the failure condition - i.e. make them prove that it's a possible thing that can easily occur. If it is, then at least you have a simple test case to work with so they've done a chunk of the work for you. If it's not, then they'll spend ages trying to craft a test case for a scenario that's extremely unlikely. People very often leave you alone when challenged to put in the work to prove their point.
- fabioborellini 2y ago> This is a terrible take, and one I generally see as a signal of lack of seniority in a software dev. It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit. Developers aren't compensated for any extraordinary achievement, though. Unless they own a notable share of the company. So, why should they give everything and get nothing back? How is that fair? Salespeople and managers usually consider technical guys pariah. They can always be outsourced or otherwise replaced, and they can be blamed, for example for failing to meet impossible targets. If there's success, it always is a manager's achievement. Developers also get roughly the same pay for both working minimum and for screwing their lives and healths on powerpoint-driven death marches. The compensation for extraordinary success goes to shareholders, and maybe managers or even salespeople.
- ekianjo 2y ago> get roughly the same pay where?
- portaouflop 2y agoMy experience working in this industry is very different and devs do get recognition and sometimes bonuses (if certain goals are hit). Devs are paid a premium, have generally much more relaxed work schedules than managers or any customer facing role. If you screw over your health working in a toxic environment that’s on you IMO - as tech worker you probably have more opportunities to improve your working conditions than the vast majority of humans
- fabioborellini 2y agoMaybe that depends on the job market you're working on. In some countries salaries are more affected by personal performance than in others. My first job as a developer made me work around the clock, day and night, for a below average (nationwide compared) salary. And I got yelled at. Since I didn't have enough work experience, my applications weren't responded to. There were no ways to improve conditions without changing jobs.
- 2y ago
- starfallg 2y ago>It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit. To generalise this, it's everyone's job to create value. This may or may not result in profit, but ultimately aligns with the goals of the organisation.
- katzenversteher 2y ago>> Your job is to create great software >It really isn't, your job is to make a great product. Making a great product often, but not always, requires great software. I believe that depends on the role you have. If you're a software engineer I think you should try to create great software. If you're responsible for the product you can decide it might be better for the product to ship earlier or with the current state of software but I think you should not keep your software engineers from trying to make the software great. You can try to shift their focus on a different (software) topic that you think is more important if you don't like what they are currently trying to improve.
- vouwfietsman 2y agoDepends on what you mean with great software of course, but a developer should work together with the product team to come to a specific realization of the product vision. That vision may not always require great software, and it may actually specifically call for hacky software, but the product people cannot make that judgement call (and if you are in a healthy company, they don't). This is different from always making great software but shifting priorities.
- jampekka 2y agoMaking a great product and maximizing profitability are often at odds. E.g. see all those dark patterns.
- Culonavirus 2y ago> absolutely everybody's job in the company to make sure it is profitable Absolutely and categorically it is not. That is complete nonsense. Why should an employee care? Unless there's some profit sharing scheme in place that would benefit the said employee and they took advantage of that scheme. And even then, employees typically (and I'd even say in the vast majority of cases) have very few and tiny levers to pull to affect company profitability. So you typically you get nothing if the profit is x and nothing if the profit is x+n and even if you get some of that n you can't really affect the absolute value of n. Why should you care about n again? Oh, right, so the company doesn't go under and/or lays you off. That shit may have worked 20-30 years ago when company loyalty and upwards mobility was a thing. > It really isn't, your job is to make a great product. Nope, that's the product manager's job. Here, a Wikipedia link, just for you: https://en.wikipedia.org/wiki/Product_manager https://en.wikipedia.org/wiki/Product_manager
- IanCal 2y ago> Absolutely and categorically it is not. That is complete nonsense. Why should an employee care? They don't have to care, they are just there to do a job. If your company values a release now more than a more stable one later, it's not on you to refuse to do that.
- marcosdumay 2y agoThe OP's scenario has a product manager telling you that what they need is for you to finish feature X quickly so the company can be profitable. In a well-working organization, that absolutely means that you, as an engineer should look into how to do X with the least amount of effort, hush things up, and ship it. The PM is the one that has to decide into hushing or not things, you are the one to decide how. The problem is, every single organization where the PM insists on you to hush isn't well-working. It's easier to win the lottery than it's to find exceptions here. On those problematic organizations the PM will use your results to improve their curriculum and will absolutely throw you under the bus when the hushed product behaves like a hushed product. And everybody will be happy with kicking you down. Also, if the product has any kind of safety impact, it's not the PM's job to decide about it anymore. It's yours.
- 2y ago
- incanus77 2y ago> It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit. Common misconception, but a non-profit needs to make a profit, too. It just gets invested back into the business instead of distributed to shareholders, or in fact to any individuals.
- Earw0rm 2y agoIt's more contextual than that. In some cases, ship vs not ship, profit vs not profit, is the difference between a company thriving and failing to thrive. In others, there are second- or third-order effects that render marginal profitability kind of irrelevant to the trajectory. This usually applies to either very large / institutional orgs, or situations where the business is leveraged by investors (VC or PE) such that the kind of honest profit earned by shipping an update or a new product won't meaningfully impact on the company's fate. In those situations, doing good engineering and cleaning up tech debt might make more difference to yours and your colleagues' lives, and maybe even your customers', than shipping.
- pdimitar 2y ago> In some cases, ship vs not ship, profit vs not profit, is the difference between a company thriving and failing to thrive. That's their problem, not mine. I get paid a fixed amount. If I get paid the same + a percentage of outcome then I'll change how I work. Easy to understand, I believe.
- pertymcpert 2y agoThe problem is then you’re not being paid enough.
- pdimitar 2y agoThat is also true. It becomes a nasty chicken and the egg problem though -- many companies pay less as a risk management strategy, and that leads to the employee not having enough motivation. Of course from then on he/she does not want to excel and the employer concludes they made the right decision which is of course super wrong. It's quite tragic on a human level but I stopped caring about that aspect as well. At my age and experience I just shrug and say "You get what you pay for" and I am not interested in trying to school people who would never change anyway.
- epicureanideal 2y ago> It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit. This attitude is more likely to get you fired than rewarded in most companies. If you step outside your role, or even lift your head up and peek around and offer your thoughts about what you see, you'll be at greater risk for no reward. Again, in most companies, not all.
- snozolli 2y agoMany great products have terrible software behind them. Please give some examples of great products created by software developers that have terrible software behind them.
- fragmede 2y agoEarly Facebook was written in PHP, and regardless of what you think of them as a company, just look at their market cap. WordPress has a huge userbase these days and had similar roots.
- snozolli 2y agoHow is that terrible software? PHP isn't the new hotness, but it's everywhere, fairly easy to pick up, and reasonably fast.
- ruszki 2y agoPersonally, I’ve never seen good developers who cared at all about profitability. All of them cared about the products and customers, but no one was driven by profit at all. Whom I met and cared about profit, they were mediocre the best.
- matrix87 2y ago> This is a terrible take, and one I generally see as a signal of lack of seniority in a software dev. It is absolutely everybody's job in the company to make sure it is profitable, unless you work for a non-profit. There's a third and even more common option: seniors who really could care less about either Who do you think is more likely to be lying? The person who claims to care about the bottom line or the person who claims to care about code quality? From my experience the former is almost always a bullshitter