Work for yourself, not for your employer. Your employer will fire you the second it is profitable for them, that's how it is.
It doesn't mean that you have to hate your job. Just stop and reflect from time to time, and make sure you are being compensated for what you do. If not, you need to change something (ask for a raise, look for another job, work less, ...).
As developers, IMHO you should always push for open sourcing as much as you can, ideally with a copyleft license and no CLA. Because it is beneficial for you personally: it means that you can reuse your code after you leave, and if you manage to make it copyleft and accept external contributions, it will force your employer to keep distributing the sources after you leave.
I really don't get why developers sometimes go out of their way to help their employer keep their code proprietary, it should be the other way round.
> As developers, IMHO you should always push for open sourcing as much as you can, ideally with a copyleft license and no CLA. Because it is beneficial for you personally: it means that you can reuse your code after you leave, and if you manage to make it copyleft and accept external contributions, it will force your employer to keep distributing the sources after you leave.
How many people have had this work? Am I unusual in working at places that take an extremely restrictive attitude to their IP?
> is a reflection of what people dream of, not reality.
Only if you understand it as "open source everything", it is a dream. But that is not what I say. What I say is that as a developer, you should try to open source as much as you can. Many times that's not nothing.
It's really mostly a matter of thinking about it and seizing the opportunities.
Related is also: don't be afraid to depend on copyleft libraries! As an employee, it's beneficial: it means that you have to contribute back (actually not exactly, but managers usually don't get the details so you can get away with it :-) ).
> The fact that the parent comment is so upvoted is a reflection of what people dream of, not reality.
I can see that being the case among software developers. On the other hand, the organization I work for is so far removed from that world that my employer doesn't make any claims on most IP. If I decide to write a program to automate a task, the source is mine to do with as I please. They don't even lay claims on much non-software IP, stuff that ordinary businesses would lay claim to, since the attitude is more akin to the IP being "carpenter's tools" than the product of the job itself. (Granted, working in the education system helps on this front. The definition of restricted IP is rather narrow when the expected outcome is to share knowledge.)
I would say that getting to a point where this sort of thing is possible requires a huge amount of out-of-bounds culture and technical work though. Probably outside of the commitment range of folks who just want to work as an employee and not think about work outside of your paid hours
I asked this once, and I was told “It is fine to work on/contribute to open-source as long as you don’t connect yourself with the company.”
I thought that was a pretty cool thing. My job is essentially subsidizing some open source projects without ever getting the credit for it (or the potentially negative publicity, from their perspective, I guess)
At my previous job I extracted and open sourced quite a few libraries and such, although never the entire application itself.
And I don't think anyone really would have benefited from open sourcing the application either. The code wasn't all that brilliant, it was hard to run, had a lot of assumptions that would only ever be true for us, and we didn't really want to spend the time fixing/optimising that. Tons of other things to do. Practically we would also have to scrub the commit history, do an audit to make sure we really don't have anything sensitive in there, and stuff like that.
One reason I open sourced this stuff was just enlightened self-interest by the way: it enforces "clean" library-oriented programming with clean separations. When I joined there was stuff like "email parser module" which in principle would parse RFC2822 messages, but then would also call models to do a few database things, and nonsense like that. It was all pretty messy, and this hugely improved things.
If you write something at work does anything realistically stop you retaining enough person documentation / snippets to fully or partially recreate it?
My buddy Slim seems capable of it and has built up quite a portfolio of "ready to go" solutions for common problems over the years.
It's a matter of degree, obviously, but every time you do this it's likely to count as IP infringement. Generic libraries? Probably nobody will ever notice or care. But if they do, it could be expensive for you.
It may be expensive, but that's unlikely to be due to infringement.
Most code written by most companies has been written a thousand times already, and there is nothing illegal about recreating a library which behaves the same as something you wrote at a company.
It's not even necessarily about employers. I was pushing to open source an internal project I worked on. Turns out other coauthors are not interested in spending any time on it (reviewing code, make adjustments, go through approval etc). What can I do.
> Turns out other coauthors are not interested in spending any time on it
Because you open source it does not mean, AT ALL, that you need to spend time on it. I like Cap'n Proto as an example: it is a great open source project, but don't think of contributing to it: you will probably be ignored (unless you find and fix a very important bug, but good luck to find that there). And that's fine: the fact that it is open source is already great! Who would I be to expect the maintainers to work for free on top of open sourcing great work?
I would argue that it happens more than you may think. You depend on an LGPL library? Tell your manager that either you can make the module that links to it LGPL as well, or that you can keep it proprietary but it will take "a lot of work". Often the manager will not value that piece of code so much and will allow you to open source it.
Your employer allows you to open source something? Push for a copyleft license and no CLA.
Your manager says that "we could consider open sourcing it"? Take this as a yes.
Learn about licenses, what they mean, and think about IP at work. Many times the employer does not get anything from not open sourcing the code. It's just that they don't care. If you do, you can push them towards doing it.
I am not saying that it will be bad for the employer! It may actually be good. I am just saying that it is better for you as a developer, so you should push for it.
> As developers, IMHO you should always push for open sourcing as much as you can, ideally with a copyleft license and no CLA. Because it is beneficial for you personally
Agree with the rest of your message but this is really dumb and will hurt your career. You need to think about what you’re writing and determine if there is any reason the employer would be supportive of this.
Ive been in SWE management for roughly 20 years now and if you get labeled as “the person who wants everything open source”, you get put in a very limiting box. You advertise that your interests aren’t really aligned with the company and you’ll be treated as a mercenary.
This seems okay on the surface, but it will exclude you from working on critical business code that would be ridiculous to open source.
I'll be honest, getting paid is good for my career. What code I specifically get paid to monkey over weighs on it far less.
Totally agree with avoiding labeling yourself more generically, but having spent enough time in the sun... I just want shade.
I work to get paid, not get acclaim or friends. At a certain point your professional development stops being at work. Being a mercenary is an interesting way to consider that, actually. For yourself, nobody else will.
I'm not even a developer. I do SRE which kind of requires I play one while not being on the friendliest terms with the real devs: "oh, that guy again"
I guess my point is this: don't subject yourself to whims... but do be amenable. Just not too much.
It's easy to become the sucker. Don't accept working on business critical code without business critical pay. It's just a weird way to look at things.
> Ive been in SWE management for roughly 20 years now and if you get labeled as “the person who wants everything open source”
Not if you do it right. Don't be "the person who complains about stuff not being open source".
I believe I have been pretty successful at open sourcing a lot of my code. Sometimes by convincing my management that it was good for the company, sometimes by manipulating them (I guess it would mean I manipulated people in your position :-) ). Not in a way that hurt the company at all: I never open sourced anything where it actually mattered for the company.
I see it like this: when given the choice between not open sourcing (no work needed) and open sourcing (some work needed), every rational manager will go for the former ("I don't care about it, so don't wait my resources for it"). I just adapt my narrative to make it sound like it is cheaper to open source, and everybody is happy!
Yet all software companies and to a lesser extent the whole economy depend on open source software to function. In my opinion, the toxic attitude is marginalizing developers who see that.
> labeled as “the person who wants everything open source”
If you're always banging on about it, then yeah, that will happen. But that is of course a bad idea, because always banging on about any topic is almost always a bad idea in almost any context.
> All of them were eventually proven wrong. No exceptions.
I live and work in EU (and lived in other places) and I'm pretty sure corporate culture in EU, Japan, Russia is very different from that. There are pros- and cons- sure, but this easy-in/easy-out seems like a very US/Anglophone thing from my POV.
I mean, it’s still possible to be fired, it’s just _a lot_ harder. The relationship between employer and employee doesn’t seem nearly as hostile either.
I'm presuming they meant 'made redundant' rather than 'fired'.
The former is still fairly easy, and just has some process involved, the latter much harder unless gross misconduct can be demonstrated.
It's absolutely true the the UK/EU/etc. have much better rights than the US in this regard, but perhaps the higher pay in the US (at least in tech) pays for that.
> My anecdotes tell me more people leave than get fired, especially the ones with options.
Sure, but that's not the original point. The original point is that the company won't make you any favour if they get a better deal by firing you. So you should do the same and leave if you find a better deal somewhere else.
Hi, former employer here who valued employees over profitability.
It's true for all employers. Your job as a business owner is not to provide jobs to your employees, it's to keep the business afloat and maintain your income. There are limits to how much of a good person you can be, those limits are set by the economic system we exist in. Ignoring these limits will cause your business to fail.
It's a sad view and it's not entirely accurate but it has better predictive power than the rose-tinted glasses you and possibly your employer may be wearing. Profitability is the baseline requirement, all else comes after. That's how a market economy works. If you remain at a stable net-zero that's great as long as nothing ever changes but it means you're extremely vulnerable to any disruption.
To be clear: I'm not even talking about shareholders. This is true for private businesses too, maybe even more so. Profit means reserves, reserves mean being able to survive dips and downturns. But when the market changes you need to adjust and adjustment means the value of an employee can change drastically and it may be better to replace someone who was a great fit for the old market with someone who's a better fit for the new market. Sentimentality is a competitive disadvantage.
You can balk at the morality and decency of this and I'd agree with you but you shouldn't be upset about the persons, you should be upset about the system that is requiring those persons to act this way in order to stay afloat.
> There are limits to how much of a good person you can be, those limits are set by the economic system we exist in.
> you should be upset about the system that is requiring those persons to act this way in order to stay afloat.
How would you change the system or modify the current situation in order to define new limits that are more, let's say, humane?
In the article, there is an example of an ex-Google employee that got fired via email, he couldn't say "Bye" to his colleagues after 20 years of working with them. That doesn't seem like a system with reasonable limits.
> In the article, there is an example of an ex-Google employee that got fired via email, he couldn't say "Bye" to his colleagues after 20 years of working with them. That doesn't seem like a system with reasonable limits.
Until there is a system to easily weed out the people that go ballistic when being laid off, cutting off access is completely fine.
If you want to keep in touch with people outside of work, exchange personal emails.
"How would you change the system" is an above human level question. Winston Churchill said that democracy is the worst form of Government except for all those other forms that have been tried from time to time. The same for capitalism. It is an illusion that it is easy to change a system in which millions of people participate.
The economic forces as painted here are very real but cruelty is optional. It is not very expensive to give an employee the time to say goodbye to colleagues.
> Winston Churchill said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.
Sure but he had a good reason to conflate all forms of democracy as if there were no difference between them or ways to give more power to the people in, say, UK's form of democracy. Replacing first-past-the-post voting for example wouldn't require abandoning the entire system of government.
> The same for capitalism.
Sure but again there are important differences between laissez faire capitalism and a social market economy and yet this is used to justify reforming the latter into closer and closer approximations of the former. This also ignores that while the economy at large is clearly some form of "capitalism", communities otherwise operate on more non-capitalist patterns of behavior (e.g. buying rounds at the bar among friends, borrowing tools to your neighbors, BYOBs/potlucks).
Even interactions involving currency (remember markets and currency alone don't define capitalism) don't have to be transactional or profit optimized or be defined in terms of ownership and servitude. Of course things like the gig economy, consumerism and "hustle culture" are built around "capitalism"-ifying those non-capitalist interactions by reframing them as transactional or business opportunities - the most blatant example probably being the widely ridiculed genre of blog post a la "what breaking up with my partner taught me about being a hiring manager".
This. I don't mean it as a criticism towards the employer: if they ignored profit and favoured the employees they would go out of business and eventually that would be bad for the employees as well.
It's just how it is: your employer is not your friend. It's a contract.
"In the market economy the worker sells his services as other people sell their commodities. The employer is not the employee’s lord. He is simply the buyer of services which he must purchase at their market price."
Well, there's a good reason the Mises Institute is a right-wing libertarian think tank that is very blunt about wanting to abolish social welfare and workers' rights.
This quote completely ignores real-world power dynamics and distribution of resources. The employer has capital, the employee does not. The employer can be a Fortune 500 or a mom and pop shop. Even the most highly paid employee can not exert as much political or economical power as Jeff Bezos. At a certain point wealth stops being about what you can buy and starts becoming about what decisions you can influence.
This is the reason unions exist. A Fortune 500 company's board members already engage in collective bargaining. It's only fair for its employees to do the same. And this works at almost any scale, even if at the mom and pop shop the employees may not need to formally unionize because there's few enough of them that they can organize directly.
Sorry, but that's not how the real world works, Mises is a fantasy for kids. That works for maybe contractors, and even that is muddy in cases like Uber etc. But for employees, they sell labor, not services.
Likewise, when someone owns a factory, they don't just own the physical tools and material inputs of production (which they would rent to workers), but they own (control) the whole social structure that is needed to produce, all the human relationships (workers - management - owners - customers) required for the factory to work.
That was Marx's main point, and that's why sane countries have labor laws that regulate this relationship. (But even if everybody was truly selling a service, "free market" would quickly collapse into oligopolies, as it usually does.)
> they don't just own the physical tools and material inputs of production (which they would rent to workers), but they own (control) the whole social structure that is needed to produce
Ayup. That's why when you run a small business an early lesson is that your competitive advantage isn't your intellectual property (because any larger company can come along and find a way to copy that legally) but your business relations and reputation.
I think you are missing the metapoint (maybe purposefully). In the US, even very profitable companies are laying off tons of workers to boost share price and executive compensation. The only reasons I can think of are:
1. They expect the company to be not profitable in near future and they are taking advance steps.
2. They think the workers add nothing to the top line or bottom line and cannot think of anything else that would gainfully make use of their talents.
3. They think the market would like it if they lay people off and hence it is in their selfish motive to keep laying people off.
1 requires a crystal ball and 2 is just incompetence. 3 seems the most likely answer for these layoffs.
If you were running a company at a loss to pay people, you are not running a business, you are a charity. At the same time, if your profitable company wants to move the payoff from labor to shareholders in increasing percentages, your company is detrimental to the society.
Also - every system that has ever existed has had some variant of this.
Output and effectiveness towards market needs has to matter or eventually the system collapses under its own weight. Churn has to happen, or ‘deadwood’ builds up through inertia.
And when the system collapses, it’s like a forest fire with a massive amount of dead wood - it burns everything to the ground, not to grow again for a generation. As compared to periodic wildfires that may suck, but for which sprouts pop back up again in the spring.
> The market as in who needs things, and is willing/able to pay for them, and who provides things and is willing/able to sell them.
That's literally begging the question. There's no intrinsic need for a system to allow for the centralization of wealth to the same extent our present system does, nor for such widespread commodification. It's entirely possible to imagine a system with a different conceptualization of property rights for example -- because we know that property rights have changed over time and were different in different societies. Copyright alone is a great example for how arbitrary property rights are given how drastically it has changed over time.
I’m talking about all economic systems, including the USSR, China, US, European markets, etc.
Fundamentally, for an economy to exist it connects those who produce/have with those who consume/want, mediated by some exchange of value (though in command economies that last part can be remarkably performative).
And fundamentally, if there is no connection to people’s actual needs, and no clearing of old/non-competitive ways to meet those needs there is going to be a very, very bad time. Eventually.
Internally a corporation is a command economy, externally it isn’t of course.
Other command economy examples - gov’t, the USSR, the US during wartime, Russia right now, etc.
Aka when someone in a position of authority says ‘money gets spent here and this way’, regardless of any natural market tendencies (and sometimes with little regard to solvency or pesky things like quality of life).
Obviously the caveat here is that the "market tendencies" aren't defined democractically. It's very much "voting with your dollar" where the voting itself is limited to what options the market provides and the dollar is limited to how much money each market participant has. In that sense monopolization is very much a natural market tendency although most people in favor of "letting the market decide" over government control/intervention would argue that monopolization is bad and actively harmful to a free market.
Joking aside I know, personally, business owners who have consistently acted with integrity and managed to maintain a successful, profitable business over the course of 30+ years, adjacent to the real estate market, surviving 2008, etc. so it's not like they've never faced had time or tough competitors. In that time they have never had layoffs. They've had to cut pay and reduce benefits in lean times, but providing gainful employment is a core value (above profit!!) and it has worked.
> Your job as a business owner is not to provide jobs to your employees, it's to keep the business afloat and maintain your income.
Employee here. There's nothing wrong with that. In fact, I think it is healthy for both the employer and the employee to recognize this as a base of a good professional relationship.
> You can balk at the morality and decency of this and I'd agree with you
Why would you agree? A business is people voluntarily getting together trying to make money. If it fails to do so, why should other people have to step in and pay?
My understanding is that there are a lot of very similar economic systems. There are pros and cons to each of these systems. I don't believe one system or government as truly figured it out.
Folks on HN and reddit like to use other systems as a better system, but they always have some subjective negatives that are pushed aside.
Should employees get their salaries adjusted by inflation once per year?
Why yearly, not monthly? Also what if there is deflation, do people get pay cuts?
A lot of these issues are very easy to criticize on the surface, I don't think many here have ever tried to employee people and work on profit margins.
> Also what if there is deflation, do people get pay cuts?
Yes, put it written form in a contract too.
What I suggest (employer and employee explicitly negotiating inflation/deflation terms) could be better than the standard song and dance we all are used to suffer.
It can change in the other direction too, through management/ownership changes. My previous regime taught me a lot about how I should limit the loyalty I show, but the current lot (buy out six years ago) do a much better job of not being arseholes.
Like all aspects of work/life balance, it is a risk/reward balance that you need to monitor and adjust as circumstances develop.
It's heartwarming to believe in the "family" narrative some companies promote, but it's important to remain pragmatic. This narrative is just a motivational tool to encourage employees to go above and beyond their compensated duties. It's not a binding contract though.
In reality, the power dynamic inherently favors the employer. Once an employee has invested their time and energy, the company holds all the leverage. There's little incentive for the company to uphold their end of this unspoken "deal."
Leadership changes, company priorities shift, and the "family" narrative can quickly fade when faced with financial realities or strategic decisions.
Also maybe it's true for OPs country, not in mine. It costs a lot of money to get rid of someone in my country. So that makes laying people off less profitable.
"it's profitable" hides a world of problem though. "it's profitable" over what timeline - just because an employee isn't doing something profitable this week, doesn't mean they won't be next week. It costs a lot to fire someone even in "at will" countries where you literally just tell them to F-Off
I have a friend who was laid-off from Google in Switzerland. The guy got salary for months but wasn't allowed in the office. So stupid. Seems like this "we must do lay-offs" is such a modus operandi for us big tech they would do it even if it cost them far more than utilize the pretty talented developer.
> So stupid. Seems like this "we must do lay-offs" is such a modus operandi for us big tech they would do it even if it cost them far more than utilize the pretty talented developer.
Unless they consider that it is still profitable because they will stop paying him after those 2-3 months. Which would not be stupid.
When saying “it’s profitable to lay someone off”, isn’t it implied that it’s profitable in a long-term perspective? Otherwise, it would according to the definition to be profitable to lay someone of as soon as they take their first lunch break.
Note that I didn't claim that non-profit companies prioritize employees. I said that when a for-profit company prioritizes something else than profits then it's not acting as a for-profit company.
> Maybe that's true for your employer. But it's bold to generalize. Certainly not true for the company where I work. And a quite sad view.
(Disclaimer: I'm not a business person, so I have no idea what the correct fancy terms are for any of these things.)
If the company had to choose between survival thanks to firing someone ("recovery to positive" predicted after all legal unemployment stuff has been paid), vs loyalty keeping people on payroll risking bankruptcy[1] if the current trend continues, then I would expect them to choose fire-now-and-secure-survival, rather than don't-fire-because-i'm-sure-it-will-all-work-out-somehow-if-i-stay-loyal.
After all, as an employee, I would also choose assured survival (moving companies) over loyalty (staying in the same company) the second I realize staying at the current company isn't beneficial for me (i.e. what the company pays me vs cost of living, not enough for savings, too little time to spend with family, always way too tired, etc).
If your company would choose loyalty over being profitable, then that's interesting for sure. (EDIT: Though there's some companies that just run at a loss off the founder's savings, so it could be possible. I'm not denying your claims, just find them unusual.)
[1]: Either because company is already on negative profit ("debt"? no idea if that is the correct word), or because current profit isn't enough to please VC and risks losing their support which would then put them on a negative profit situation.
It is a relatively safe generalisation from my experience, both direct and through family & friends, even though I don't think it is true for my current circumstances.
The regime I'm currently under genuinely seems to value me and the others around. I've been afforded quite a lot of understanding with regard to unplanned time off (and sometimes missed deadlines) due to dealing with some personal issues and looking after ill family (damn near lost the old man a couple of weeks ago, scariest day of my existence thus far). Admittedly there are some things that I have a very low bus count on, so they can't just easily kick me out or risk irritating me to the point where I chose to go, but it is more than just that.
Of course if it came down to me or the whole company I'd be dropped quickly as is only sensible, so there is a limit to how much I can count on such loyalty (or if it _isn't_ loyalty, their feeling that they need to keep me around).
Previous regime¹ was quite different. I wouldn't have trusted some of them enough to lend them a fiver³, and when I got news of the current lot coming in I was very close to telling them to fuck off⁴ in most unprofessional terms even though I didn't have anywhere lined up to jump directly to.
----
[1] I've effectively worked for that same entity for many years², though there have been a couple of complete changes of ownership & company name, the usual staff turnover overall, and changes to the product line-up.
[2] due in part to a shocking lack of ambition :)
[3] At one point I found out my line manager was leaving the day he did, via an email to the whole company about leaving drinks, management had known for at least weeks. Also working piles of unpaid overtime on a project then being bitched about by the CEO for not being present at 0900 on the dot one morning, was a good indication of how much my efforts were respected (I started working to rule at that point, in at 0859, out at 1731, no overtime without agreement up-front it would be paid for).
[4] What had stopped me some days earlier was the brexit vote: that implied potential economic uncertainty which, to my many risk-averse personality segments, demanded I be a little more cautious for a time.
Companies aren't people. Even if your current direct boss wouldn't do this, they won't be your boss forever, and there's always somebody further up the chain who can overrule them (or fire them too).
You're being pedantic here, but missing the point. The parent implies that they "go out of their way to keep their employer's code proprietary" because they are paid for it.
I was merely noting that they are not paid for that. They are paid to [solve problems] (which I expressed as "write code").
We need more timebomb licenses. The company owns your code for X years, to which they can gain market advantage and make their money. After X years, it goes MIT/GPL.
It benefits the coder, it benefits society, and the company gets that sweet temporary window of profitability over their competitors as they always have since time immemorial.
The benefit of the timebomb is that it gives a company half a decade or more to make their money. If it was copyleft from the getgo, then it'd be hard for the company to compete at all, which is a position I can understand.
> then it'd be hard for the company to compete at all
It depends on the codebase obviously, but you would have to prove that. On the other hand, if you open source it properly you may get contributions, which is valuable for the company.
Open sourcing is only really beneficial to yourself if the code is usable in your new job. Hopefully you're trying something new and growing - you probably shouldn't be switching jobs to work on the same kind of problems (or even with the same tech stack).
Of course, if the open sourced project becomes wildly popular it's great for your CV, but that doesn't typically happen.
Also, just flinging the code out in the open isn't enough. The company needs to be a good steward of your open sourced contributions. At my last job I left a few reusable open source Django components which I thought were very nice (and others are using it), but nobody felt responsible to take care of the project, so it languished. Now it is several Django versions behind and has bug reports which aren't being fixed. This was rather disappointing to me. I had really expected better because my colleagues in general were typically pro open source. I'm not using Django anymore, and I'm not inclined to put any personal time into it to keep the project alive.
> This was rather disappointing to me. I had really expected better because my colleagues in general were typically pro open source. I'm not using Django anymore, and I'm not inclined to put any personal time into it to keep the project alive.
Why would your colleagues want to maintain your pet project instead of making their own? Most open source projects live or die with their main contributors, if you expected the company to spend money maintaining your project then that’s the wrong expectation in my opinion.
> Why would your colleagues want to maintain your pet project instead of making their own?
The projects in question were Django model field types, which I used in the larger projects I was working on. I made them available on PyPi so they're re-usable by others, and for easier installation. Maintaining these should be in their own interest, as the projects in which they are used are mission-critical systems for their customers.
Presumably they haven't upgraded their Django in ages, so they didn't need to do any maintenance on these packages. But still, a) they may hit these bugs themselves sooner or later and b) the projects exist under the company's GitHub profile, so it makes them look bad.
The problem is that employers make this process as toxic as it possibly can be, using every trick in the book of emotional manipulation, making you feel like you're blackmailing them and literally destroying their life. Adds a lot of resentment on both sides every time regardless of outcome and it just accumulates.
When I was young, my father worked for a place where asking for a raise was a fireable offence. The founder had been a pioneer in the modern cattle-not-pets attitude toward servers, except he applied it to developers. When an employee asked for a raise, it meant on of two things:
1. The employee was a vain troublemaker who had over-value what they were worth in the market. Firing them would not only remove an inefficiency from the system (as they were likely not to work as hard if they believed that they were underpaid), but it would also helpfully remind the other developers that they were all expendable.
2. The employee was a 10x developer who was vital to the company processes and could command a much higher salary somewhere else. Even if you gave them a raise today, they could be hit by a bus tomorrow. The best course of action was to simply rip off the band aid. Fire the employee, have security immediately escort them from the building, and begin triage to ensure that the critical systems that they wrote/managed could be handled by the next resume in HR's pile.
The line I will always remember is: Developer are like eggs. They are heavily undervalued, but also will crack under too much pressure. Thankfully, like eggs, you can buy them for cheap in packs of twelve, so it doesn't matter if you break a few.
Many things about that company were not idea - the founder left his CEO position in handcuffs. However, the policy was not communicated to new and future hires in any manner. So why would anyone stay?
The founder was very public with other companies in the area about both his policy of firing 10x developers and hiring any warm body that could put a resume in his hand. He told stories at local business meetings of the various people he hired who couldn't find a computer and were fired on the same day. So, when you found out what the corporate culture was like after about a month on the job, you had two options.
1. Stay on for a year. This cemented to every hiring manager that you were a 1x developer (because you kept the job), but absolutely not a 10x developer. You might get a junior developer position somewhere else, but never more than that.
2. Immediately quit the job. You now had a one month stint at the firm on your resume. Every hiring manager in town knew that 5% of people with a short stint were good developers and the remaining 95% were people who just finished "COBOL for Dummies". You'd best just leave the gap in your resume if you didn't want your resume in the trash.
Well he's probably right. There should be fixed and immutable company policy for automatic raises and bonuses based on independent quantitative measurements, i.e. inflation, local cost of living, and project metrics. No buts, no exceptions, on both the employer's and employee's side. This is how it works in most government jobs and it makes everything fairer, easier, and more predictable overall.
I happen to work at a government job partially because I saw how my father was treated by the private sector. However, our institution is failing at the requirements that you put forth. The government ministers complained back in 2015 that the independent quantitative measurements weren't accurately capturing employee productivity. As you would expect from Goodhart's law, there certainly were certain employees being underpaid and overpaid, respectively. Thus, the measurements were scraped. However, the bureaucracy has prevented a new set of metrics from being put into place. As a result, I've been working for eight years on what I was told would be a six-month probationary salary because there is literally no mechanism for anyone to receive a raise. Thankfully, recent events are looking like this might change to something sane in a year or two, but the last proposal I saw for someone moving out of the bottom of a salary bracket was: "candidate has won awards from professional bodies in at least three countries across at least two continents".
Fair point. I just feel like it doesn't cost much to learn about open source licenses, and developers would benefit from it.
I managed to open source a lot of code just by convincing managers (sometimes in a manipulative way, but that's the game: they do that, too). It did not imply any bureaucracy.
It doesn't mean that you have to hate your job. Just stop and reflect from time to time, and make sure you are being compensated for what you do. If not, you need to change something (ask for a raise, look for another job, work less, ...).
As developers, IMHO you should always push for open sourcing as much as you can, ideally with a copyleft license and no CLA. Because it is beneficial for you personally: it means that you can reuse your code after you leave, and if you manage to make it copyleft and accept external contributions, it will force your employer to keep distributing the sources after you leave.
I really don't get why developers sometimes go out of their way to help their employer keep their code proprietary, it should be the other way round.