Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
My first industry job: lies, deceptions, and layoffs (jeremyaboyd.com)
251 points by azhenley on Oct 11, 2021 | hide | past | favorite | 149 comments


> the truth was I didn't want to be there anymore but I didn't know how to quit on my own.

This is what it comes down to. A lot of junior employees have a feeling that something is wrong, but they don't quite know what to do about it.

One of the best things young engineers can do is keep in contact with their peers from college, prior education, or other jobs. Don't be afraid to discuss your job and compare notes. If you're consistently the only one in the conversation who's miserable or even embarrassed to admit your job is bad, it's time to start interviewing.


Last week one of my employees quit. He got himself a job well over what I could afford paying. He was really not sure if he should go and was feeling very uncomfortable since we were so good with him and invested in him so much, which is all true. I told him that I would be very happy if he stay but I can't ask him to, and that he lives his life for himself, not for me, and that as general rule he should never put his employer interest before his own.

He decided to leave, but felt very uncomfortable with it and felt he had to justify it to me and explain his move. I tried to ask him firmly never to do it, since there are people out there who would exploit innocent employees in similar position.

You should never justify leaving a company, if you feel like quitting will be better for you just do it. Employment should always be mutual benefit deal, and just like a company would let you go if employing you isn't beneficial anymore you should leave without too much hesitation if its for your own benefit. I'm not saying you should be ungrateful ass, but you should put yourself first in your consideration, most probably nobody else would.


> Employment should always be mutual benefit deal, and just like a company would let you go if employing you isn't beneficial anymore you should leave without too much hesitation if its for your own benefit.

This is a good recommendation overall. Loyalty to a company is foolish, because the company has no loyalty to you.

For better or (probably) for worse, the mutual benefit/harm is ridiculously asymmetric in employment relationships, and there are also externalities.

The human dimensions of laying employees off mean that you are simultaneously destroying their livelihood, dissolving most of their day-to-day friendships, and lowering their social status to the near-bottom rung of "unemployed."

On the other hand, when an employee leaves a (large) company it usually has minimal effect on the company in terms of survival prospects, social relationships, or status – and the company isn't a person anyway.

There is also a third party involved - coworkers. They may suffer when an employee leaves (though rarely they benefit) but it's an externality to the employer-employee contract. I expect some people may hesitate to leave because they know it will harm the people they currently work with.


> Loyalty to a company is foolish, because the company has no loyalty to you.

In an employment context, all loyalty is foolish - if you take it too far.

In one of my earliest engineer posts, I had an excellent manager - an engineer himself, we got on really well, I got promoted, and I was given good work. He got promoted too, and I moved up with him. I flatter myself that I was a part of his success.

Couple of years later, there was a re-organisation, he got moved to Head Office ten miles away, and I never heard from him again. My new boss was a likeable but dull fellow.

My opinion: you should be loyal to your employer. It's not OK to badmouth your boss behind his back. It's not OK to scheme with your employer's competitors. Unless your boss is crap, you should have his back. You should do your best to achieve your employer's goals.

But you shouldn't confuse loyalty to your employer to (e.g.) loyalty to family members, friends, spouses and so on. Employment is business, and in business, money talks. I resented my boss for leaving me behind; but that was because I had confused employer loyalty with family-type loyalty. Of course, when he got the big promotion to Head Office, he was going to take it. He didn't owe me anything - I hadn't done him any special favours, I was just an employee like him.

People get betrayed by spouses, girlfriends and family-members all the time. It's shit, partly because people don't expect relationships of that kind to be transactional. Sometimes we misjudge people, sometimes things just don't work out.

But employment relationships are always transactional. There is always a price for which your employer will sell you out. Whatever the employer says, paid staff are not family. It's not reasonable to expect an employer to show you the same loyalty as a friend or family-member.

It took me the greater part of a career (and two divorces!) to learn this.


> Loyalty to a company is foolish, because the company has no loyalty to you.

Note, this is not necessarily true. For example, Japan's conglomerates are largely based on long-term loyalty.

I don't remember which business book it was -- one of those MBA type studies of successful businesses -- but one of the key take-a-ways that always stuck with me was that the most successful companies are the ones that are loyal to their employees, and have earned that loyalty. If any employee believes you'll have their back for the rest of their careers, then they'll act very differently, then if an employee feels that their job is just a "job", even if it is a good one.


It used to be true in US tech as well — you started with IBM, and you died in IBM. Loyalty was mutual — though in the end, everyone will still work towards their own self-interests… and a companies’ path to self-interest is much more far-reaching and callously achieved than you could ever hope to achieve.

It’s only with Silicon Valley did tech go so heavy with job-hopping — 2 year terms being the norm. And with the lack of loyalty to the company, so it goes back unto the employee (e.g. training a resource is a futile endeavor — he’ll probably leave once trained.. so look instead to make him useful, and if he learns, it’s incidental).

Which furthers the weird pseudo-credentialism we see today (where credentials are required for everything, but everyone assumes you still don’t actually know the subject) — if you can’t know someone’s skill set by working with them, and you don’t know them by reference… credentials are the next best thing — even if they’re not much.


> And with the lack of loyalty to the company, so it goes back unto the employee (e.g. training a resource is a futile endeavor — he’ll probably leave once trained.. so look instead to make him useful, and if he learns, it’s incidental).

This really, really hurts juniors. Recently, a colleague left because they hadn't promoted him to match what his responsibilities are. He got a 50% pay raise and the company is investing loads of scarce time into training his replacement. It makes so little sense to me that they wouldn't just match his salary (which they're doing for his replacement!) and avoid all the training costs.

There must be some kind of thing I'm missing here, because it makes no sense to me.


You sound like a great boss.


I had a few terrible bosses as an example of what not to do.

Honestly, I wasn't really happy with the guy performance. I do need him now, but if he wouldn't be quitting I probably would let him go, sooner or later, when I found someone with better attitude and skills. I would feel terrible with myself if I he would pass an opportunity being loyal to the company only to be shown the door few months after. I prefer to work with happy people who want to work where they do, and to achieve these you have to take care of your employees.


> I told him that I would be very happy if he stay

But,

> Honestly, I wasn't really happy with the guy performance.

Honestly, I feel like this is the neuroses most companies operate under. They want you there, unless they find someone just slightly better. Then they'll immediately show you the door. Kids, this is a prime example why you should show absolutely no loyalty. If there is a better offer on deck absolutely take it. The guilt washes away once you turn in your access card.


Eh this thinking is way too one-sided. Assume your boss is right and your performance is not as good as what would be expected of someone earning your salary... you might manage to jump ship to another company earning more money but that does not mean you will be able to keep your higher paying job for a particularly long time.

If there is a better offer on deck, and you know your skillset well enough to really know that you're worth it, then absolutely go for it. But if there's a better offer on deck and you have performance issues, then you may be trading in long term benefit for a short term benefit and substantially increasing your risk.

It's not as simple as you're making it seem, where an offer for more money comes up and you should just jump on it as if the only factor to consider is guilt.


Did you let him know his performance was not good?

I'm always paranoid that my bosses think that way and hate to think they might be unhappy but not saying anything.


It's worth asking. They might tell you a white lie, but most bosses are willing to discuss the things that they like and don't like about your performance.


> when I found someone with better attitude and skills.

With the same price tag or a better deal, I presume.


> I had a few terrible bosses as an example of what not to do

For this reason, I think the best leaders come from below.


You hiring man??


It's so important to teach juniors, in any field, that it's just business. Dealing with problems like short staffing is why the company employs managers. Only assholes are personally offended when someone jumps ship for a raise (or any other reason). There are def assholes out there, but thankfully they aren't the majority in my experience.


> it's just business

Hear hear! I am not a hiring manager any more, but when I was, I wanted every developer to feel free to find the best spot for them. I was hoping it would be working for me, but sometimes it wasn't. If they realized it first, they left. If I realized it first, I worked with them to try to correct the issues, but sometimes they needed to go. (Having been on both sides of this situation, please make sure you treat everyone with as much compassion as humanly and legally possible.)

> Dealing with problems like short staffing is why the company employs managers.

Agreed. It isn't your job, as an employee, to be worried about how your job responsibilities will be taken care of when you are gone. Do a good job when you are there, give your two weeks (or whatever is customary) and move on. The honest truth is, either the job will get taken over by someone else or it wasn't as important as you thought. I've never had a company call me in 6 months and say "we need you to come back now, the ship is falling apart". Nor, before you impugn my abilities :) , have I ever seen that happen for anyone in my two decades.

Sometimes I think because the work we (software devs) do is so esoteric and can be disconnected from people, we trick ourselves into thinking it is critical work and requires us to pour our whole lives into it.

Screw that. That level of commitment is for founders.

Do an honest day's work for an honest wage.


> that it's just business

The really sad thing is that I've found myself teaching this to people who have been in industry for 30+ years. People are really good at coming up with justifications for why they shouldn't just quit.


When I told my boss I was going back to school to support a career change his response was “smart fucking move”.

As a manager always put your people before the company. That’s what good managers do.


The fact that you were good to him, and he probably enjoyed his job, makes it a difficult decision. Make more money and take in the unknown, it stay where it feels warm and fuzzy.


Just dropping you a line to say that you sound like a good man.


> This is what it comes down to. A lot of junior employees have a feeling that something is wrong, but they don't quite know what to do about it.

At my first "real" programming job I was the "go-to" guy for at least three people on the team yet made around 70% of the lowest-paid of them. They all told me at various times that my salary was unfair, that I had to go find a new job, and so forth. It didn't start to sink in until I took a voluntary severance and found another job for a 50% raise.

When I was young I was thrilled that I was finally getting paid to do something that I'd done since I was 7 (write software). I've grown up a lot since then - whenever my friends complain about their job or financial situation I start badgering them to re-negotiate their position, interview, etc. because I've been in their shoes and don't want to see them make the same mistakes that I have.


Another thing is create a contract or promise with yourself that sets out conditions which when met would result in you quitting or finding something new. It’s really hard in the moment or while on the inside to make a good decision. But if you thought about it before it’s easier since you’ve reasoned about it before at a distance.

You can always modify the contract of course. But I think a good reason to do this prior, is that humans are resilient and we can endure and adapt to range of conditions, even when deteriorating quickly. So remembering a certain baseline you set for yourself prior comes in handy!


This is a really good approach to a lot of difficult problems. I'd had this idea drilled into my head growing up of deciding carefully beforehand so you don't decide poorly in the heat of the moment, but somehow it hadn't occurred to me to apply it to the workplace. Could probably have saved myself a fair bit of stress this way.


Jared Dunn did this, in the form of writing 3 letters when he starts a new job. And as we know, that guy f...


I once joined a company that was a total clown show: Product was a mess, no source control, no bug tracker, no release process, little to no QA, sales drove the product priorities, which changed daily, frequent trips to VIP customers to debug live on their equipment… with a single junior engineer holding everything together. He had no idea It Wasn’t Supposed To Be This Way. We spent a lot of time talking about how it is at normal companies, best practices, and we both soon left for greener pastures. He probably would have stayed there for years if I hadn’t opened his eyes!


Bro, I recently joined a company where the "senior" developer joins DB tables by strings and puts order header info and the order items in the same table.


If you're joining, there better be an index (or else you have bigger problems in your DB design). Indexes are usually B-trees and can look up an item in 2-3 page faults and ~20 memory comparisons, regardless of how big the table is. The page fault time dwarfs the comparison time, so in practice it doesn't matter whether keys are strings or integers. (I guess there's potentially a space premium for strings that makes fewer records fit on a page, but remember that ints are generally 64 bits now. Anything less than an 8-character string will be smaller than the equivalent int, and 8-16 characters is within a factor of 2x.)

Putting order header and order items in the same table is weird, but could potentially be defensible if it saves you a join on common queries.


One problem with strings though is that they might, in the parent post's case, have been editable somewhere. In that case a user (admin user, for example) can unknowingly break the relation.

A short string code though, only available from a lookup, for instance, might be acceptable. Since you already have a lookup though, put an int column in there and use the int.


Joining by strings can make sense if there is a natural key. Often, for performance, you would use a surrogate key even if a natural key exists but there are rare times it makes sense.


My first job out of college I was hired on to a team and the first day I was informed the lead dev on the project was moved to a different project and I was essentially the new lead. That was the first huge red flag that I failed to recognize. Luckily I managed to get moved to another team that I really liked and learned a lot from, but I basically ate shit for the first 2 years in my career because of that.


> If you're consistently the only one in the conversation who's miserable or even embarrassed to admit your job is bad, it's time to start interviewing.

Does this advice change if other people do think the job is bad?


If everyone agrees the job is bad sometimes there is comradery to be found in that. Whether that is healthy comradery is a complicated question. My first job after graduate school was of that sort. Some good friends came out of that fire and I generally know that if I had to work again with anyone from that former situation I probably would, just not in that exact same situation. But that sort of "team spirit" is also its own tie that binds you to a bad situation and makes it worse too. You are more likely to stay and deal with a bad job when you have good people you work with day-to-day. We're a very social species that way and a lot of us have been convinced to stick with bad jobs or awful environments with good coworkers. Figuring out when to start interviewing in a situation like that is tough, especially if it starts to feel guilty like a betrayal of "team spirit". (In my own case it took almost a natural disaster shocking me to action and I still wonder if my breaking point should have been much earlier.)


> Whether that is healthy comradery is a complicated question.

I've worked at a few places where it became an Us versus Them situation. Like we were freedom fighters, struggling against the oligarchy. I don't know what else we could have done to maintain any semblance of morale. It wasn't healthy, but it was the best we could do other than quit. In one of those it was the economy that kept us there. I can't say why we did in the other cases.

The thing is when it's a "band together to survive" situation, once a couple people quit, everyone is rushing for the door. I think that's part of why turnover gets away from management so often. Everything is fine and then it's Not Fine before they even have time to notice it's happening, because they've been ignoring the warnings and signs as unactionable.


Indeed. I was among the first to quit in that specific example and while I didn't feel like anyone who quit after me did it specifically because I quit, it certainly sounded like some things steamrolled quickly after I left.

I selfishly hoped it would have meant the end of that company losing so much talent, but I lost that bet because of course ethically questionable remoras make big profits so long as there are big enough sharks in the water.

(ETA: I appreciate that job for a good salary and helping me get my down payment on my mortgage and some other things. Even if I sometimes still fight ulcers I believe to be from the stress of doing things I felt crossed some of my personal lines of ethics. Corporate life is a struggle.)


“Saving the company” can be fun, and you can make some good friends and learn a lot in a short time. But if the company continually needs “saving,” it’s unhealthy to stay.


Yes because then it means you associated with the wrong people and you are destined to be miserable


>I honestly do not know HOW I made it through that interview, not to mention then GOT THE JOB.

The story suggests two possibilities: (1) it was transparently obvious to the hiring team that the position was 6 months on a DOA project at a laughable salary no qualified employee would consider, or (2) the people doing the hiring were faking it right alongside the OP.


I think I got my first programming job because the interviewers noticed I was smart and driven and figured I'd be cheap enough they could afford to give me a go.

That company was less dysfunctional than the one in the article, admittedly, although arguably not by much.


Haha. I know that was why I got my first job because the senior engineer told me about a year later. They figured I'd stay long enough to get some use out of me before I realized that I was underpaid.

Joke's on them though. I liked the job so much I didn't care that I was underpaid :-(


I was perfectly happy with being underpaid until I had a CV with enough experience on it to get a better paid job, and because I was cheap they let me do a lot of experimenting and learning.

Mutually advantageous overall :D


(3) both of the above


Incompetent people don't want to hire good employees. Like recognizes like.


And this is how we got to leetcode


We need “leetcode for managers.”



"The recruiter telling me they only had budget for $30k (no software engineer would have accepted that low of pay in 2006 in Houston), making me team leader to get me to do more work, making me lay off around $300k worth of employees and do their work myself without giving me even a dollar of extra pay."

This sounds like basically every job to me. Are there actually places that will give you raises to pay you what you're worth without having to fight or leave?


I'm the author of this piece - I've had multiple jobs since then (obviously), and I've always been given pretty substantial raises and bonuses throughout my career enough to nearly 10x my first jobs salary in only 15 years. Now all that isn't from one job, but because I'm a contractor and basically set my rate with each new company, I invest as much as I can either in the stock market, or more recently into side projects and my family run businesses, etc.


I just wanted to say that I really enjoyed your writing style and the overall message of the article. Thank you.

Whenever a topic like this comes up on HN or Reddit, most of the comments I see are incredibly pessimistic about the job market and/or reek of entitlement. I'm not saying that we should make excuses for exploitative employers but unless you get extremely lucky when starting out, you just have to show up and put in the work, even when the works sucks, even when the pay sucks. Then after a little while, put that shit on your resume and move on to something better. Rinse, repeat.


"Then after a little while, put that shit on your resume and move on to something better. Rinse, repeat."

I guess I'm one of the pessimists.

I'm 10 years in and nothing has gotten better. The benefits have been eroding too. It never paid off and I have trouble seeing it ever pay off if the first third of my career has been so terrible. I've become disengaged, which I'm sure will lead to a vicious cycle.


I can only speak from my own history, but I've worked in Houston, TX and NYC, and both have pretty good senior dev jobs available at all times.

Are you maybe not applying for those higher positions? Junior devs will always be taken advantage of unless you know someone. I even took a Jr Dev job (on paper) only 6 years ago or so, because the manager knew me. I was paid more than the senior developer, and he reported to me in practice.


I'm not allowed (have a wife) to leave my current area (Philly-ish). I have applied for a couple jobs. I dont apply to most jobs because there is no salary info or the salary range listed is not any better than my current job.

I'm an intermediate developer. I've unofficially filled roles like senior dev and tech lead. I've also worked as an ASC (supposed to be reserved for senior devs). Oh well


You should apply for senior dev roles. I’m not saying lateral career moves are always bad (and sometimes that’s all that is possible), but I always look at a next job as a way to level up. Even if I don’t fit the requirements right then and there, I have the confidence I can do the role. Obviously, you shouldn’t level skip - meaning apply for something two levels higher than where you are at (unless you are supremely confident in your abilities or are going to a smaller company where that sort of thing makes sense) — but going from intermediate to senior is what makes sense. When hiring a senior dev, I’m not looking for someone with a decade of senior experience because that person is probably overqualified or will want to be quickly promoted to principal/staff . I want someone who can fill in the role well for a long time, which means someone who is intermediate but has stepped up to do senior work when asked, is the right move.


My problem is that all the tech I built experience with is obscure (Neoxam, FileNet). That's obviously in addition to my lack of faith in the system and being treated fairly.


Sorry just reading along and felt a need to point out that it seems you’re likely being your own biggest obstacle, more so than “the system”. Systems are meant to be hacked.


Exactly. You can always come up with excuses for why something isn’t going to work out, but if you want to change your circumstances, you have to at least try. You might still fail, but you have to try.


Oh, I've tried - multiple times. The people/companies that make the rules don't have to follow them. If you repeatedly beat a dog, do you expect it to be friendly or do you expect it to cower in the corner hoping it doesn't get beaten again?


If the company ignores their own policies repeatedly to my detriment, then I fail to see how I'm the obstacle. Doing the same thing over and over expecting a different result is insanity - I've simply been conditioned to expect the company to screw me over.


Check out Mindset by Carol Dweck. You’ll either think it’s total nonsense and will quickly forget about it or you’ll be inspired by it to put some of the principles into action.


I haven't read that one. But what I know about mindset is that it can help you frame your experience, and that can maybe even be leveraged into behavior changes that can help someone. But it won't help change restrictions imposed by others.


To summarize the book, people with a growth mindset rarely ascribe their circumstances on restrictions imposed by others and instead focus on changes they can make. Those with a fixed mindset avoid changing themselves because they believe much of their life is determined by things outside their control.

It’s like a spectrum where few people are fully one or the other. And some people are “fixed” in one part of their life and “growth” in others. Virtually everyone has both traits and must work to find opportunities to be more growth-oriented — assuming of course, that’s something they really want to be.


You can change how you react to restrictions imposed by others. Many restrictions aren't as solid as you may be assuming. For example, you say that "you're not allowed to leave Philly", but many people don't even live in the same country as their families, in an effort to make more money and offer them a better standard of living. A less extreme version of that is living in a different city for some period and commuting home on weekends. And that should generally be a negotiation, not a diktat.


Those negotiations are off the table. Living apart is also something I'm not allowed to do.


You've decided you don't want to. And that's fine. But it's ultimately your decision.


It's not that I don't want to do those things. It's that I don't want to be divorced even more.


What is on the table then? If that is unchangeable, what is in your control when it comes to a new job?


I've posted to some internal and external jobs. That's about it.


If your end goal is a new and better job, what’s a step you can take (that you haven’t taken yet) to make it happen?


If the job looks good, apply. Becoming expert at interviewing is a real thing and improves your ability to navigate the process. If they don't want to pay what you're asking, then you've at least benefited by getting one more interview experience under your belt.


I actually interview really well. It just doesn't seem to translate to money. (Probably because IT is a cost center)


Thank you for saying that. I love writing down my stories. It is therapeutic, almost like writing them releases me from the bad memory. It is basically a VERY lightly edited stream of consciousness.


Software is simultaneously in "high demand" and continually in a state of lay offs, unemployment, and unhirable students. If you were lucky in the 2010's, sure, but dev work is increasingly exported and those safe and comfy don't have to worry about it so they don't look at what's going on.


It seems like nowhere will just give you a raise because it's the right thing, valuation-wise. You basically have to threaten to leave or something. My inflation adjusted increase over 10 years with one promotion (10%) and a masters degree (9%) has been 22%.


The right valuation is determined by people rejecting job offers (or leaving current jobs) and accepting job offers. Repeated cleared transactions is what allows a market to determine the price.


But can also create inefficiencies for an organization because they lose institutional knowledge and incur training costs.


Markets are more efficient when transaction information is public, and hence all wages should be public. Assuming the goal is to minimize that friction.


True. It would be great if they would at least post salary ranges for jobs (based on company policy and/or the people in the role at the company).

I don't even feel like applying to most jobs. If it's not paying more than I make now, why should I waste my time? Such a pain to filter out jobs without it listed.


Colorado took the first step in that direction. If you are applying to a company that employs people in CO, you can check their CO listing.


Hence why some companies now explicitly disallow CO residents from applying for jobs. Those employers would rather lose out on CO talent instead of weakening their negotiating position by posting an explicit salary range.


Yes, but to avoid it, the employer must not have any employees in CO. The law applies for any position that can be done remotely, even if the employer does not intend to hire a CO resident, as long as the employer already has CO employees:

https://www.huschblackwell.com/newsandinsights/updated-faqs-...

>Under EPT Rule 4.3 (A), the promotion posting requirements do not apply to employees who are entirely outside of Colorado. However, if a Colorado employer has a promotion opportunity available anywhere in the company, even outside of Colorado, its Colorado employees must be notified. Under EPT Rule 4.3(B), job postings and promotional opportunities do not need to include compensation information if the job will be performed entirely outside of Colorado or if the job is posted entirely outside Colorado (i.e., not on the internet).

>INFO #9 instructs that the out-of-state exception applies “narrowly,” only where the job is tied to non-Colorado worksites (e.g., waitstaff at restaurants outside Colorado). Therefore, postings for remote positions that can be performed anywhere are subject to the EPEWA’s requirements, even if the posting states that Colorado applicants won’t be accepted. However, a non-Colorado job that may include “modest” travel to Colorado is still considered an out-of-state job not subject to the transparency requirements.


Except the ranges aren't even useful. I've seen most that are like $50k-150k. Not helpful at all in my opinion.


It will take some time, and ideally more stated will follow. If CA/WA/OR/MA/IL/NY/NJ/CT follow, then it could lead to some real change.


This strategy can be sub-optimal from the employer's perspective.

Consider yourself as an employer and assume your employees have perceived switching cost C > 0.

Your employee will approach you with bids b_1, ..., b_n all of which are substantially larger than C. So to keep your employee you will need to pay C plus some premium. In fact, not just any premium, but probably something close to max(b_1, ..., b_n).

If you can make good guesses at C and b_1..b_n, then you can retain employees by ensuring you're always giving raises between C and max(b_1, ..., b_n).

And all of that assumes that employees are fungible at any particular price point. They're not; employers also have switching costs. Among two otherwise equivalent employees you'd much prefer the one you already have.


This might be true for FAANG employers or others employing people in high demand, but based on the behavior of the vast majority of employers, it is clearly less costly of a problem than the savings of not having to pay prevailing market prices for all their employees.


You don't have to threaten to leave, you do leave.


The cost of changing jobs is pretty high, in my assessment. I mean, perhaps not if you're young, single and mobile; but if you are married with kids in school, own a home and pay a mortgage, changing jobs is personally very disruptive.

And then you have to develop a working relationship with your new boss and employer, and your new colleagues; you have to learn new tools and platforms, which may make you much less productive for up to a year. And all of these learnings carry risk - for whatever reason, the new job might not work out, and you might have to move again, this time maybe with a shotgun to your head.

The employer-employee relationship isn't symmetrical, even if you are a superstar engineer. No company has ever relocated just because a superstar engineer decided he preferred a warmer climate. Basically, staff are fungible, employers are not.


The moment the high-tech antitrust employee lawsuit was announced, I got a pay bump of 50%. (Literally the moment - the press release went out and within an hour managers were making the rounds and saying "Well, looks like you got a raise.") It equalized at about 2x my hiring comp.

Makes the $1000 I got from that class action lawsuit look pretty piddly, though - if the whole industry's salaries were increased by 50% in a day, how much were we being underpaid before?


It’s rare, but it can happen.

I once negotiated a a raise in salary (of about $15k a year) because they wanted me to move to a much more expensive city. No quitting threats, it was just decided that it was a requirement for me to relocate.

Then, the week I arrived in the new city, I got another $10k raise. It was because we’d just lost another senior employee to a large company and they wanted to preemptively retain me, but it was one of the few “out of nowhere” raises I have ever had.

But in general, it isn’t in a business’s best interest to just offer raises without any negotiation or discussion. If a person isn’t asking for more, why should you offer it? Like, morally, I totally see the argument to do it preemptively, but as a business function I don’t.

It’s true that the best way to get a promotion or a significant raise is to get an offer at a competitor. And that sucks. But, it is also possible to make the argument for a promotion or raise without threatening to quit. I’ve done both over my career and while the competing offer tactic usually works faster, it isn’t a pre-requisite.

The one important thing to note is that if you are going to leverage another offer for a promotion/raise, you need to be prepared to walk if the company says no. If you don’t, you will never have any leverage ever again. So my advice is always to not make idle threats you aren’t willing to back up. I’ve had job offers before for substantially more money but at places I did’t want to work at. I don’t take those offers to my current employer (assuming I still want to work there). Instead, I use that knowledge of my value/worth to leverage get an offer at a place I would leave for OR to craft a better argument when I present my case for promotion/pay raise at my current employer.


> But in general, it isn’t in a business’s best interest to just offer raises without any negotiation or discussion. If a person isn’t asking for more, why should you offer it? Like, morally, I totally see the argument to do it preemptively, but as a business function I don’t.

It demonstrates that a business values its employees, literally, and this does build good will. Honestly, this is how you keep the better employees, and you're probably keeping them at below-replacement rates, even if yo do give "generous" raises. I have a friend who gets a consistent 4-8% annual raise and he refuses to interview because he likes that reliable growth.

Replacing a worker is a dice roll, and if you already have a five, it doesn't really make sense to let them leave for greener pastures in the hopes of scoring a six on the next role.

But it definitely doesn't make sense to keep raising pay on take-em-or-leave-em middling employees. Let them keep doing a mediocre, but useful job for a few years until they leave, then hope you role a five or six on their replacement.


Our merit increases are basically just inflation. Even the years when I filled roles above my grade, it was maybe a real raise of 1-2%. If your friend gets under 5% this year, he might not be so happy...


> So my advice is always to not make idle threats you aren’t willing to back up.

Don't draw your revolver until you are ready to use it. This rule is universal - it applies in employment, personal relationships, and gunfights.


Yes, of course there are. When I moved on (from the underpaid job I mentioned in another post), I got almost double the salary because I was so underpaid at that previous job. After being there a year, I was offered a 5% raise, but I negotiated it to about 15% IIRC because I was clearly worth it and they didn't want me to leave.

Some companies prosper in business by being run properly, others do it by sheer coincidence.


I work in finance, so I think the company knows perfectly well what they are doing. Ifs no coincidence they are taking advantage of people.


This.

It's business. If they treat employment as some kind of "friends" relationship, they will go broke, and you will lose your job.


They don't have to treat it as a friends thing to treat people fairly. The least they can do is not violate their own policies (happens all the time at my company).


Yes. It is normal to have some process or agreement in place to regularly talk about the past and future, including raises/bonuses. Every three two twelve months seems sensible to me depending on circumstances.


The are companies out there that will give raises to high performers as incentives, but it's far from standard. Typically, you have to _ask_ for a raise. (And, importantly, you need to bring _proof_ of why you deserve a raise.)


But getting personnel responsibility should be a good reason to ask for a raise, right?


Anything's a good reason to ask for a raise if you think it is.


I wonder how that employer got affected when the guy left, and employer was left with $300k worth of employees laid off. In 2007 engineers have already started being pretty hot commodity.


I have a VERY similar experience with my first job, except 10 years earlier.

My first job was in IT at a bank. I was working with Windows NT and a migration to Windows NT 4.0 across the entire company. I learned a hell of a lot about Windows NT but I knew I wanted to be a programmer. So every day after work, I would just program on my own, doing various projects.

After a year and a half, I interviewed for a programming job at another company. I 100% lied and said I was doing programming at the bank, but was able to pass the interview questions (this was mid-90s so they weren't anywhere as difficult as they are today). I got the job, and from then on I could label myself as an actual programmer.


I've actually found that there are a lot of BIG companies now that will do a take-home "task" which are usually pretty easy to accomplish. They are wanting to make sure you can program something, not memorize leetcode interview questions.

A buddy of mine showed me a take home task from one of the FAANGs that was a 3 hour task, that would literally take only 30 minutes for most mid-level developers.

So hopefully that means that programmer interviews with leetcode and a bunch of algorithm-centric questions are becoming less and less popular.


I and a friend have just done the interview cycle this year and, anecdotally at least, it seems like most companies are giving the take home test _and_ leet code questions.

The average number of rounds I was going through was 10-11 and that was consistent through applying at companies via Hired, recruiters, and applying to jobs off of HN and StackOverflow.

The only job I applied to that had less than 5 rounds was a small business that wanted to hired a senior engineer to rebuild their Java 5 app entirely for 120k/yr and no benefits beyond healthcare and be in office several times a week.

It’s kinda made me dead to any complaints from software businesses about not being able to hire anyone. They are simultaneously forcing their employees to jump ship if they want a raise, trying to force people back into the office for seemingly no reason but to show they can, _and_ constantly raising the level of effort needed to even apply for their positions.

Anecdotally again, it’s gotten to the point where I know three engineers who’ve just dropped out of the industry entirely and they are all <30 and not financially independent. They’ve taken the extra money they saved from working tech and are now using it to get themselves into a position where they are doing _anything_ but work for a tech company.

At some point the industry is going to have to face the fact that it can’t scale anymore due to the jobs being antithetical to most people’s mental well being


My next big move will likely be completely out of tech as well.

I'm not sure when I will do it, but I've been setting aside a little money every week to buy/take over my wife's grandpa's business (handcrafted furniture - they sell 50-90 pieces per month all on pen and paper and over the phone and personally deliver the products).

I'll probably work on automating most of the more laborious parts (rough cutting templated pieces is one of the biggest time sinks, the other is hand spraying finish), and recycle more of their waste either into more furniture products or into something like wood pellets for heating or cooking.


It’s completely flabbergasting how much the tech companies are doubling down on it. At first I was angry at them for making poor moves but the entire industry does and has done this for years, and now I’m just curious as to what I’m missing.

There seems to be some pathological need for employers to only hire AAA 100x employees who happen to know all the rigors of academic computer science and being top tier engineers who are perfectly pragmatic and can solve the toughest and most novel software issues. They then take these employees who manage to pass that bar and put them in charge of plumbing together crud apps for the next two years. I recently found out from friends that I am trying to get into the industry, that they are being subjected to a round on system design for distributed and scaleable systems for entry level positions. At least one of those companies I know won’t let entry level engineers even look at something bigger than method until they have a few months under their belt. I just wish I understood the disconnect between what employers and demanding in the interview process and what they actually demand for their job roles


I give this kind of "homework" to candidates where I'm unsure if they can actually write a working program. These candidates usually have a CS or engineering degree, but only some simulation, data science or machine learning projects from school on their resume.

I don't really care about style but they have to be able to produce a program that can be started, does its job for an arbitrary amount of time before being shutdown again and doesn't crash and burn on the first non-perfect input.


I have never heard of FAANG type companies doing take home tasks. Which position / location was he applying for ?


Amazon is the only FAANG I’ve had give a take home test (several years ago) and it was just an initial screener.


This sounds too similar to a string of jobs I held at the start of my career. Promises of raises+stock options to come that never materialize and creeping responsibilities and no mention of pay (the only time I got a raise outside of getting a new job, I went from making $34 an hour to $35 an hour after a promotion. Not kidding)

In fact my current job that I took almost 6 years into my career is the first decent role I've had. But again I find myself taking more responsibilities than normal for my role with the "promise" of support for a promotion in the "next round" (almost a year from now)


Not loading for me in France, but it’s up on archive.org

https://web.archive.org/web/20211004170618/https://jeremyabo...


Didn't expect this to front page, and my cloud mongo was being dumb, had to restart the instances.



https://archive.is/G7UEe - you just beat me to it. Looks like archive.is doesn't deal with duplicates in the queue.


What I find interesting is even looking back he still has no awareness of the situation going on. I find this to be a huge issue with developers in general, they don't seem to ever pick up on social skills even when it is right in their face.

He got in because no one cared about anything other than someone willing to push through boring contract design work for low AF pay. He seems to still believe his lying(skill?) is what got him the job. It sort of was in the sense they wanted someone young dumb delusional and enthusiastic to work for next to nothing on what was essentially boring boilerplate work. In a system that even at the time he could see was a disaster to work in. Then used him as a negotiating tool to lay off other decently paid workers after he "proved" that what they did to him could be done. He calls them "expert manipulators" but there is nothing expert here, this is ham-fisted pointed haired boss 101.

TL;DR the company wanted a useful idiot with enthusiasm to push through a broken system to do a mind numbing job for next to no pay. The author still doesn't seem to get this.


They don't teach "pointed haired boss 101" in school. It's great that you are smart, and know this stuff now. But most people have to go through the hard lessons of having their good will and faith be abused by bad-faith actors.


They do, actually, but you have to seek those courses out yourself. Problem is that most engineers don't realize that Psychology and Organizational Behavior are important to learn until it's too late.

And yeah, I'm one of those who had to play catch up later and learn all that stuff the hard(er) way.


They should, though.. I had one profess with real world experience who tried to explain this stuff, and the other dozen or so were lifelong academics who didn’t know anything about reality. Really wish I’d listened to the one more..


Places like HN and Reddit (or /. back in the day) are fantastic resources for learning "pointed haired boss 101".


Yep, bad faith actors and useful idiots are 80% of the commenters.


I've been a "bad faith actor" and I will again if I have the chance. As a development manager I have taken credit for the work of others and exploited multiple companies for my own gain. I personally believe it's foolish to not play the game for ones own benefit.


I appreciate your cynicism/realism, and I don't think you should be voted-down for telling it like it is.

I don't like the idea of taking credit for the work of your staff; but if your team (run by you) gets credit for a job of work, some of that should absolutely be rubbing off on you.

I've always had better things to do than scheming and game-playing. "Life" is about playing games for one's own benefit; I managed fine, without knocking too many other people down. But some people treat Life as zero-sum. That's fine too - but watch as other people steer clear of you.


At 18 and a few weeks old, I did NOT have the awareness. At 33 and a few months, though, I feel I'm better aware of being taken advantage of, and have raised my hourly requirements to better suit contract work. I had no negotiation skills, and even if I did, they wouldn't have upped the pay, and then I would have been back to working at a call center for $8/hr.

The job was a crap job, but that job taught me a LOT about being a software developer.


Any crap software job is better than a crap retail, crap food service or crap call center job. You made the right move, and I am sure even a crap $30k a year software dev job paid dividends in experience. Coming right out of high school you did the right thing


Agreed, because a crap software job is like a crap apprentice job to a tradesman. The work might suck, but there's knowledge being imparted or, at least there to be sought out or absorbed.

It's the same reason a few years apprenticed to a plumber or carpenter is better than a few years in retail. At least you'll have come out the other end with something more applicable to a career, if you decide to pursue it.


My first programming job was at minimum wage.

They were using me for cheap labour, I was using them to get a CV that allowed me to get a real salary somewhere else later.

I literally said this to the director who hired me (a few months in, in his office with nobody else around) and was rewarded with a huge grin because I'd guessed correctly that he'd prefer cheap labour who -understood- that was the deal and wasn't afraid to own their half of it.

Worked out fine for me, and I did duly leave to take a much better paid job after about a year.


Not sure where you were, but a lot of the UK is actually pretty livable on minimum wage, so then you decide are you going to do 20 hours at McDonalds and have time for friends, or 40 hours at minimum wage and build your career.

As much as I hate to admit it: I'm all for abandoning friends at 18-20 for the career focus. Then bring back the handful of them that stuck by you.


I was in Lancaster, and it was livable, yes.

Plus being cheap meant my management were pretty open to "I don't know how to do that -yet-, but I think I have an idea what I'd need, can I have a few days to research it and get back to you?" which was -very- helpful to my learning process.

Looking back, I don't regret the choice at all.


I had been planning recently on taking a multi-year hiatus and moving to the midlands and attending university (for the visa and NHS), because after researching it, 3 years of university and living expenses are roughly what 3 European vacations cost anyway. And this would make vacationing to Europe a lot cheaper than from the states.


If it hadn't been for the NHS, I don't think I'd ever have risked going freelance.

Though you might also want to consider Germany - a lot of bits are liveable primarily speaking english and they're not currently suffering from the "fun" of brexit.


I had been hoping the "fun" of Brexit would have made my dollar stretch further, but each time I see it drop toward dollar parity, my hopes are dashed. Sorry if it is a bit morbid of me to wish the pound would lose value so that I as an American can go there for cheap.


Eh, maybe it is morbid but $partner gets paid in USD so it would be to our household's advantage as well ;)


I've learned not to regret my early failures in life. They're usually low-cost ways to prevent more significant failures later.

You're as smart as you are today BECAUSE you made those mistakes. You've gotten the painful part out of the way.


I agree. And like I concluded the post. I would probably do it all exactly the same.


You took the best option presented to you. A fresh-faced 18 year old isn't presented with much in the way of good career opportunities.

Our stories are pretty similar. My first dev job paid $9/hr! Sure, in some ways you could consider that to be "taken advantage of" but only because we were successful. Had either of us been flunkies, we would be the ones taking advantage!

When you hire an 18 year old for an important job, you know the risks and the potential payoffs.


Yup and he was smart enough to get out sooner rather than later, and got a lot of hardcore experience along the way. Landing that first tech job is the hardest, after that, it's pretty gravy.


What’s your hourly now?


It is hard to quantify across all of my income streams, but I bill for butt in chair and hands on keyboard: $150/hr since 2018. I haven't raised my rate since the world shut down and its high enough for me and keeps a lot of crap recruiters from hounding me constantly. The first thing I tell them is my rate.


I kind of guessed a different situation, where a small development team has asked repeatedly for more staff, since they were not making acceptable progress. Owner balks for months because maybe money is tight, but finally relents. Says 'you can add someone, but we can only pay 30K.' Devs probably thought they could at least unload some gruntwork onto the new person and free up time to accelerate development.

This was a small business with a late product. Probably circling the drain, and not much cash flow to play with.

The only way an owner would approve a rewrite suggested by his most junior dev with only a few weeks on the job, is out of pure desperation.


Completely agree. That was my takeaway as well.



This sounds a lot like my first few jobs too!

My resume was more along the lines of “things I’m aware exist and I could learn if needed” than what I actually had experience with!

But my first two roles where not tech companies thus the hiring people knew even less than me about what they needed ;)

But for sure, I’m not sure how anybody really “becomes” a software engineer outside of the job itself


After reading the article and the responses here; i feel i ought to share some "Worldly Truths" for the edification of the Young'uns (in the Tech. fields) so that they can work towards securing their future :-)

* In your first few jobs (i.e. before you have gained some professional work experience) you will be taken advantage of by almost all companies in terms of low pay, overwork and rather menial jobs. This is the Norm; suck it up but make sure that you get something far greater in return, eg;

   -- Exposure to the hottest Tech Stack(s) in demand in the Industry.

   -- Sponsored/Paid Education and Training to raise your Educational Profile.

   -- Work your ass off in learning as much as you can in as wide a variety of domains as possible i.e. be like a sponge soaking up everything. Be sincere and diligent with your work however "boring" it might seem; there is always something to learn. Youth, Energy and Enthusiasm are on your side and you need to utilize all of them to "make your mark" and "catch the eye" of Upper Management. Hard-work will get you much further than any other Trait.

   -- Network with Managers, Senior Engineers and Recruiters to "raise your profile" for better opportunities.

   -- Depending on the company, try to decide on whether you want a "Career" or just a "Job". 

 * Don't work for Free or Lower Pay than absolutely Necessary. Always put yourself First. The Flip side to this is that you are not "special" (there are always exceptions of course) and therefore need to have a realistic view of what the "Market" says your value is. 

 * Always bring a positive and can-do attitude to work for as long as you can. Time and Experience will eventually wear you down but you can consciously work at it to make your "Work" enjoyable as it is.

 * Always keep looking for "Greener Pastures" either within the Company itself or elsewhere. Try to keep your "Hunger" Alive for whatever you are looking for in Life i.e. don't "settle" early. 
Finally, keep the following quotes in mind;

* It is better to lose the Battle but win the War. - make opportunistic sacrifices(eg. lower pay, bad company) in pursuit of something larger/greater (eg. better career, hot tech. stack, work experience).

* The Old know too much to not take any risks, the Young don't know enough to not take any risks and it surprises me how they achieve it time and time again (attributed to Mark Twain) - Apply Yourself, Work Hard and Take Calculated Risks but don't go YOLO i.e. read Taleb's ideas of "Extremistan vs Mediocristan" and plan accordingly.


> In your first few jobs...you will be taken advantage

That assumes the inexperienced person rises above their expectations like in the story. More often than not that doesn't happen. In those cases the junior employee is getting the better part of the deal.


I may be a prude but it’s a real concern to me when people lie as part of their work/career.

If you were lying at the start of your career, you’re probably still lying now? Maybe?

I don’t know. Maybe I should loosen up. Maybe I’m boring old school… maybe lying a bit to get your first job is what everyone does (except me).


I've never seen a CV that didn't include significant mendacity.

My CV was always pretty straight-up, I think; but it certainly included some "check-box" skills that I either didn't care to exercise, or on which my real knowledge wasn't exactly complete mastery.

I think my CVs were successful not because of the check-box skills, but because I would take a lot of care over spelling, vocabulary and grammar. Many employers filter-out CVs with poor English. And many employers don't know how to detect a superstar, either from their CV or at interview. They use the standard of written English as a proxy.

It's not fair, of course; I've worked with superstar engineers who had bad written English. But it's reality.


I’ve never lied or stretched the truth with my career.

My mother said to me once “The only thing you have in this world is your reputation. Don’t ruin it.”


I respect that!

I think your mum was wrong though; ultimately you can't control your reputation, but your self-respect is under your control.


I have regularly seen a lot of "advice" to lie on your resume.

I don't take it and I advise against it.

However, there are folks who swear to high water that lying on the resume is the only way to get a job.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: