My first industry job: lies, deceptions, and layoffs
jeremyaboyd.com
jeremyaboyd.com
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.
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.
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.
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.
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’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.
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.
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.
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.
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.
I'm always paranoid that my bosses think that way and hate to think they might be unhappy but not saying anything.
With the same price tag or a better deal, I presume.
For this reason, I think the best leaders come from below.
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.
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.
As a manager always put your people before the company. That’s what good managers do.
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.
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!
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.
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.
Does this advice change if other people do think the job is bad?
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.
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.)
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.
That company was less dysfunctional than the one in the article, admittedly, although arguably not by much.
Joke's on them though. I liked the job so much I didn't care that I was underpaid :-(
Mutually advantageous overall :D
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?
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.
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.
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 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
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.
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.
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.
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.
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.
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?
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.
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.
Don't draw your revolver until you are ready to use it. This rule is universal - it applies in employment, personal relationships, and gunfights.
Some companies prosper in business by being run properly, others do it by sheer coincidence.
It's business. If they treat employment as some kind of "friends" relationship, they will go broke, and you will lose your job.
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.
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.
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
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.
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 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.
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)
https://web.archive.org/web/20211004170618/https://jeremyabo...
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.
And yeah, I'm one of those who had to play catch up later and learn all that stuff the hard(er) way.
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.
The job was a crap job, but that job taught me a LOT about being a software developer.
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.
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.
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.
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.
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.
You're as smart as you are today BECAUSE you made those mistakes. You've gotten the painful part out of the way.
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.
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.
Discussion: https://news.ycombinator.com/item?id=28058816
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
* 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.
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.
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).
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.
My mother said to me once “The only thing you have in this world is your reputation. Don’t ruin it.”
I think your mum was wrong though; ultimately you can't control your reputation, but your self-respect is under your control.
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.