I find it very difficult to complain as a coder given the conditions at the moment. Companies battle to hire people and the pay is globally extremely good. Most of the time it is easy to get time off or to accommodate "errands" during the day.
As you said, I think a lot of us are out of touch about what it is to get a job outside of tech (and a couple other high demand privileged examples). You want to work from home one day a week ? Need 2 approvals of your N+2 manager. Coming late 3 times in a row? Let's talk about your "behavior". That coffee you just took over there ? It will be 1$ deduced from your paycheck.
I feel a lot of us live in the utopia that a job must be fun at all time and that we should always do what we like. Sorry but the world doesn't work like that.
Edit: I'm not saying that we shouldn't demand good condition. It is an "offer and demand" economic system after all. We should get what we can negociate to get in the market. I wanted to make the point however that >90% of regular jobs are not pleasant and fun at all time.
One of the brightest developers I've worked with quit after 3 weeks at my company because they were underpaying her and wouldn't give her a raise. This same company complained regularly of not being able to find good talent.
Employers think they hold all the leverage and can treat developers how they want. They really don't. Why do you think half of software projects fail to deliver?
A number of reasons:
1. Bikeshedding over the tech stack
2. A glut of CS grads who see a bunch of nails to hit with their textbook and data structures and algorithms knowledge failing to engage in a proper engineering process
3. Poorly defined requirements (blame aplenty to go around here: product development giving insufficient thought to the product details, sales over promising, and "engineers" failing to contribute by treating partnering with these folks as an onerous chore rather than a necessary task)
4. Insufficient resources
And many more, I'm sure.
Developers aren't blameless, here. In fact over the last couple of years I've come to see them as being at least as much to blame as non-technical people, perhaps even more so.
Why would she have accepted an offer she felt was too low?
The point I'm trying to make is that the company needed her more than she needed them.
Because it's unethical to agree to work for a rate you're not actually willing to work for. She wasted a lot of people's time and resources to bring her on board for those three weeks.
>The point I'm trying to make is that the company needed her more than she needed them.
I wouldn't want to work with a person who accepts an offer and then THREE WEEKS later starts demanding raises, no matter what their skill level.
Also, she may have simply gotten an offer she couldn't refuse from another company. You could argue that this shows poor ethics, but don't delude yourself, everyone has a price. She may have been generous asking her company to match.
Let's not judge people based on thin second-hand accounts.
If they can fire us at any time, we can leave at any time.
There should be absolutely nothing in anyone that says "work for less than what you're worth".
Whatever her reasons for going for and getting what she wanted, good for her. And any ethical system that says "work for less than what you're worth in an at-will environment" is a bad ethical system, full stop.
All we know is she took a job and then took a better one.
You're claiming that's an unethical act, and I'm saying, "it's the free market, baby!" They pushed for at-will, they got it, consequences and all.
And, more broadly, I grew up in the transitionary period from "one job for life" to "throw 'em to the wolves," and I have absolutely zero sympathy for employers, in this world their policies have wrought.
I wouldn't want to work with a person who puts their own ideas about when it's appropriate to expect a raise over keeping bright people.
She didn't waste anyone's time; unlike most, she was productive from day one to the day she left. The company was wasting their own time by optimizing for low compensation and not engineering acumen.
Companies have no problem staffing projects they know will be canceled soon, or projects that are underfunded. It's a dog eat dog world, I'm afraid.
And it's likely that she _absolutely did_ waste people's time -- the company may have passed on other candidates to hire her and had to start over.
In some sense, they wasted their own time by not overpaying.
While 3 weeks sounds like a very short evaluation period, there very much could've been an arrangement like this. I hesitate to use the word 'unethical' primarily due to how pervasive Hanlon's razor really is. She gave them 3 weeks of seemingly extremely productive work and gave them a taste of the caliber of developer they could hire if they just threw enough money at the problem but it sounds like they didn't learn. Every experience like this is a chance to learn something but some companies just fold churn into the equation without properly evaluating what they could do to prevent it. Usually its those companies that think developers are just equal cogs capable of performing all the same tasks at the same magically high productivity level. They rarely learn that you sometimes actually do get what you pay for.
In fact any company that "requires" (explicitely or implicitely) employees to work more than 8-9 hours a day should be seen as a huge red flag IMO.
That said, it is currently reasonably easy to switch the job in our area.
In the longer run: build up some emergency funds; and always keep interviewing as a low intensity background activity, so you have offers before you need them.
By low intensity background activity I didn't mean that interviews are easy. I meant to suggest, interview at one company every quarter (or a similar rate).
(Though interviewing does get easier with practice. I usually batch up a lot of applications to different companies when I'm about to seriously look for a new job, and when I'm properly in gear, I breeze through those full day ordeals without too much loss of sanity. After all, there are only so many different technical interviews questions in common use amongst the companies.)
I always reflect on the anniversary of my first job in tech (hitting the 5 year mark in a few days) - I still remember the days where I didn’t have enough money to eat, and I would have to ration out oatmeal for a week just to survive. I remember my days in the Marine Corps in infantry, sometimes with days where I only had 2 hours of sleep, and any mistake negatively reinforced with less sleep - I remember being the recepient of all the shit jobs and low sleep for a field op because I lost a PEQ-16 on a night op, and we ended up combing the field for it (thankfully I remembered the right information to find it, and didn’t get written up).
I gladly do menial tasks, and go above and beyond at my craft - I don’t take things for granted because I hated life where I had to depend on the kindness of friends to live.
That said, I very much enjoy what I do given that context - I get to solve problems, and make any necessary changes to help make development experience nicer. It’s not as difficult as when I was in grad school, and it pays exceedingly well. I don’t have many complaints, unless management strangles our ability to deliver/have unrealistic expectations (expecting more than 40 hours a week as a rule, not an exception - I’m happy to work more sometimes, but on my terms). I don’t have that problem with my current job, and hope to not deal with it again.
In short labor should ask for more, since wealthy corporations are sitting on massive piles of money.
There is something I think to be said for thinking of the job as just a paycheck and forgetting about pretending to have passion. When I stopped worrying about "the company" when things were bad and doing my hours and getting out of there I was a lot less stressed about feeling unfulfilled.
I really do wish the world would change in favour of the worker and not the 1% but things like the Paradise Papers have me assuming nothing much will change anytime soon so I should at least take comfort in the fact I could have it a lot worse. That doesn't stop me from wanting better conditions for my friends in their own working lives.
Don't compare yourself with factory workers, compare your self with doctors and lawyers and you'll get a better appreciation of your negotiation position.
This is something I think is a fault of my generation (née 1985), when we started to create this fairytail narrative of participation trophies, and tech-places covered in brightly colored toys and snacks, where every developer constructed their cube from Mountain Dew and Surge cans. This is not reality, and for a while we were able to fool our minders into believing that this is just "the silicon valley way" but increasingly, those few that just 'buckle down' and work hard in a normal setting are outperforming the ones that took ridiculous valuations and then squandered them on perishables and amenities.
I think what we're witnessing here is the maturation of our industry; it's not so much the wild west anymore, and nobody is generating breakthroughs in tech every week like we were in the 90's, everyone should act accordingly. These are jobs, we do our jobs then we go home, if we like our homes and things and activities, we need to go back to our jobs. There is a balance that must not be disturbed.
It would be interesting to peek ahead a few centuries and see how much they agree with this.
Throughout this thread, there is an undercurrent of "Shut up and put up with it, you have it pretty good." But everything is a balance, and the balance can swing both ways.
There is huge variation between developers' paychecks. I've seen devs who can barely afford food, let alone expensive toys. And not because they're unskilled.
Also, not everyone can simply go to a job and then go home. Some are forced to do remote work for medical reasons.
There are valid reasons to speak up.
This seems to be common in other industries with liquid job markets and little financial benefit to staying in one company over another, ex young people in low-end retail jobs who live at home
Neither I nor any one of my peers ever liked "everyone's a winner" day, but when you're kids in school you kinda go along with what the adults say.
The rest, I agree with you. I just think it's important to make it clear that, especially when you're young and inexperienced, you're much more susceptible to other people telling you your job is your life.
Not that it's impossible to get past that, other people feeding us that garbage, but most of us aren't that clued into the world at a young age.
How can you say things like this? The internet is the great equalizer of distances; it does not matter what geographic location you live in, you could be working on anything.
On a sidenote, I can't tell if you are trying to be deliberately offensive or if you're someone who's never left SV.
It really is not. Culture matters. If you're from a conservative place, your boss and colleagues are likely to be conservative. It'll be JEE for you until the end of time.
Once a company builds a system, they don't want to spend to build it again. They'll bandaid the hell out of it. As long as it's doing what it's supposed to do. They're like farmers with these old beat to hell tractors. They're ugly and bitchy but they work, why spend $100K on a new one?
If anything, the hallmark of legacy Java is excessive object orientation for the sake of it. FactoryFactoryFactories. By comparison, in these more enlightened times, a class method to construct an instance may occasionally be countenanced without the programmer being burnt at the stake.
Injuries from bad ergonomics are real. I am dealing with a pinched nerve in my neck from 10 years of this and some days can barely sit up straight.
I get that there are people starving in China. It's not an issue of wanting a perfect job. I actually used to really enjoy my work before the pain started, and it all could have been avoided. I don't blame my employers for my injury, but I do wish ergonomics had more importance in dev culture.
Ergonomics for developers is difficult. Damage sets in so slowly that you don't really notice it until it's too late.
If their default setup is bad (crappy chairs, etc), and they have the attitude you mentioned, do not work there.
For me, it would be a condition of employment to get me a proper chair and desk.
I bought a Kinesis Advantage2 (and foot pedal) earlier this year and after a few months of using it, I wish I'd got one years ago. I feel much less typing strain.
but finding a job you enjoy doing is important. i spent years as a programmer just feeling sick. programming is something i enjoy, but not a job i enjoy doing, and working that job made me miserable in all the ways you're assigning to non-tech work. now i'm a janitor and i feel like a human being again. it's less money, but it's totally worth it.
trouble is, you need to work a job to know how apt you are for it. but then, to get into most classes of work, you need to spend the money to train yourself, with help from the general public perhaps. maybe you'll get a job, maybe not; maybe it'll be good for you and you for it, maybe not. it seems like a pretty sweet deal for the job creators though-- but i'm straying off-topic.
> If I won the lottery would I still code? I would, but it would not be like work. It would be projects I enjoyed. And it would be fewer hours.
But wouldn't we all love to do that no matter our vocation? Until basic income comes along I think we have to just get over it. Most jobs aren't going to provide you with fun for 8 hours a day. I feel like the older I get the more I understand that a job is a way for me to trade time for money, I don't have to (or should expect to) like it.