If you're reporting hours, then it's fraud. Let's say you work 60 hours per week/splitting 30 hours between companies, but reporting 40 for both. You're technically shorting both companies for 10 hours of work each.
Even if you're reporting hours accurately and either of the companies finds out about it, then you'll probably be asked to leave regardless. This is true also if you're salaried.
If it's a government subcontract, you could end up going to jail for this.
Realistically the way to do this without problems would be to start your own consulting firm, and bid on work. Then you can work on two projects at once (as long as it's not hourly, something like a firm fixed price contract). You're basically on the hook for delivering it. The customer is not paying for your time, just the product you're delivering.
Edited to add:
In the salaried world you have a conflict of interest. You may choose a worse technique or technology for company A if it means you won't be able to give company B enough time. Or you might put in shittier code than needed to be created because you had to save time for company B.
Company A would say those extra hours could have been put to use for more testing, more robust coding, more robust unit testing.
Worse would be if you stole code that solved a problem for Company A and gave it to Company B and then took credit for it.
So it would be in the best interest for Company A and Company B to let you go if either found out about it.
But what if you don't? Especially in my old sysadmin jobs I had many opportunities to work for multiple companies doing very little actual work - most of my colleagues were playing, watching movies, reading, posting on Slashdot etc. The probability of a critical incident occurring at the same time everywhere and being so grave that all sysadmins would have to participate was close to zero. I did not take another job but I wouldn't consider it to be unethical in that scenario
Well, honestly, there's always something that could be done, and be done better.
Even if you think there isn't, a better approach is to start a company to maintain the infrastructure under contract at some fraction of hiring full time people.
Then you can legally take on 3x workload and be paid for 2.5x current salary and everyone's happy.
Comment on your edit:
I don't disagree on the potential for a worse technique or tech on either side, but isn't there also potential for the opposite? As in, exposure to a technology/architecture/process at Company B that might help Company A.
As a consultant, I find many clients are genuinely interested in how other companies solve similar challenges.
(This reply is written with the assumption that you're not putting in 80 hour weeks, but rather juggling multiple companies during a normal workday).
Because in a lot of software engineering jobs we are given a lot of trust in managing our own workload and this is a breach of that trust.
If you have too much on your plate you can (in well functioning teams) tell your manager "hey, we can't do X" or "we need to push the deadline on Y" and that will be taken at face value. You won't be expected to put in 80 hour weeks just to get it done outside of extraordinary circumstances.
The flip side of that is that if you have so little work that you have time to work a whole other job you're meant to tell your manager "hey, I have spare cycles, what do we need to get done?".
> This reply is written with the assumption that you're not putting in 80 hour weeks
I'll note that even if you are, your not putting in the same quality 40 hours at either job you'd be capable if you were just working a single job. There are plenty of people who think they are capable of this pace, I've yet to meet someone who actually is.
Of course if you have good management in place this is detected via the poor performance rather than needing to worry about butt-in-seat time.
There was an hourly contractor I knew that used company A's laptop and wifi connection to do work for Company B, doing code check ins on Company B's open source github with his real name.
He would go hide into some office in Company A for a couple hours during the work day doing some kind of meeting, hoping that no one would notice him behind the glass walls.
Meanwhile his performance sucked for Company A, and he couldn't handle apparently simple tasks either. The github check-ins were flagged by the firewall, and they summarily let him go as soon as they saw it.
I would not hire him if his resume crossed my path again.
> you're meant to tell your manager "hey, I have spare cycles, what do we need to get done?".
That's absurd, unless it's accompanied with a raise. If the employer is content with the worker's output, why should the worker volunteer to perform more work without additional compensation?
This is an oversimplistic view of tech work, especially software. If you're a contractor who doesn't care about the product beyond doing your well-delineated part properly, then sure, that attitude is perfectly reasonable (no sarcasm - that's not intended as a put-down of contract work). If you are an actual part of a team working to create a product you ostensibly all care about, you obviously will work together to distribute work; to account for surprises; to fix problems without being assigned a ticket that tells you exactly how to fix it; to make a good product. It's a fluid bag of work that naturally fills into any holes that develop in people's schedules. Work of that nature isn't "doing more than you're asked", because that kind of teamwork is in fact exactly what is asked.
I feel the inverse. Joyless “take tasks off the board and wait for more tasks” work is low-creativity and low-engagement work. Allowing people the freedom to not be slaves to the almighty kanban board mitigates burnout because people can actually experience some satisfaction rather than endless grind.
It’s interesting we came to different conclusions on this one — I think there’s something here worth comparing notes on, but I’m not quite sure what it is. In my experience, working a consistent 7 hours every day will quite rapidly burn me out.
I think it’s the definition we’re using for “work.” When I work, I work hard, and I dedicate my entire mental focus on the task. Doing that for seven hours straight sometimes feels like a small marathon in itself. Perhaps you’re just more effective.
I can’t imagine working any way other than this. A system where you are assigned precise little tasks with hard deadlines that sum to precisely your compensation is a low trust environment. I’d much rather hand people projects or work as a team to solve large problems than need to micromanage the hell out of people so that they’ve got enough shit to do to justify their wage without overburdening them. That sounds exhausting.
“Hey, I pay you to work on my team and build something with the team” is a much healthier and happier system. It also gives people agency about how to tackle problems and the ability to propose work or even experiment. The alternative is a joyless factory line.
I here this all the time from the people on my team. We have a mutual understanding that I expect you to put a full week in every week, but I'm not going to micro manage your week.
If youre not keeping yourself busy, it becomes pretty obvious, very quickly.
The flip side of that is that if you have so little work that you have time to work a whole other job you're meant to tell your manager "hey, I have spare cycles, what do we need to get done?".
I’m not sure where this idea came from. If you want to do that, sure, go for it. But no one is meant to volunteer for more work than they’re given.
> But no one is meant to volunteer for more work than they’re given.
To use your own words, I'm not sure where this idea came from. Any manager will absolutely expect you to tell them when you've completed your assigned tasks. No one wants the employee they have to keep checking in with to make sure they haven't completed their current assignment and are now sitting around staring at their cubicle wall instead of telling anyone.
Yes. If you estimate that you’ll get something done by Thursday, and you deliver on Thursday, then everyone is happy.
If you complete it sooner, your estimates were off. It’s fine to slow down if you sense you don’t need to work quite as hard as you thought to meet your deadlines.
In general, estimation is a system of shared deadlines. If you give your manager the ability to think of you as always meeting your deadlines, I guarantee they’ll be happy.
An estimate is an estimate, not a quote. If the estimate is to get it done by Tuesday, and is turned out it will take 2 times longer, do you just work 16 hours a day or pay a second programmer to help to get it done by Tuesday?
> If you give your manager the ability to think of you as always meeting your deadlines, I guarantee they’ll be happy.
Sure, as long as they never find out that you've been padding your estimates or that the project everyone thought was going to take a week turned out to be much simpler than anticipated and you got in done on Monday and just played video games the rest of the week they'll be happy. There's even plenty of bad management out there, so in some places this might hold true for a long period of time (even a career!), but it's not because that's what your employer expected you to do, or what they think they are paying you for. And a good manager is going to figure out pretty quick when the end result of your 1-week tasks is a two line PR that's something is fishy.
* Disclaimer: I have absolutely had the tasks the boiled down to two lines, but finding the right two lines took a week. A good manager is going to have sufficient understanding of the work to tell the difference.
I think it’s fine to agree to disagree on this. I’ll just say that hasn’t been my experience, and leave it at that. You don’t appear to be interested in other perspectives, so there’s not much point in continuing.
We can certainly disagree, but I'll note the reason I'm having a hard time accepting the assertion that managers are fine with employees just doing whatever tasks they are assigned and knocking off until assigned something new is my experience as a manager, managing managers, and working with other managers across a variety of disciplines and industries. I've yet to meet one with this attitude.
I don't think employees believe it either. After all, I notice your not asserting that you wrap up your work for the sprint, then tell your manager your knocking off for the next week since your work is done. If the expectation is just that you get your assigned work done, why wouldn't you? Why would you instead keep your manager in the dark?
> Why would you instead keep your manager in the dark?
Because you're already providing enough value to justify your wage even with padded estimates and slacking off (otherwise your manager wouldn't have been happy to begin with). They just want to get more out of you via the expectation of "reasonable best effort".
In other words, your 50% effort was already good enough to provide the company the value it needed (was willing to pay for), but some managers feel entitled to 100% if you demonstrate that capacity to them. So just don't.
And the reality is that many places don't genuinely need people's best. What they actually need is "good enough", and that's already reflected in the wage via profitable business outcomes that role contributes to. Time and effort have nothing to do with it.
I disagree. This is only true if you also get shit for being late. Estimates are always off. “Hey this ended up being harder than expected” is a reasonable excuse for delays. If that’s the case then an estimation error in the other direction shouldn’t mean you can just screw around for a while.
I’ll go against the grain and say that nothing is wrong with this arrangement, full stop.
The exception is if both jobs are in the same field. If so, watch out for the IP clauses of the contracts.
In general, employers are expected to fire you if they’re unhappy. If they’re happy there’s no problem.
I think people are averse to the idea because they haven’t done it, and feel it’s morally wrong. But morals aren’t laws, and we live in a world of laws.
The solution is to bill daily, not hourly, and to meet all of your estimates.
It’ll feel like a marathon, but you can pull down over half a million a year if you play your cards perfectly.
I'd say there's nothing wrong even if you're paid for 40 hours a week in each of these jobs. The reason for that is quite simple: I am not a slave and my lifespan is not infinite.
If you tell me "I will need you 40 hours a week" but then it turns out you actually need 20 hours of my time a week I am not going to waste these 20 hours because life is too short for this kind of foolishness. I could tell you that I'm done after these 20 hours, but if my 20 hour output already matches the average output for that position then why should I? What is in there for me? Most likely I am not going to be rewarded for picking more work anyway, I will just work harder and that's it. Why bother if there's no incentive to work harder? I might as well prioritize myself and my finances as opposed to provide above-average value to someone who will never reward me for doing so.
If I was running a business and I would manage to effectively double my income I would be praised and pointed to as an example of a successful person. Yet if I do the same as an employee all of the sudden there's tons of problems around it. Why should I let myself be worse-off than a random company? Why should I willingly choose to earn less if I can earn more?
I don't think it's morally wrong if you set and meet expectations. I do think it's morally wrong if there's deception involved. The question is posed in a similar manner to "is sexting cheating on your spouse?" Well, yeah, if you're not willing to inform them about it.
I've done it a few times and we usually cover the expectations for freelancing on the job. Usually this means a lower salary for this "show up in office and do whatever you want" block of time. Remote can be the exact opposite - "don't show up in office, but get more work done"
Besides this, there is no moral prohibition against working multiple jobs in most other fields. Would anybody question the ethics of me working a dev job but also picking up shifts at a local cafe or restaurant? What if I have a side project?
I knew plenty of kids whose parents worked multiple jobs growing up. The fact that those jobs were shitty, doesn't change the ethics of it. Unless you're violating a non-compete, it's not anybody's business what you do with your free time.
I think it is also because most of us never had to work two jobs out of necessity. So we just assume that one is supposed to have only one job.
Unfortunately, I have met many people who had to do multiple jobs in order to survive. Especially, when they had a family, and wanted to provide them better opportunities. It is pretty standard operating procedure below certain income levels.
I don't see anything wrong with 2 full-time jobs as long as one is actually performing and working 80 hours. I knew people who worked even longer hours out of necessity.
Nothing is wrong with this arrangement unless the two jobs conflict or require something that you can't provide. If they don't and you can deliver all that the job asks from you, you've found the perfect 2 remote jobs!
But really, don't go flaunting it because it's ridiculously easy for jobs to begin requiring things that disallow you to work 2 jobs, like a timesheet.
There's infinite things to do in many software companies. You're only given 40 hours of work per week. If you had the stamina for two jobs, then they'd give you 80 hours, with more than double the pay. That's what factories and gig jobs do.
But everyone believes that 40 hours is the peak, maybe less, before efficiency drops. You need rest to do well.
If you can perform, then just get a better position or a better job. Take on more responsibilities. Use the spare time to fix the problems that nobody brings up. If you can't, then chances are you're not really performing. If you are performing, why aren't you in a CxO position? If you are in a CxO position, are you hitting the 10% week on week growth benchmark?
I feel that most people doing two jobs are really just taking multiple low positions with low expectations and low salary caps. It's not always laziness, sometimes just market inefficiency.
Now if you are one of the people who can do multiple jobs effectively, consider consulting, where it's completely fine.
False. The 40 hour work week in the US was won on the backs of a militant labor movement in the earlier 21st century. Plenty of bosses and company owners around the world believe more working hours would increase productivity, and laws around the world vary quite a bit too.
If working hours would increase productivity, why don't they pay overtime? In most situations where there's a direct correlation between work hours and productivity, someone pays overtime. Why is overtime not offered?
Eastern companies often employ 996, where the expectations are roughly 72 hours/week, and compensation is paid accordingly.
And what is measured is not what becomes law, hence why I don’t care. The fact is the laws are direct results of hard fought labor battles, not productivity data or theories.
>There's infinite things to do in many software companies. You're only given 40 hours of work per week. If you had the stamina for two jobs, then they'd give you 80 hours, with more than double the pay. That's what factories and gig jobs do.
But everyone believes that 40 hours is the peak, maybe less, before efficiency drops. You need rest to do well.
>If you can perform, then just get a better position or a better job. Take on more responsibilities. Use the spare time to fix the problems that nobody brings up. If you can't, ...
If you can't, you're working at a company similar to most people where taking on additional projects outside of your scope is not rewarded with "double pay". Its rewarded with leadership believing you don't have enough work.
The claim above makes sense at startups/etc where growth is determined by your output. At my employer, I'm literally not eligible for a promotion or raise until I've been there for 2 years. Regardless of how many hours I put, my (measurable) direct impact on revenue, my (measurable) reductions in cost, it is against policy to promote or pay me more.
That is why people look to get seconds jobs. That is why the only against policy raise I was given occurred when 2 coworkers left and cited this specific policy, so the company feared more people would leave.
Lets ask why I'm not cxo or even senior level, when I open my companies financials and see myself managing 6x more revenue than the next person with 15% better profit margin.
You are already willing to get get another job.
You already identified that your current employer is a horrible company.
Just get another job and quite the bad one.
Quite some number of commenters answering the question from a moral/ethical perspective, which I think would be appropriate if this was a question of obligations between two reasonable members of society. However, I can't shake the feeling that in 2022, the relationship between employer and employee is not one of equal power characterised by employer good faith. We've seen time and time again that organisations do whatever they can to exploit and control employees, while simultaneously saying "We CareTM" and "It's just business". Also seems unfair to me that employees exercising their power in the employment market are being demonised as though they are realistically having a negative, material impact on society, when of late we're hearing of mass layoffs, but that's just companies being companies. Think I'll reserve my moral outrage..
As an employer I don't want to be constantly micromanaging work for you to get done. I want to make a list of tasks and have you work through them as fast as you can. If you're working for someone else, that means you're either taking longer than you need to take or you're not being honest about how quickly things can get done.
I don't want to manage people at that level. I want there to be trust so we can both grow the company together. How can I do that if I am competing with you for your own time?
> I want there to be trust so we can both grow the company together.
Do you offer equity, then? Does an employee working harder, faster, also benefit them because they share in the company's success, or does it just increase your profits while they slave away building widgets for you?
> I want to make a list of tasks and have you work through them as fast as you can
If you treat your employees as cogs in an assembly line, well, they're just going to think of you as a checklist they gotta complete in order to get paid. Doesn't sound like they have much reason to be loyal.
I dunno, the power dynamics in these relationships can vary so much between companies and individual managers/owners. The good ones take care of their employees and inspire loyalty and share their success. The bad ones just treat them as commoditized labor, and in turn get treated as commodity jobs. It's a two-way street.
>> I want there to be trust so we can both grow the company together.
> Do you offer equity, then?
Employees complain a lot about pay, but those surely don’t deserve a dime. As an employer, I grew the company from 0 to 6 jobs. Now I employ people to delegate missions to, one of them is that each employee creates 6 jobs too. And the type of “post-Covid” employee is, in practice, useless to the economy.
If you pay X to get Y amount of work done and are happy about it why would you care that the person is also doing Z amount of work somewhere else? Z could be an other job, or a hobby or anything else, but it is none of your concern.
If you're working for someone else, it is by definition meaning that Y has plenty of room in it and can be done better.
They could replace the worker with anyone else that has the same skill as them, but who would put all effort into Y, and effectively double the rate of production for not much change.
It's even better than that, because they now have one big lever to tweak the workload. Some weeks it might be 1.5Y, other times it's 2.1Y, software engineering definitely has its good and bad periods, week-by-week.
If the person who works two jobs isn't replaced, not only do we have less work done than what's possible, but they can also burn out easier.
And we can't change what their other work is telling them to do.
If an engineer is burning out or need a break, there's only so much could be done (other than stopping work altogether.. but again, why? For another company to burn out our employees?) - there's a lot less wiggle room in 1Y than 2Y.
(Note: I said "we" from pov of manager but I am not one, I'm just an engineer, and I thought about the two job question for quite a while, but determined that it's definitely not worth my time. I get more fulfilment from doing my own things.)
>If you're working for someone else, it is by definition meaning that Y has plenty of room in it and can be done better.
And why would I care about that as an employee? It's the employer's problem to use my time effectively, not mine. It is ridiculous to assume I should have interest in helping you make me work harder for the same amount of pay.
>They could replace the worker with anyone else that has the same skill as them, but who would put all effort into Y, and effectively double the rate of production for not much change.
So there's this pool of magical workers who can do twice the amount of work for the same salary as the current employee and yet the company is not utilizing this opportunity at all? This scenario makes no sense, if it was possible to do then the company should already be doing it regardless of whether someone has a second job or not.
You don't, the company cares. And whether or not you're a part of that company affects how much you care.
> It is ridiculous to assume I should have interest in helping you make me work harder for the same amount of pay.
You are making yourself work harder. Not the company.
I guess we're having a miscommunication here because you're thinking in terms of "value of labour" and all that cruft.
> So there's this pool of magical workers who can do twice the amount of work for the same salary as the current employee ...
We have people on our team who don't know what CSV files are, and who spend 3 or 4 days on typing out things from spreadsheets, rather than using copy paste. Labour is not inherently valuable for the sake of labour.
The value from a software engineer isn't from hours worked. It's the quality of the result. Man is more than machine.
As long as you can produce twice as much quality software from two companies, then there's no issue with moonlighting a job.
But I'm saying that you're painting yourself into a corner, because now you have to negotiate and do all the "non-labour-related" BS twice as much, and I would argue that the quality of your output degrades, not improves.
It would be more effective to double your money with the current employer as it gives you and them (and you) more space, vacation, room to slow down and speed up when you need, etc.
I'm not aware of any salary arrangement where they are paying X to get Y amount of work done. Your describing per-project contracting work, and this is plenty common in the software industry. Instead they are paying X dollars to get Y hours of your time (usually in the US 40).
> or you're not being honest about how quickly things can get done.
If you get an estimate from someone on how long it takes to do something, and you approve that estimate, and it's delivered in that amount of time, that should be good enough for you. Realizing later, the guy could have potentially banged it out twice as fast is you imagining injury where none exists.
If that person _does_ do the work twice as fast and comes back asking for extra work, do you pay them more? What incentive would employees have to work this way?
> I want there to be trust so we can both grow the company together.
You are not partners with your employees, and the idea that someone spending their free time doing X or Y undermines your trust in them is garbage. I live in MA where everybody is an employee at will and can be fired tomorrow without explanation.
> How can I do that if I am competing with you for your own time?
This is the most toxic part. Your employees time is not yours. If they are salaried, it's expected they will pull their weight without having to track their hours. It's often expected that if the work takes longer, you'll put in the extra time, but again that's about tracking the work. You aren't their owner. Jeez.
If you hire a plumber to fix your bathroom, and the plumber completes the work twice faster than expected, you don't get to make him do more work for free. You may hire a cheap crew, pay them by hour and direct their work, but they'll just work slowly to bill more hours. I understand that it would be nice to have a competent plumber with hourly rate, who works as fast as possible without cutting corners, but that's not the world we live in.
Sure, but they didn't hire a plumber to fix their bathroom. They hired a plumber to spend 40 hours a week maintaining all the plumbing in a building. If you discover this plumber is only spending 20 hours fixing the most pressing issues, then instead of resolving lower priority issues or backlogged maintenance they instead went across the street to handle their most pressing issues, your naturally going to be upset.
If you want to work on a per-project basis there are plenty such consulting gigs out there, but with salaried work the general understanding is you are buying a chunk of someone's time rather than specific projects.
You may hire a good plumbers to do what you're describing, but he is going to bill you for each repair separately, and will be incentivized to find as many issues as possible. That's going to be very expensive. Greedy owners would try to reduce the cost by writing a fixed monthly rate into the contract, and would cry later when the contract attracts a cheap slacker who pretends to be competent.
Many large buildings maintain full-time maintenance people on a salary basis. For your smaller general office parks these are usually generalists, but for your larger skyscrapers, data-centers, etc you absolutely can and do see electricians, plumbers, etc working on a regular salary. No they do not bill per-repair in this situation.
That's a team of cheap slackers who do just enough to keep the water running. It's against their interests to find more work for themselves. You may try to force them by adding personal liability for failures they neglected to prevent, but that's going to have the opposite effect: now only cheap and dumb slackers would sign up. The contract we're discussing is like the impossible ladder: it has many cool properties, but it can't exist in reality.
That flies in the face of my direct experience working with these people, but sure let's take your assumption at face value.
By this logic everyone on salary in any career must be a cheap, dumb slacker, after all there is no difference between accounting on salary, plumbing on salary, writing software on salary or working in a warehouse on salary. The exact same logic applies.
Or maybe, just maybe doing plumbing on salary has the exact same set of tradeoffs as doing any other job on salary and people choose either for different reasons.
Analogies are frequently weak tools because they are describing something inherently different from the primary object, and the conversation then comes to be merely about enumerating those differences. If there is a good argument to be made, it can usually be made directly, without having to resort to making an argument vicariously about something else and then having to argue why it is equivalent to the first thing in the context of the original argument.
I mean, I've hired plumbers to fix a problem, they had a 2 hour minimum charge, but it only took 30 minutes to fix the problem. So I had them do 90 minutes of other plumbing stuff that wasn't urgent (mostly hey, where does this pipe go), no additional charge.
I currently work for two employers, both of whom are aware that I do other work. Crucially, I'm not telling either one that I'm doing 40 hours (one is half-time, the other is somewhat less).
Paying someone for "full-time" involves some amount of spare capacity, that you're paying for in order to have them available in case of emergency. But more fundamentally, you and your employer/customer should both be honest about what is being paid for/delivered.
If there isn’t anything wrong, why would you not want to tell your employer? If both you and your employer are on board then you are good.
The real reasons are that few people can actually deliver two jobs effectively and most jobs expect you to be accessible and available for some set of working hours.
That's like saying why not tell your employer about your religious principles or sex life. It is not your employers business. Working for multiple employers shouldn't be either.
Hypothetically, do you think you should be able to work for, say, Facebook and Snap at the same time? Because that's a good example of what this convention (rule?) is for. There's a lot of company 'property' that you'd be able to transfer between the two, and I think it is their right to ask you not to do that, because it could be damaging to one or both in a variety of ways.
I've never worked for a FAANG, but every place I've worked made it a discretionary thing. I would agree that if the other job was literally "I'd like to flip burgers on the weekend," then the Facebooks of the world should not be able to tell you no, and I guess I'd be surprised if they tried. Working with Burger King as a software developer to build a new social engagement app though, yes.
I also think if you're employed by Facebook as a software developer, and you need to work at Burger King to get extra money, then something else is wrong. Of course you should be able to do what you want with your time but... really?
If your boss asks for a meeting at 3:00pm and you’ve got another meeting at the same time with the other company, you should have no problem saying “I’ve got a conflict with my other job” if there is indeed no problem here. If you lie and say “I need to pick up my kid” or something else then this is an indication something is wrong.
Ok how about this then: don't hide it from your employer. For example, don't use a mouse jiggler, just be "away" when you're not working. And if you have a time conflict, don't lie to cover up your second job.
Generally speaking, in most states in the US, it would not be permissible to prohibit moonlighting for an unrelated second employer in an employment contract. There are exceptions, but in general, this is the case.
It is, however, also the case that employers can require you to inform them in advance of any moonlighting, they can demand an opportunity to vet the moonlighting to verify that it is legitimately unrelated and that you are not being hired by the second employer due to a desire to gain either and trade secrets or any favors relating to the first employer (or any other similar potential conflict of interest), and they can require that you deliver the same workload for them that you would in the event that you did not do any moonlighting.
Of course, actually going through the whole officially-saying-you-are-moonlighting process is tedious, annoying, and can lead to conflicts with the first employer (especially since they'll start looking closely at your performance, which they might not otherwise do), so many people who have agreed to an agreement like this moonlight without telling the first employer -- and then they are subject to disciplinary action if they get found out. (Also lots of people accidentally or carelessly end up using some first-employer asset/resource when moonlighting -- especially in a remote-work world where your employer might have outfitted your home office for you with property that you have agreed that they own even though everybody knows that if you left the employer they wouldn't ask for it back)
There are an infinite number of things that could be included in an employment contract that would be unenforceable. Should conditions on other sources of income be enforceable?
There's a spectrum. Moonlighting for a direct competitor is obviously problematic. Moonlighting for a customer is also somewhat problematic, due to the appearance of a conflict of interest (is the customer getting special treatment out of hiring you? Are you ever in a position to take an action at either company which is influenced either by the secrets you know about the other or by their interests?)
Moonlighting for an unrelated business in the same field is less likely to be problematic, but in the case of, for example, Alphabet or Apple, exactly what are you doing that is definitely not a conflict of interest.
Moonlighting a second full-time job will in general cause you to be less effective at either than you would be absent the moonlighting, because human focus and energy are finite resources.
Moonlighting a part-time gig in a materially unrelated line of business is probably entirely conflict-of-interest free -- and nearly all employers would not attempt to stop you from doing so, though they may require you to tell them about it and let them verify that it actually is conflict-of-interest-free. (Of course, telling them might make them start paying close attention to whether or not you're getting "a full day's work" done in your day job, which, if you aren't, will probably cause you grief eventually)
If you have a transactional job, nothing. I think the irony is that bigger employers work hard to make jobs more transactional (removing any autonomy from employees) but simultaneously push for employees to give themselves completely over to the employer.
If you worked at a factory or a grocery store, came and did your eight hours, and worked another job, nobody would care. So why does it differ as a developer? Especially if you're in a position where they treat you as a "resource". If you're an executive or cofounder or something, it's a different story
Nothing, as long as your employers are fully aware and approves of it. In most areas of the US, employment is an at-will agreement between both parties. As long as you don't withhold that information during the hiring process or make them feel deceived, you have nothing to worry about.
But because of the at-will agreement they can still dismiss you without cause or warning regardless of the understanding you have. One day someone forgets to take their medicine, ends up being angry at you for a mistake or perceived lack of performance and you just gave them the perfect explanation.
But I have a feeling that you would have a hard time swinging those agreements in the first place. Why would your employee compromise, unless you are irreplaceable?
I’ve never had complaints from employers when my second job benefits them.
I used to moonlight as a programming instructor. It let me meet developing talent, promote my day job, and do some headhunting.
Day job loved it.
I think the reason they usually object is because it alters team dynamics. Imagine if you get promoted to Senior at one job, but are still Junior at another.
I personally see no ethical conundrum BUT you are better off starting your own company and consulting directly. That way there’s no middle man and you can take all your $$& to the bank.
If they’re both “full time” work, I don’t see how can pull that off (“perform”).
If both jobs require availability during the same hours (“business hours”), how would you juggle meetings? If I was your manager at the one company and hear from you that can’t attend a meeting because of your other job, I would probably look to replace you.
More generally: put yourself in your managers shoes and try to imagine under what circumstances they’d be less than thrilled.
People have debated this online and parsed the laws and so on. I think asking "What's wrong with working multiple jobs" is the wrong question. Whether you call it "wrong" or not depends on your perspective (employer vs. employee) and what assumptions you have about the obligations of employment.
Whether working two jobs without disclosing that to the employers breaks the law, or violates some moral principle, or whether you consider it right or wrong, and regardless of what you think you owe your employer or how much you deliver, you have to look at it pragmatically. Most employers don't want their employees working multiple jobs. You might get fired, and in some circumstances you may get sued.
If you want to work multiple jobs without getting in trouble, switch to freelancing. You will do the same work but as an independent contractor you can (almost) freely choose whom to work for, where, when, and how much. (I added "almost" because you have to avoid conflicts of interest or the appearance of disclosing proprietary information.)
Depends on the job and definition of performing, but if you’re a software developer (which is all I have for context), then yeah, you might be able to pull off the bare minimum of performance - which is completing whatever feature requests are coming from the product manager or client.
But if you are working on a team as anything above an entry level developer - the job description is more than that.
If you have extra time in your work week, you should be looking at ways to make your team better - what parts of the project are painful and can be improved?
You should be looking out for your teammates, particularly those with less experience - and asking them if they need help.
You should be coordinating with other teams that are doing similar work. Are there ideas you can offer to them to help their work, and in turn do they have ideas that can help you and your team?
Essentially, most jobs are social, and that’s embedded into the job requirements. You have to talk to people when they are working. If you’re working two jobs over everyone else’s 9 - 5, you cannot do this as effectively as someone with one “full time” job.
The fact that you hide it from both employers is what's wrong with it. It's unethical, even if it's not illegal, especially because you're likely doing both jobs during the same hours. It's not like you do one 8 to 5 and the other 6-2.
When an employer hires you "full-time", they're asking for your full and complete attention. I'm not saying they own you or that you should work more than what you're getting paid for. But you're short changing your team, your manager, and the company who is trusting you.
I take it you're not a manager/leader. If you were, you'd get this. Imagine every member of your team double timing. Now you're left with a bunch of people half-assing it. It's deeply demoralizing.
And without ethics, you're just a cheat. It's no different than cheating in an exam.
If you want to earn more, start a business. Become a consultant. Learn how to make yourself more valuable. Don't cheat.
Plenty have commented on the ethics, I have nothing to add. However I'd talk about the retirement plan...
If you want to retire early, I'm pretty sure working two jobs wouldn't do the trick, even if you managed to sustain such an ordeal for years.
The best way to break out of the 9 to 5 clockwork or the rat race, is to provide value far greater than one can provide in 1 or 2 jobs. That is, starting a company, providing service(s) that return greater value. Whether you end up selling of old age (e.g. 45 if you've had enough) to a broker service, or whether you end up selling out early due to an opportunity, that will most likely give you an earlier retirement than working 2 jobs staggered.
And by the way, watch most people who have sold their company and made a ton of money... Most of them still work [citation needed, I don't know any personally].
Point is, love what you do and you won't work a day in your life. Or strap up and do the work.
Most people can retire off of 2 million USD in a major city. Spend the first million on your house and you live off of the 6-8% ROI for the second million.
Even if your living expenses is over 100k/yr, you can comfortably retire after 4 million USD in most areas of the world (House + worst case scenario 4% ROI off of 3 million).
Most people with over $4m in assets do not retire because they find value in earning money, not because they can't.
If you're an L5 at Amazon making 330k/yr, saving around 100k/yr after taxes and expenses, you can retire around 15ish years assuming you don't inherit or luck into a high growth asset.
Intellectual property stands out. Who owns your code, your patents? Is the work Alice does for Bob prior art to invalidate a patent Alice filed working with Carol? How do Bob and Carol know and prove in court they own Alice's work and not the other?
One simple answer: they know because Alice signed an employment contract assigning all IP to them, and foregoing any other employment.
There are a ton of other reasons: Alice could be party to both sides of a vendor relationship or acquisition. Alice could be short changing the jobs expecting 40 hours of her time each but only getting 30 or less. Alice could be working for competitors, where having access to Bob's datasets helps her work with Carol disproportionately and without his knowledge or consent.
> Most employees just wanna earn enough to retire
I mean, you presumably also want to retire, and not lose your job, and not go to jail. Maybe even do some good work?
This isn't some unsolvable conundrum, companies hire countless contractors and dev shops to work with, and create, their IP. Those contractors and shops work with many clients simultaneously while juggling IP that belongs to disparate entities.
As long as you're on the up about it, there's nothing wrong with having two jobs, at all.
A lot of this noise is from people that don't believe you can do two jobs remotely satisfactorily, and from people in management that don't like the idea they don't own you body and soul.
It’s true that if you can deliver to expectations, you could do it, but here’s the thing, growth in a job isn’t linear.
The amount you make as a manager, director, on up grows by more and more. Most company directors or VPs make 2-10x what a passably performing IC makes. Taking two jobs pretty much assures that you won’t grow in either one. Additionally, it only works when you don’t have too many other responsibilities and the demand is where it is for developers.
The minute demand slows down (like it’s doing now) most employers will start pushing for more in-person time from their teams; and have more options for changing out low-performers.
It’s probably one of the least efficient least sustainable ways you could earn enough to retire.
Assuming you do two 40 hour jobs thats 80 hours a week, its easy to do this for a few months and think this is easy I can do this forever.
You might be able to work an 80 hour week consistently but your work may not be as consistent or capable. What happens when some one else on your team makes a mistake which requires you to work over time to make up the difference at which point where do you find the time on top of your 80 hour work week?
If you are able to consistently perform at that sort of level you can make more money by finding one job that pays more than two jobs.
This. If your jobs are in tech, you can’t do this without violating your employment contracts with both companies. You can just do it anyway, and that’s all well and good until your manager discovers that you have a second job and has to fire you (there are things good managers can and will look past, but that’s not one of them).
This just isn't true. If might be true for some companies, but this is a big part of why I pay close attention to the IP agreements involved when I hire onto a new company, and the wrong IP agreement is a deal-breaker for me. In my case it's side projects rather than a second employer, but the principal is the same.
My agreement with my current company explicitly spells out work not done on their equipment, their time, or related to their business as not theirs. I use this to work for my side projects, a co-worker uses it to moonlight (with our employers knowledge).
Sure Google is probably going to make you sign an IP agreement that makes this impossible, but not every tech job is FAANG.
If you work for HP designing printer software and make an iPhone game on the side, you are probably ok. If you are working for HP designing printer software, and Cisco designing VoIP phone software you stand to create a huge intellectual property risk for both companies as they both produce network switches. You can't reasonably demonstrate to either company that you aren't using their IP in the course of your work with the other.
> You can't reasonably demonstrate to either company that you aren't using their IP in the course of your work with the other.
As always, when in doubt consult a lawyer, but yes, yes you can. If you never contribute code to Cisco's switches, they can confidently say you haven't put HP's switch code into Cisco's switches.
Now neither of these is my area of expertise, but VoIP software and networking switch software sound uncomfortably close to me, and I'd be worried about causing problems there, but that has to do with the software having related needs, not the simple fact that both companies build switches. And as noted above that'd be verboten by my agreement, as it'd mean I'm working on software related to my employers business.
But even accepting your scenario as true at face value, it doesn't make it impossible to have two jobs in tech without causing conflicts. You specifically chose two tech companies with their fingers in a lot of pies. There are plenty of smaller companies that have no intersection.
Ultimately you are putting both employers in a situation where they have to choose between keeping you or potential litigation. HP has no idea what you do or do not have access to at Cisco, and doesn't want to know either. I've seen this play out multiple times in internal investigations and it is always ends up as a "fuck around and find out."
But absolutely do contact a lawyer before engaging in career ending behavior.
Legally speaking, many companies will have as part of your employment contract the stipulation that you cannot work in the same field in your off time. Also that all your intelectual property created while under employment, including non-work hours, is primarily the company's to monetise, unless they are not interested in a specific piece and explicitly give you permission to monetise it separately.
So if I were a Google employee and I hypothetically made a better search on my spare, I wouldn’t be able to monetize that even though it was made on company time?
I wonder if the unspoken reasons are similar to why a company would prohibit participating in online tech forums & email distribution groups. (It was over 15 years ago when this prohibition was expressed a to me at an interview). They were a banking/finance company.
Unlawful? I don't know. I'm not a law talking guy.
Unethical? Am I getting the work done? Is the quality of the work acceptable? Then I wouldn't feel guilty about it if it was a corporation. If it was a small business then I might.
Non-competes are unenforceable in many places, such clauses can be nullified.
I'd argue that it's unethical to put unenforceable terms into contracts in order to scare the signee into not doing something they might want to do, something that could better their family's lives, and something that's completely legal.
> Non-competes are unenforceable in many places, such clauses can be nullified.
Many places being only California, North Dakota, the District of Columbia, and Oklahoma, and even there they're not entirely unenforceable. You'll still get fired, but you probably won't get sued. Maine, Maryland, New Hampshire, Rhode Island, and Washington have banned non-compete agreements only for low-wage workers. There earning more than $34K/yr and in the rest of the US, a contract is a contract, and violators will not only get fired, they're open to lawsuit for breach of contract, though I expect litigating an employee for breach of contract would be exceptional, say if the employee pilfered lucrative clients.
> I'd argue that it's unethical to put unenforceable terms into contracts in order to scare the signee into not doing something they might want to do, something that could better their family's lives, and something that's completely legal.
This is quite the straw man as noncompete contracts are always enforceable through termination with cause, and they are ubiquitous in standard boilerplate employment contracts.
Just FYI, I quoted "unenforceable." Getting fired is the enforcement. Nothing will stop you from hiring an attorney and suing for wrongful termination, but attorneys are expensive even when there still is a salary, and the suit will be dismissed once the former employer produces the contract and asks if it is your signature on it. Companies have deep pockets. Unless there there is personal injury involved, or significant unpaid wages, it's not really viable for an individual with an individual's resources to win in court against a company or corporation with comparatively endless reassures. Even when one is 100% in the right, usually the prudent option is to walk away and move on.
Many people don't have NCAs (I don't). Also they are often specifically prohibiting working for a competitor company, so working in a different industry wouldn't be a violation
I've worked 35 years in technology under contract and direct hire in CA, TX, NY, PA, DC, MD & NC, and I have never not seen an NDA, which is par for the course in IT (which is not software development), nor have I ever known an employer that tolerated moonlighting. I knew a wizkid Cisco guy, 23yo at the time and already competent with impressive NOC, switch and UNIX sysadmin skills making bank in Austin, took a second full time job for a comparable salary, neither remote. He worked 80-100hrs every week, day and evening shifts, and didn't get caught for 2 years. But when he was caught, he was fired from both locations and lost their references. I doubt it held him back much, and I am sure he has recovered by now, but had to explain 3 years missing from his resume at every next job interview.
Well I'm in industrial controls. The only NCA I've ever signed was for a one-year a contract with JPMC, which was fully a software role. I've probably always had an NDA, and controls jobs rarely leave enough spare time to even have much of a life, let alone a whole other job.
I came into this game for the action, the excitement. Go anywhere. Travel light. Get in. Get out. Wherever there's trouble, a man alone. Now they've got the whole country sectioned-off. You can't move without a form. I'm the last of a breed.[0]
I'm not sure what you mean by "unenforceable." In all cases, the job is lost, and that is enforcement enough. It isn't a criminal issue, and I seriously doubt anyone has ever been arrested, but nothing can stop a lawsuit from being filed. Whether it is successful or not isn't the issue. Even if you win a lawsuit, you can still lose your savings and your home. So be careful with your signature, read the fine print, and be resigned to keep your word, and have no worries. Screw around, and you'll at the very least be terminated without a reference for however long you worked, leaving ugly conspicuous gaps in your resume. 9 times out of 10, an employer will hire the less competent but more honest individual. Once you lose your credibility, it's gone.
I think you're the one confusing the two. Violating a unenforceable contract clause isn't unlawful, but is pretty much breaking a promise, which is definitely unethical.
Consider a clause that is unenforceable because it contradicts some rights enshrined in law. If someone was misled into believing the clause is enforceable, their rights have been infringed on unfairly due to an imbalance of information
Nothing is wrong with that. It's good to be working as many bullshit jobs as possible - drain the system dry before the party is over.
The vast majority of white collar work is and has been nothing but bullshit. Agents of this work implicitly acknowledge it as bullshit when they measure work in terms of hours rather than value created. They acknowledge it when they speak derisively of "overemployment".
They won't measure work and pay in terms of value created because that would reveal their bottom line, ruining the facade and potentially ending their game.
If you can do one bullshit job, you can do ten, so go for it. The only people who have a problem with this are those who don't want to believe what they're doing is bullshit.
You will burn yourself out. I only recommend where you have been served notice and are doing nothing for a few months while they shutdown your product/division/etc
If you can perform at the arbitrary level your manager wants then who cares. Personally - I have no issue with this even if I was managing someone (I’m not).
I find it almost ironic (if it wasn’t so typical) that so many here bitch and moan about this (truly hypocritical crowd). All the jackasses here who were bootstrapping or getting funding for their startup or working on it/etc were doing it while working at another company. This is the same as working two jobs but lo-and-behold that’s just the sigma grindset bro - we’re just wonderful capitalists doing our part to better the economy - we’re gods and we deserve worship - praise me!
I find it so annoying to read this stuff on here. It’s no better than your -9000 IQ Reddit discussions between 13 year olds creating fifty sock accounts.
Even if you're reporting hours accurately and either of the companies finds out about it, then you'll probably be asked to leave regardless. This is true also if you're salaried.
If it's a government subcontract, you could end up going to jail for this.
Realistically the way to do this without problems would be to start your own consulting firm, and bid on work. Then you can work on two projects at once (as long as it's not hourly, something like a firm fixed price contract). You're basically on the hook for delivering it. The customer is not paying for your time, just the product you're delivering.
Edited to add:
In the salaried world you have a conflict of interest. You may choose a worse technique or technology for company A if it means you won't be able to give company B enough time. Or you might put in shittier code than needed to be created because you had to save time for company B.
Company A would say those extra hours could have been put to use for more testing, more robust coding, more robust unit testing.
Worse would be if you stole code that solved a problem for Company A and gave it to Company B and then took credit for it.
So it would be in the best interest for Company A and Company B to let you go if either found out about it.