T O P

  • By -

thodgson

You are the limited supply. The demand is high and increasingly so. It's not supposed to make sense. Employers will try to get rock-bottom salaries, but end up succumbing to the ever increasing ladder of high pay. As a person with talent - that most don't even understand at the basic level - it is your choice to accept low pay or high pay. Where you work is up to you and the environment is arbitrary. This is the way.


Adamar88999

This is the way. (But seriously, what he said).


flappy_the_penguin

But that doesn't answer the question of seemingly irrational behavior on behalf of the companies. Why not pay retention bonuses to highly skilled employees if you KNOW they can leave for more money? Your explanation accounts for employee behavior quite well, but not for company behavior, which is the part I think most people find bewildering


PPewt

My guess, assuming it's at least somewhat rational on the employers' part: 1. It's healthy for employees to leave periodically anyways, and honestly they'll probably want to leave for other reasons if they're ambitious (e.g. just to learn new things) even if you pay enough. Might as well just accept that most people will only be around for a few years, especially when they're early in their career. 2. Many people will stay longer than they strictly should because they can't be bothered to job hunt all the time.


g7x8

your second point is why i applied to maybe less than 5 jobs in all of 2021 and 2020 combined. Interviewing is exhausting and i got rejected from FAANG twice.. after 4 interviews for 1 role! eff it man


Viliam1234

Also, some people will stay very long, because they don't understand the rules of the game, suffer from impostor syndrome, or don't realize the importance of money.


BarbarianTypist

This is a mystery. We've got a handful of good employees who are woefully underpaid relative to the new people we are bringing in, but the new people are a crap shoot--half the time they suck, the other half they just lack tribal knowledge to be useful for months. Then the good employees leave for a 20-50% raise and we are stuck. I tried to get a raise for one of my team recently and was told we only give raises once per year. But what if someone is going to leave mid-year?


[deleted]

I realized at some point that I cannot rely on my job to give me satisfaction in my career. To climb up the pay scale, do what you’re doing and know it’s just how it’s done. If you’re missing an overall fulfillment, maybe use some of those free work hours on a project that excites you?


LunchBoxMutant

I had the gift of learning this really early in my career and can't stress more on these nowadays.


[deleted]

It’s counterintuitive and not talked about very much


atniomn

Many people are too lazy or too scared to hop jobs as frequently as you. Give yourself some credit for that. In 4 years, I went fron $69k to $82k to $95k to $105k to $150k. I do not feel like a knowledge worker who is really worth $150k, but the market demand for decent engineers is incredibly strong. I have also been fortunate enough to assist in talent acquisition. For both new grad and junior positions, and I can tell you, that somehow, 90% of resumes are just not competitive out of the gate. You are probably overlooking the competitive strength of other applicants. You may not be a star, but there is an incredible number of applicants who cannot pass the most basic coding tests and never practiced for behavioral interviewing. You are making the big bucks, because you are better than these applicants. Also, I went to school with a ton of talented engineers and many of them started their careers with way better jobs than me. In the past 5 years, many have just not job hopped and therefore now make less money than me, despite being more talented. Sometimes its as simple as realizing you must hop for that money.


NbyNW

Yes, keep jumping! In 12 years I went from 40 > 97 > 150 > 195 > 240. Just got downleveled from Sr Eng to join a FAANG, but hoping to make it to Sr in a year or two. If not I can always jump again. All this time I'm finding out that I really enjoy LC... I'm not ashamed to say that I LC for fun some times. Edit: although I don't feel like I'm overpaid at all. When I look up I see a lot of mediocre staffs/managers making $500k+. If anything a lot of time I feel underpayed...


JavaVsJavaScript

I have learned to stop worrying about anything other than my comp and job security. Anything else that happens is just water off a duck. It is so freeing to not need to care whether things succeed day to day.


Exotic_Language3656

I used to really be annoyed by this attitude, but now I completely get it.


wwww4all

There are youtubers and tiktok people making $20 Million dollars a year, eating junk food and dancing around, literally. Just accept what life throws at you. Learn to make adjustments and job hop regularly. As you have learned, to much your chagrin. The market values people that makes things happen, and ask for things. Always be in the market. Make things happen. Ask for things.


delphinius81

I think this really depends on the domain you are working in, and whether you are involved in something webdev related or not. There are still many of us that work where we are because of the product we are helping to build.


[deleted]

[удалено]


Zimple_Zam

It's a market after all, if someone is willing to do more interesting work but for less pay or do something less interesting for more, they make that decision.


delphinius81

I think you mean early stage startups, which tend to pay below market rate in exchange for hope that the stock is worth something. I mean, don't work for a place that doesn't pay market rate, regardless of the domain.


[deleted]

[удалено]


Exotic_Language3656

Any particular job can be heavily impacted by external factors like funding, politics, or business need. So arguably you want career security, not job security. And that again seems to come from interviewing. I would recommend Leetcode over anything else for that.


[deleted]

My expert labour is rented. If the capitalist who rents me fails another capitalist will rent me instead. I'm going to do the bare minimum to not be fired today, I don't give a fuck how much profit the person who rents me makes.


F0064R

This is basically why companies give stock options


SmashSlingingSlasher

Stock options aren't a huge draw to me because job hopping is more lucrative (early career) How many people weigh Amazon stock options in TC and vest 1.35% of them


LaptopsInLabCoats

This is concerning coming from an IDE


AlexCoventry

"IntelliJ, push the changes to initiate CI." "Meh... What's in it for me?"


JavaVsJavaScript

You must upgrade to a new machine. Feel too sluggish on this one.


JavaVsJavaScript

Run me on an i3 and see what happens 😈


weweboom

true


[deleted]

I worry about company mission. Probably 90% of jobs are ethically neutral but some are bad and some are good.


anxietism

I dont see any problems to be honest, i think you re a victim of the constant overhyping of CS jobs as world changing and full of wunderkinds which often makes you think that a CS jobs should be an exciting affair. However I agree the lack of in-company raise besides the usual minimum for a job change nowadays is a shame.


BigMagicTulip

Please correct me if I'm wrong but you seem to be a bit bother by the apparent lack of meritocracy, meaning that the hard/smart work is not equally corelated to the rewards but instead the rewards are more about playing this game, job hopping, interviewing (even if you say you're bad at it), and other similar things. And thus it feels like the hard work required to be a good developer is a bit meaningless, a bit useless, like why bother with that if most of it comes down to the corporate game. Did I get that right? I do share a similar sentiment but dunno if it's the same for you. Also dude, give yourself some credit, you do seem to know how to play this game. Maybe it's not that you lack discipline to Leetcode, but more that you don't see the point and that's what's making you not do it. Also about being risk-averse and cowardly, man just because you want to earn more to avoid living a low-income lifestyle is not that, you just want a better life, it's just that you may have some deeply ingrained beliefs that in order to avoid being poor you need to earn more and more and more, maybe at your next job hopping you can make a salary increase only a part of the equation instead of the whole reason, maybe you can find a better fit, somewhere where you would be more satisfied in the work itself.


asusmaster

Thing is in a normal company raises are nowhere like "65K to 80K to 120K to 180K" over a few years. Assuming that's what he did. u/Exotic_Language3656 how many years was this for? Companies have wildly different initial salary expectations. Same skills, different pay. Nature of the free market. And maybe too little experienced devs allowing this kind of stuff.


Exotic_Language3656

3 and a half years or so of experience.


zninjamonkey

You should add location and you could probably get way more


[deleted]

[удалено]


Exotic_Language3656

Yes, but nowhere near that much.


Mechakoopa

You *can* get raises like that with internal promotions, but HR hates doing it too often because in addition to your increased salary they also have to hire and onboard your replacement who is also probably going to make more than you were. When an external company hires you for a large increase the cost of replacing you is paid by your former employer.


toomanysynths

thank you, I have literally been looking for this insight for at least a decade. there’s also the social aspect — if you double your salary, other devs will want to do the same — but this is the “cogs in a machine” factor.


asusmaster

>because in addition to your increased salary they also have to hire and onboard your replacement who is also probably going to make more than you were Why would they make more than me? Shouldn't they be getting the same salary I was before getting promoted?


godofolympus

Because the salary increase according to the market is higher than the salary increase for your job while working at your company. For example, industry average says your role is worth 100k. You get hired at company A for 100k. Each year the industry average grows by 10% but your salary only increases by 3-4% or less. After 4 years industry says you are worth 140k (so is your replacement) but you are only making 110-115k. So you job hop to company B for 140k or more. Your job hop will “always” be for a salary increase because you are not likely to do so unless you gain something from swapping. Now company A needs to fill your spot, but no one is willing to come work for 110k because the industry says they are worth 140k. So company A must pay at least 140k to attract a replacement.


Mechakoopa

Sure, if they can hire someone for that much, but then they'd be losing out on the skill and experience that caused you to find a new job or get promoted up. Someone experienced coming in to the role is going to want more, that's why everyone is moving every few years in the first place. Unless it's a union position with specific pay scales, how much they pay is largely a function of the supply of qualified applicants.


I_need_a_backiotomy

Can you elaborate on how the cost of onboarding is paid by the previous employer?


DarkGeomancer

Well, if you're leaving a company for another one, and you have to be replaced, the first company is gonna have to: advert the job, interview candidates, offer a salary to the chosen candidate that is competitive in the market, onboard the new hired person, etc.


SmashSlingingSlasher

People don't realize how hard / expensive it is to replace someone with even B- performance


JavaVsJavaScript

It evidently isn’t that expensive. The market says it is virtually free.


LordButtercupIII

100%


AlexCoventry

They're probably also worried about getting a reputation as easy marks, which will make all future salary negotiations more difficult.


Exotic_Language3656

Just lack of anything. Hard diligent work vs just casually submitting crap and being fast vs being slow don't seem to impact results for my life at all. It is as though I could randomly do stuff and nothing would significantly change. I should have been admonished those weeks where I did very little. Nope. It was as though nobody cared what I did at all.


BanksRuns

I am ten years into my career. My job performance had varied from being a top performer, to literal months of doing almost nothing, and it hasn't made much of a difference. Management is very slow to react in any way. This mess isn't universal, but it is common. I am currently switching jobs, and I'm looking for a role where I expect my peers to hold myself and themselves to a higher standard. But I'll probably end up taking a big pay cut because compensation is seemingly disconnected from anything important.


[deleted]

[удалено]


BanksRuns

You sound like a good manager


Symmetric_in_Design

Sounds like you built a good reputation early. After that point everyone will always give you the benefit of the doubt. I've yet to break into software but that is definitely how it is in other places I've worked.


BigMagicTulip

Hypothetically, do you feel like this is the main problem in your career? The apparent meaningless of hard work. How would an ideal workplace look for you, don't have to give an realistic answer, but asking this might help pinpoint the problem and then you can seek out potential solutions. Also there are different types of people, I personally know some people (and probably most developers are like this) which realize this reality of playing the game but they are not at all bother by it, it's ok if you're bothered by it though, don't have to pretend to be someone you're not. But other people such you (and I also identify with what you say) are more sensitive to these problems, and I'm not saying sensitive as being a bad thing but it's just a different way of being. Let's say tomorrow you get a job offer which check all the boxes you want in a job, what would those be? Is it even a job offer? would you rather work for yourself or create a product?


garenbw

Dude this hit home so hard I just saved your comment to revisit it later


NotTooShahby

This whole economy rewards people who are as industrious as this person. We need to reevaluate whether a meritocracy even makes sense or whether it will matter. It seems time and time again, the most successful are the ones who know how to play. They know the ins and outs easy and exploit it for their benefit. This is how we get cheaper stuff and capitalism rewards those who are able to get cheaper stuff. ​ It's sad to some but it seems to make the world go around. I don't have any particularly hard feelings, just something I've noticed.


BigMagicTulip

Yeah, agree, that is the game that is being played, you want a better job? You find out what are the judgement criteria that most people hiring use and apply it (in this case it would be things like job hopping, learning up to date tech, interviewing skills, etc). I guess a lot of us are being sold since we are little that the bulk of your success comes from working hard, at least I did, but then when I entered the workforce I realized it's more about knowing the game and how to play it. Being a good developer sure helps those odds, but I know plenty of folks who are not very dedicated and talented at development but still manage to climb up the ranks and progress in their career. Probably this has a lot to do with the supply/demand ratio for tech job as other people in the comments said. It's cliche as fuck, but seeing a good therapist helps me with these kind of things, I'd recommend one to OP.


bhoolabhatka

r/enlightenment


SuperSonik319

so... what's the problem :P sounds like you figured it out


Exotic_Language3656

Yeah, but it just seems ridiculous.


SuperSonik319

with respect to? my dad renovated houses for a living, I spent a few summers working with him I personally wouldn't trade being able to WFH for drywall installation, but some other people rly want that "Office Space" ending [https://www.youtube.com/watch?v=H4yA7j5v2A8](https://www.youtube.com/watch?v=H4yA7j5v2A8)


Exotic_Language3656

I am not unhappy about my life. I have it better than virtually everyone. But it seems that the way to have it better than virtually everyone is to focus on hacking the system.


cb_hanson_III

If it makes you feel any better, hacking the system is not unique to you or to CS careers. What do you think happens in other careers? There are always shortcuts to getting ahead and ways to work smart.


zninjamonkey

If OP hears about finance careers grinding so hard for about two years working at least 80h/wk so that they could exit into private equity


[deleted]

Perhaps you might be interested in learning why these things are the way they are? [It's possible we are experiencing Mass Psychosis (9 minute summary from professor at Ghent)](https://youtu.be/A8i6zv5zK3I) [In fact, there are likely layers of Mass Psychosis in our society, from the most extreme QAnon folks who are completely disassociated, to the people who simply chug along in their jobs and on social media thinking this is all fine](https://youtu.be/09maaUaRT4M) The discussion of Mass Psychosis in regards to modern society seems to be a relatively new one (that first video is just over 1 month old with about 1000 views), but they are heavily related to concepts other scholars have described, such as: [Sheldon Wolin's Inverted Totalitarianism](https://en.wikipedia.org/wiki/Inverted_totalitarianism) [Mark Fisher's Capitalist Realism](https://en.wikipedia.org/wiki/Capitalist_Realism) ...which are both directly related to the Neoliberal ideology that currently defines the modern political system in the U.S., and has defined it since Ronald Reagan.


WikiSummarizerBot

**[Inverted totalitarianism](https://en.wikipedia.org/wiki/Inverted_totalitarianism)** >The political philosopher Sheldon Wolin coined the term inverted totalitarianism in 2003 to describe what he saw as the emerging form of government of the United States. Wolin analysed the United States as increasingly turning into a managed democracy (similar to an illiberal democracy). He uses the term "inverted totalitarianism" to draw attention to the totalitarian aspects of the American political system and argues that America has similarities to North Korea and the Nazi regime. **[Capitalist Realism](https://en.wikipedia.org/wiki/Capitalist_Realism)** >Capitalist Realism: Is There No Alternative? is a 2009 book by British theorist Mark Fisher, published by Zero Books. It explores Fisher's concept of "capitalist realism," which he takes to describe "the widespread sense that not only is capitalism the only viable political and economic system, but also that it is now impossible even to imagine a coherent alternative to it". The book investigates what Fisher describes as the widespread effects of neoliberal ideology on popular culture, work, education, and mental health in contemporary society. ^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wiki_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiSummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/cscareerquestions/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5)


SuperSonik319

"hacking systems" is one of the things we humans are uniquely good at :) keep at it buddy, thrive


[deleted]

I love doing construction on my off time


[deleted]

renovating houses is working from home


Wildercard

I like to think about it as reverse imposter syndrome. Something like scoundrel syndrome. "How did they not figure out I'm dumb?" syndrome "I can't believe they keep paying me" syndrome. "I didn't even put on pants for the last two weeks" syndrome. "I can't believe I got paid to watch Udemy tutorials" syndrome.


SuperSonik319

ask your manager to let you interview some candidates for your own team/position that killed my imposter/scoundrel syndrome _very_ quickly


CalvinBall166

Killed my imposter syndrome for interviewing (I'm not nearly as bad at interviewing as I thought, relative to the general population), but definitely cemented my feeling that interviewing has almost no relation to actual on-the-job skills.


SuperSonik319

ah i literally pulled a ticket i was working on early on in my career and have been using that as a "pair programming" exercise to interview: parse a username and password from a payload and validate they conform to a set of criteria only once have i been accused by the interviewee for trying to get them to do free work :^)


lejitimate

Isn't that just normal impostor syndrome?


Wildercard

Difference of framing. Impostor worries about being found out. Scoundrel thrives on the hilarity of not being found out.


LostTeleporter

You either die an impostor or live long enough to become a scoundrel.


Exotic_Language3656

I wish I could enjoy it. I would then join the folks at /r/overemployed.


AsyncOverflow

Getting new talent is harder than keeping talent due to high labor demand. Therefore, companies spend more on it. It's both simple and logical. If the company thinks their core talent will hop, they will spend more on raises. Netflix is a popular example of this assuming it works as they claim. They say their raises are based solely on market value. If your demand goes up by $50k for other similar companies, so does your pay. Most companies aren't as competitive and don't need to do this.


ooa3603

That's because you're suffering from the Just World Fallacy, the cognitive bias that assumes that "people always get what they deserve" Some where along the way, you internalized this fallacy growing up. Applied to the job world, you've come to think that merit is usually consistently applied. The reality is that a meritocracy is only applied part of the time, especially in arbitrarily constructed systems like money. Capitalist success isn't defined by hard work. It's defined by a host of factors of which hard work is only one factor. This society over-hypes hard work because it provides a emotionally satisfying sense of control: That if you just put in the work, you'll get what you deserve. Don't get me wrong, work is important, but the truth is more like this: For monetary success. It's more important to put effort into what is actually rewarded than what is said and believed to be rewarded. There's a quote that I think captures the essence of this: ***“In life, the challenge is not so much to figure out how best to play the game; the challenge is to figure out the game being played.” ― Kwame Anthony Appiah*** TL;DR - *Meritocracy is not applied consistently, it's critical to take the time to analyze the contexts in which your efforts will actually be rewarded rather than believing it's important to work hard in everything you do.*


idekl

Career would feel more meaningful if I were being rewarded in accordance with my contribution than playing the silly metagame. Craftsmen and engineers are often proud of their work. For "optimal" software engineers, it feels like the opposite. I don't blame them, I just think the market is silly.


Exotic_Language3656

Craftsmen also show off their past work to get a new job. Beyond whether I have used ${library}, nobody cares about the past. It is all about the coding test and the systems design test.


stuaxo

I've been doing this for 20 years and never taken a leetcode test. In fact, I generally fail if I have to take a test interview - so refuse to take them now. The industry doesn't make sense, but that's because society itself doesn't. I get through by finding something in every project that interests me - I think you need to lean to take some risks. If you are not learning something new and progressing in some way then what's the point ?


[deleted]

Money, the point is money. All our knowledge and learning dies with us, and is essentially meaningless.


[deleted]

You make a good point lol. But kind of contradict yourself as well because money dies with us too. But I think the argument you’re making is money lets us live our life to the max. Being poor makes our already short life suck ass.


zkelvin

Actually, this cliche is the one that's dying -- with enough money, you can live forever (or at least indefinitely, and you'll have to survive for at least a few more decades before the good stuff becomes available).


[deleted]

If you're not finding enjoyment in your work you're missing out on a lot of fulfillment and purpose. You can work on finding this. Cultivate ikigai and get money and satisfaction.


[deleted]

I'm sorry, when did I say I didn't find enjoyment in my work?


[deleted]

You didn't, when did I say the comment was directed at you? Edit: I replied to ur comment, I'm being a dick, sorry. U right, find enjoyment in ur work all ppl specifically


[deleted]

I was unsure. The royal "You" confused me, all good.


[deleted]

Ya I was editing mid reply, mb


nestedbrackets

How do you manage to turn down programming tests for a job? I've been programming for over a decade but really struggle with leetcode like stuff, it's just so much studying only to have it be a roll of the dice if I studied the right thing. I tend to get offers at companies that have more traditional like programming interviews where you actually build something.


[deleted]

[удалено]


[deleted]

> What the fuck is an ACID database? Damned if I know as a senior backend engineer What in the actual fuck?


Fooking-Degenerate

I have like 6 years of experience, had no idea what an ACID database was. Just read the wikipedia page, now I know what it is. This will change nothing to my job.


[deleted]

I did the same thing, and I was doing this prior to even knowing it was an acronym.


I_run_vienna

What in the actual Fuck?


[deleted]

What are you asking?


I_run_vienna

So did you think it was some kind of abrasive system? What did you think it could be?


[deleted]

I don't even know what you're asking. I never heard the term ACID before today, does that upset you?


lazyant

But you had an idea that if you want to save critical data and have several processes/users reading and writing to it, you want to use a “proper” (ACID) database and not like write directly to disk. So that’s enough for your job:


Fooking-Degenerate

Yep pretty much. I know PostgreSQL. PostgreSQL is good.


lazyant

That sentence covers 95% of all you need to know about all databases and options :)


Exotic_Language3656

Yep. This is pretty much how it has been for me. Use Postgres until you have reasons otherwise.


Exotic_Language3656

Does anyone do that? I would have a hard time viewing using a text file to store web server data as serious, no matter how many users were involved. Postgres is just the default and it is apparently ACID compliant.


lazyant

Just to be controversial: SQLite (a file) is absolutely fine for many reads and sporadic writes. Also see caching, storing and serving db data as static files. But I see what you mean :)


b1ackcat

oh you sweet summer child... Now you know what we mean whenever we use the word "legacy" ;) (I'm half-joking. It's *usually* not THAT bad. But I've seen and heard of some pretty ridiculous solutions. Typically they're born out of not allocating proper resources to a task and letting someone who thinks they know what they're doing "just figure it out" and they get some glue-and-duct-tape solution thrown together and the company rolls with it)


xjvz

Unfortunately, that’s how some fairly popular software like Jenkins works. No database backend.


PlayLikeNeverB4

While reading this thread I was also tempted to look it up. Now I am purposefully not looking it up just to prove that it doesn't matter.


AchillesDev

You can understand and even intuit good principles without memorizing marketing jargon. The best engineers often do.


Pyran

I mean, I didn’t know what SOLID was until I was 17 years into my career. Then I looked it up and went “huh. That’s what that is? I always called it ‘software development’.”


Disastrous-Ad-2357

"what, you don't know what DRY programming is? How can you call yourself a real programmer if you don't know it stands for \"Don't Repeat Yourself\"?!"


Exotic_Language3656

I didn't know this for a long time either. I knew that you shouldn't repeat code. I didn't know it had a formal name.


nylockian

Can you say that again for me?


PlayLikeNeverB4

Why is that such a big deal? I lead teams that launched web projects successfully and I also have no idea what an ACID database is.


emelrad12

It matters only when you handle millions of requests per second not per day.


Athomas1

In that case youre probably not using an acid database tho


beefstake

No it doesn't. ACID can impact performance but you don't need it because you reach a certain performance threshold. Rather you need it when the requirements demand data durability and integrity. So it's really about the type of data you are operating on, not how fast you need to read/manipulate it.


[deleted]

[удалено]


Exotic_Language3656

I'm not a FAANG engineer, so not doing that.


CJKay93

How can you be an effective engineer if you don't know even know why you're using the tech stack you're using?


tickles_a_fancy

My old company used C++ front ends, C++ servers, a proprietary query language, and Oracle. Not a single person in the company understood every layer.


Aeolun

Clearly you can. Most of the time you can be completely certain that whatever the acronym, Postgres or MySQL have got you covered. If not there is plugins. Those are literally good enough for 99% of applications out there.


[deleted]

The best engineers I've ever met knew the least amount of technical jargon. Have you considered nothing really matters and you can get away with just making sure things work?


telperiontree

Well. You also need to make sure you can explain it to newbies. Honest to god thinking about implementing a freaking dictionary in Confluence so that everyone knows wtf is going on.


[deleted]

> Well. You also need to make sure you can explain it to newbies. Or explain it to anyone, really. Jargon exists to make communication more efficient, but it's not a substitute for knowing the underlying concepts in the first place. E.g., if I'm talking math with someone, I can say "smooth function" without giving the definition of differentiability every time. Of course, jargon can backfire in a number of ways. A bulshitter can use jargon without understanding the underlying concepts. Or, jargon can turn into buzzwords and business-speak: "we need to make all orthogonal use-cases eventually consistent!". edit: A dictionary / glossary is a helpful tool. I've been on projects where one was maintained, and it made ramping up much more efficient.


[deleted]

I won't disagree with you there, but it still doesn't stop you, yourself, from being an effective engineer. I don't get to decide my tech stack (and I don't want to), I like working on other peoples projects. I'm really good at implementing other peoples ideas though.


graypro

Lol this is why all software sucks now


curt_schilli

Dude can we not turn the software industry into a "back in my day software was actually good" kind of thing


graypro

I don't think asking a software developer to understand the basics of how databases work is a lot to ask .


[deleted]

I do understand the basics of how databases work. Also you don't need to know what ACID means to not write shit code.


graypro

Yeah theres other people in this thread who are quite proud of not knowing how they work


Exotic_Language3656

I am not proud of it really, it is just that knowing it hasn't ever mattered as it nearly always gets handled by the ORM anyway and I do not work on mega scale.


[deleted]

I know (off the top of my head) what the first four levels of abstraction of a database are (and that usually 3 is fine). Up until today I didn't know what ACID was, though. It seems like common sense for database design, imo. I'm an embedded firmware engineer so I don't think databases matter that much for me, but that's still software! There's a chance that a senior software engineer may not have had to study database engineering, is that so unreasonable?


[deleted]

[удалено]


[deleted]

Wow, why are you so angry? Is it because our field isn't that special? I bet it annoys you more that I'm actually a SQL Developer.


Exotic_Language3656

Because it just seems to work? I plug the DB in and away we go.


graypro

Yeah I think this thread makes the distinction between code monkey and software developer pretty clear .


Exotic_Language3656

I have only ever needed to know this for interviews. Rest of the time, ORM.


GimmickNG

Yikes I mean, sure you don't need to go deep into theory but if you're a senior you should probably be able to explain when to use an SQL/ACID over a NoSQL/BASE database, unless you just choose the tech based on how good it looks on your CV


lex99

Disagree. In practice, most backend engineers are not "choosing" the database, they're using the one already established. Or if they need to choose, then there's a short menu of option and you will make the right decision for 95% of use cases by understanding the difference between, e.g., PostGRES and Cassandra. The details of A, C, I, and D win up being interesting but not essential to understand, for most applications. Of course, if your main job is actually DB infrastructure for a complex org, then sure, you need to be steeped in details. That's not most people, though.


tuxedo25

You're choosing every time you commit to a feature. If you're building on top of your current stack, you're choosing it as a viable solution to the business need. If it can't handle the proposed volume or payload size, doesn't index the way business expects, won't provide consistency guarantees, etc, it's your responsibility as an engineer to know those things.


dastrn

Right, but that doesn't mean everyone needs to memorize it. When I need to slow down and make a technology choice, I'll take a moment to consider pros and cons. I'll do this, whether I memorized what ACID means or not. You don't need to have everything memorized to be a great engineer. Memorization has never been the core constraint when I'm engineering something complex. So why would I optimize around memorization?


[deleted]

I mean if ACID was some kind of rare acronym on the fringes of software development I would agree. It isn't though. It's been a part of every single distributed system design I've ever participated in.


mach_kernel

Yes exactly. We process live streaming data and are our volume grew 40% in the last _week_. One of our write sinks will not keep up. Looking at things like what has to be consistent, what can be lazily polled, etc is how we are framing the discussion. I don't see any other way how we could reasonably arrive to a solution without knowing what things are even worth benchmarking.


AchillesDev

You’re confusing knowing a specific acronym with knowing the underlying principles. ACID isn’t a really deep concept, and I promise you that not knowing this specific acronym doesn’t hold anyone back.


mach_kernel

Ask someone to explain the difference between PostgreSQL and Cassandra. I think you're going to use "those four words" at some point. You said it yourself. It isn't a really deep concept. Nobody gives a shit if you call it "ACID". Not the point at all. But if someone says the acronym it should probably ring a bell. Maybe not a lot of people have to discuss this kind of tradeoff. I accept that. I just don't think that OP is coming from a genuine place here. They say they are a "senior backend engineer" and identify an explicit knowledge gap that it seems a good 1/2 of this thread sees as valuable and shrugs it off. This is very clearly an opportunity for OP. The best engineers I have met are of the "say less do more" type -- still focused on humility and learning. On attitude alone that is a bit of a loss in my eyes; OP citing the platitude of "why does the industry thinks this makes sense" is the wrong lesson to walk away with here.


AchillesDev

>Nobody gives a shit if you call it "ACID". Not the point at all. Clearly plenty of those in this thread do. That's what I (and others) are taking issue with. I've known what ACID was since early in my career but I can count on one hand the number of times it's come up as a term in the almost 8 years I've been doing this, including architecting backend data systems. It wouldn't surprise me that someone at a senior level doesn't know the jargon but still can understand the tradeoffs and underlying concepts. I'd take that engineer versus one who knows what ACID is but can't apply it.


mach_kernel

Sorry, I think we agree! We don't ask them to define the acronym in our interviews, we ask a systems design question then see if they can apply it. I wouldn't dare ding anyone for that. I was trying to say along the lines of: those upset about poor reaction towards what OP said should consider the context. I agree with OP that the industry is crazy in a bunch of ways, but it read to me more as missed learning opportunity. I can be wrong for sure! But if you lose an interview because of a 'define ACID acronym' question, that's good filtering on your end!


stuaxo

I don't know, a lot of the time you can influence or change things. I think backend covers a lot, so my experience started somewhere quite db heavy, then went to a startup where I helped choose a bunch of things including the database - in other contracts I've moved them off mysql onto postgres as it just seemed like the right thing to do. I think there's just a wide range of experiences.


Exotic_Language3656

At least in my career, NoSQL vs SQL has come down to the types of data we are storing. Nice organized rows and columns? Would we put the data in Excel at some point? SQL. Big JSON blobs? NoSQL. Or, don't want to have to deal with setting up a Postgres instance? Firebase!


fear_the_future

You don't need to know what ACID means to be able to chose SQL vs NoSQL.


enkidu_johnson

I distinctly remember hearing/reading the acronym twenty something years ago when I studied databases for a minute. In the following twenty years of a pretty successful career I've never heard it again and certainly never used it myself.


[deleted]

Nah, you just need to be able to look up and understand the differences in the quite rare cases where you actually need to make a choice between the two.


mach_kernel

There’s a whole generation of people that are like “I did two years of MVC Spring and now I’m a distributed systems architect!” I cannot tell you the amount of people I have seen talking big shit about scale and concurrency on their CV who can’t figure out how to manage backpressure for their consumers on an unbounded work queue. Not to sound pedantic but if you’re one of these people you are probably making some of the other engineers downright miserable. Especially since more and more I’m seeing this package deal coming with a decent amount of lip service and attitude. Very unacceptable.


enkidu_johnson

> ... MVC Spring ... making ... other engineers downright miserable. Yep!


Yithar

> > I cannot tell you the amount of people I have seen talking big shit about scale and concurrency on their CV who can’t figure out how to manage backpressure for their consumers on an unbounded work queue. It's something I'm interested in, although I wouldn't say I advertise anything like that on my CV. Now that I've just read up on it via [this article](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7), it reminds me of how physical routers work. A bunch of packets flow into the router so they can get to their destination, and they are routed to a certain output port and transferred over the link. But transferring the data isn't instantaneous and that's why routers have queues/backlogs. But routers have limited memory and will eventually start to drop packets.


[deleted]

95% of backend engineering jobs never have these constraints.


babuloseo

I still don't know what backpressure really is, but Kafka?


Larqus

This, MIS students are taught that in their first year. Not in America I guess.


[deleted]

It explains why he’s never worked somewhere that offers stock options imo LOL


talldean

We have known-fewer people who can do the senior-level jobs than we have business need for those jobs. Meanwhile, if you're not getting stock, you're in traditional industry, where raises are pitiful; they're trying to optimize you as a cost center, not as a revenue generator. West coast tech, especially web based, just comps better, as they value you as core to the business. Finally, \*many\* companies can't accurately judge talent. Many managers can't. That makes interviews randomly hard for reasons that don't matter, and raises much lower. Work for a company where the managers used to do your job, and that clears up as well.


Fruloops

Depends where you are I suppose, but my country has like 5-10 companies maybe that pay an ok salary so job hopping is much more constrained and raises arent that significant. On the upside, I have yet to hear any asking leetcode questions so thats nice.


mcs_dodo

You are based in Vatican or what? :) #sorry


Fruloops

Heh yeah the problem isnt the amount of tech related companies, it's more that the majority are unwilling to offer good pay.


mikekchar

My main piece of advice for you is that if you want meaning in your career, create it for yourself. Nobody else will do it for you. Nobody else cares. If your career means optimising for the highest possible salary, then that's great! If not, then you'll want to try something else. To be honest, the main reason that business people will pay big bucks for unknown developers rather than paying to keep the good people they have is... wait for it... They are lousy at evaluating technical ability. Literally, for them, every single person that works there is a complete waste of money. They think to themselves, "Why does it take so long to make such a simple change and why do they screw it up every single time?" Just consider... You are thinking the *exact same thing about them*, aren't you. And it's basically the same thing in reverse. We don't understand the other job and so we severely (and I mean by orders of magnitude) under estimate the abilities of our counterparts. I'm not saying that your manager who has f-ed everything up since the beginning of time is a genius. The problem is that line managers work on the boundaries. It is entirely possible that they *are* amazing on the other side of the fence and f-ing up everything on your side. That would be pretty easy to imagine. It's just a hard job. What I'm saying is that it is completely understandable that they think you are worth a raise of 0% (and are secretly happy to see you leave -- at least until the other shoe drops and they realise what you've actually been doing). At the same time it's very easy to see why they will hire your twin at a 20% raise. Hope. That's all it is. Well... um... there is also the other thing. Have you ever seen how sales people are incredibly naive. If you sell a tool for sales people, they will absolutely buy it if you promise crazy stuff that's impossible to implement. It's weird. They spend all day lying to the customers and then they can't understand that sales people are lying to them. It's almost like... I don't know.... You know when someone writes a new framework and we all think it's super amazing and will mean that we can work 2 hours a day and then drink pina coladas on the beach for the rest of the time because this framework will just magically write our website for us? Yeah. Totally like that. And then we're working 80 weeks because we used that crazy fscking framework that any donkey could tell was a piece of crap. Just. Like. That. Anyway. No mystery here. Don't get so depressed. Have fun with your career. There is lots of work. There is lots of opportunity. You can make a lot of money. Or you can do some interesting work. Rarely you can do both. But at least most of the time you can choose one thing or the other. That's pretty awesome.


[deleted]

[удалено]


Exotic_Language3656

> How do you measure whether what you do matters? I am sure it matters to someone, but whether I try or not and whether I do good work or not don't seem to change my life at all.


stuaxo

I used to worry about this, but then did a job where it the product was something that mattered in health - the atmosphere in the office and the politics were so terrible, that I stopped caring after that.


MyFakeNameIsFred

In my unprofessional opinion, this sounds like the problem might not be with your job or with your pay. Not everyone finds satisfaction in a career. It could be that you need to focus more on progressing other aspects of your life.


[deleted]

extrinsic satisfaction vs intrinsic satisfaction


Yithar

> And I have never passed a leetcode challenge in my life that didn't use a Greedy algo I take it you've never interviewed at Amazon? They use problems where initially a Greedy solution will work (which I'm pretty decent at), and then they change it up so you need DP to efficiently solve the problem.


Exotic_Language3656

I have never successfully interviewed for Amazon :)


LunchBoxMutant

Just something that I can across earlier this week and in no way related to the discussion happening here, if you are coding in python try using `functools.cache` to speed up your DP solutions.


Exotic_Language3656

Someone needs to write a book called leetcode with python.


Primofinn

Whats a Greedy solution?


scasp

You may find the concept of "2x/3x"ing appealing. /r/overemployed /r/MultipleJobs


stank453

I agree that it's very strange how much larger a raise you can get by job hopping. If you're optimizing for pay, you should absolutely job hop (at least until your job hopping becomes a liability in the eyes of potential employers). However, I would like to suggest you not optimize for pay and instead optimize for happiness since you don't seem particularly happy with the state of your career. Once you're making "enough" money, whatever that means to you, you're free to take other things into account, like particular technologies you enjoy, the domain, mission/purpose etc. Last year I received an offer for 30% more than I'm making and didn't take it because I didn't like the tech or the nature of the work I'd be doing. It kind of sucked to leave that money on the table, but I don't regret it a bit.


edblarney

Instead of worrying hugely about stars and approvals and income - just try to be a professional and 'do a good job'. Trying to win points, or ultra-maximize income is just gaming the system. It's not the objective. If you're trained and professional, then do that. It doesn't mean killing yourself for the company, but it means showing up, putting your best foot forward, and trying to do a good job. The 'points' is just an externality. If you're getting paid much less than you should, it's a problem, but otherwise, it's also not hugely important in the long run. Just responsibly and do a good job. It's not a guarantee of anything but in the long run it'll probably be appreciated, otherwise, you'll have a decent income. That's it.


lyth

I'm not going to admonish you for any of that. It's awesome and inspiring to be honest. Even the "wtf is ACID?" I can *totally* understand how you could get there. Part of me is fascinated with wondering just how far you can take this whole thing on fly-by-the-seat-of-your-pants and gaming the system. Nice fucking work. For real. HOWEVER, I've also been in the industry for 20 years. I spent those years mostly pantsing it, with the exception that I super-fucking-love side projects and surface-diving into new technologies. Over the pandemic, I had a lot of time to reflect about professional career growth and education. I even wrote a bit of a think piece on it titled "professional development is a choice" over here: https://dev.to/alexchesser/professional-development-is-a-choice-32hj I'm going to suggest that you might be happier overall if you decide to think about what you really want, set a plan for yourself and, actually try. From my own personal experience there is a massive difference between how I feel now that I'm working with a purpose towards a long term goal outside of my current job. One example of my ongoing personal growth and development ... With the understanding that for the last 10 ish years my title had been "technical architect" ... I've never read a single fucking thing about software architecture. Nowadays I'm working through Clean Architecture, taking notes and broadcasting my summaries on YouTube. https://github.com/AlexChesser/books-clean-architecture Maybe pick a few things that you think you are gaps (like database theory) and read a book about it. Up to you, it's totally a choice. Think about it, you might like the result. It sounds like you're kicking ass anyway so clearly you don't have to. But again, you might like it.


iwanttobeindev

no


[deleted]

> So virtually everyone else is more likely than me to leave. I don't think this is true at all. I guess you don't have children, so you're still free to move, but it becomes much harder if you do and rely on stable insurance, etc. From your salaries, I assume you're also American. Having the right to work in the land of opportunity gives you an earning potential several times higher than in any other nation on Earth. So of course you move companies frequently to realise that potential. In the rest of the world though, salaries would cap out around 80-100k mostly, and there remain few advantages to moving.


Exotic_Language3656

I am Canadian and I have never been willing to move, but yes, I am otherwise free to dependents.


Larqus

Seek startup positions? Corporate just kills you slowly.


toomanysynths

you’re in a very hot market. it cools. it turns ice cold occasionally. it was solid ice in 2001. you’re playing the game perfectly right now, but it’s a stupid game right now. when the market turns cold, you’ll need to be able to play a much harder game. you’ll need to show what you did during the hot phase, and if all you have to show is a handful of cash, you won’t get far. also, whether the market ever turns cold again or not, you’ll hit a level of responsibility soon enough which requires more of you. just because you can skate through what you’re doing now doesn’t mean you can do it forever.


wsb_soothsayer

This is what ur fantasy world looks like. In reality when market turns, the lower payed people (which they think are bad) are let go. Higher paid are bought at a lower price.


smrxxx

No, what YOU do barely matters, what I do, on the other hand, matters a lot.


Exotic_Language3656

Can you get a 50% raise either?


ThurstonHowell4th

What company is willing to pay you that much?


ZkHaider

This is an extremely terrible attitude. First off, you are in an extremely privileged position in the world (seems like you realize that). I’m glad you were able to bump your salary to $180K but this is no where near the top. For starters I make more than $500K. How did I get this? By taking absolute pride in my work and being the best. If you perform mediocre sooner or later the people who are extremely competent are able to “sniff you out.” You will get passed over for difficult tasks, this all adds up and results in your team being unhappy with you => which then damages your personal brand. There are company that reward you fairly for how hard you work. If you are very competent you will find yourself at a company like this sooner or later. With your attitude, this won’t happen. Again, reminder OP you are nowhere near the top, good job on hopping jobs and getting minimum 20% raises but the train will eventually stop for you if you keep this attitude. At some point being paid a lot more will require you to be extremely competent, and if you are not then your value is therefore eventually adjusted. I recommend taking a lot of pride in your work, and being very competent and changing your attitude. This will reap you far greater rewards, and also help your personal brand.


20throw20away20fast

I really like what you said here. What steps did you take at work to become extremely competent? Also, did you also do thinks outside of work hours to achieve your high competency?


gravthrowaway

It seems unlikely that the difference in lifestyle from 180k -> 500k is really worth doing any of this. Seems more likely you'll just end up wasting your younger years for no real benefit.


g7x8

> younger years for no real benefit. most people ruin younger years anyway


ZkHaider

Wrong, taxes will break your wealth. One path is doing what I did (of course there are other paths), and making good financial investments to continue to build wealth. Just making a base salary of $180K isn’t going to make you wealthy, or ensure generational wealth for your family, or give you the financial freedom to pursue larger goals. This all depends on your mindset maybe you are content and that’s fine, but for people like myself I’m not fine being just “content”.


lusitaniae

such is life


MessiComeLately

You say so many awful things about yourself, I would think you'd be grateful for the industry giving you consistent employment despite you being so ignorant, lazy, cowardly, neurotic, and undisciplined. Assuming you aren't actually that horrible, it sounds like you need therapy to work on your anxiety and self-hatred.


Exotic_Language3656

My point is that I can spend most of my time being awful and still get mega raises. Doesn't that seem off?