Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I briefly worked with a software engineer who was making about a million dollars a year.

I mentioned that an approach would be a lot of work. His response:

“It’s just typing. Typey typey type (makes fingers on keyboard gesture).” Absolute lightbulb moment for me.

To become a senior engineer is to realize that the code writing part is inconsequential as long as there are no technical unknowns in the work.

It’s freed me to try out huge sweeping changes just for fun and generally detach from my code. Sometimes I delete large, intricate changes so quickly and ruthlessly that my colleagues have to ask me to reopen them.

We aren’t paid to write working code. We are paid to grow harmonious systems. Working code is table stakes.



Yeah, I'm really wondering if I'm dumb or something with this whole AI train, but my job as a developer that maintains existing (sometimes quite old) systems is much more about determining what actually needs to be done, gathering lost / not lost knowledge about the existing state of things in systems and figuring out where to change the code for maximum impact and minimal side effects. Lots of talking to customers/non-technical people as well to figure out if existing features can cover something they need and they just don't know about it and I happen to know about it etc.

I've been watching the AI hype (again) and it's completely going over my head, I really really don't get it - I doubt {x}GPT would be able to analyze hundreds of thousands of project code across a big system (multiple languages, multiple services, interconnectedness of everything) and tell me what to do, even in the case I would want to paste in everything proprietary to a 3rd party service which I really don't.

Maybe it just works for a subset of programming, but then again I don't really see how it differs to reading docs for generating boilerplate or whatever it's useful for in greenfield projects. I was also not really impressed by it generating improvements to code when you ask it the right questions since that's the hard part of the job, not typing out the code.

Maybe I'm just a dinosaur and dumb.


Don't downplay yourself like that. A 25k token GPT model is a step in that direction but we're 3 - 15 years from your vision of valuable.

Currently, the Language Models (GPT or GithubCopilot) are mostly good as ... copilots. You bounce off ideas off them or use them to kickstart something you want to do. It's great for junior devs (me!) but it still cannot do big context or cognition (what you describe), that part will be done by humans for quite a while.


I often suffer from impersonator syndrome, my freelance rates should be North if 70 per hour but I keep getting stuck at 40...

I grew up poor though and teaching myself coding moved be to earn more then I thought I'd ever earn without a college degree.

I knew about for loops almost a decade before I decided web dev would be my career, not just my hobby.

it's insane that you could get hired and not know how they work.

linked lists, sure. I still don't fully understand those lol, I was going for an associate's and that was in my c++ class but I've mostly only touched PHP, python, ruby, JavaScript... playing around with go and rust some as well, but I've never had to really think about linked lists, loops on the other hand is a daily thing.

hell, not knowing loops is like not knowing how to increment, like seriously, his to add 1 to an int.

Smh....


Put your resume up on job sites!

Even not-so-great-sounding contracts pay 50-65/hr, might be a confidence boost. Level up your skills on udemy, if necessary (wait for courses to be 80% off or whatever, happens regularly).

Could also go corporate at a non-tech for low stress and a decent salary.


I'm actually thinking of pivoting from web dev (10 years a laravel dev) to prompt engineering, and entry-level ai stuff, I'm not going to perfect the next big algorithm, but I can use langchain to create custom KB enhanced chatGPT instances, or automation agents for small-to-mid size companies.

I'm super obsessed lately w/ AI, on youtube, github, HN, reddit, etc... and working on actually building a clone of myself to do the mundane parts I don't like to do... hehe... this is kind of a green field, and the opportunities are huge, might be the last dev jobs when AGI hits -- training custom AGI's...


Hit me up, I’ll be your first client for prompt eng!


I have to ask: how do you work as an eng who pulls in $1m/yr?


(throwaway I guess)

I make over $1m as a SWE. “Senior Staff” or “Level 7” role at a big tech company everyone knows.

I mostly write code! I am way faster than most others here, and I have encouraged and mentored the people on my team to be similarly efficient.

I also help decide technical direction but it’s far from the “architecture astronaut” stereotype that writes no code.

It’s an infra team so no significant influence on product direction, other than considering our frameworks and tools products. I do consider them in that way, but it’s still a big difference from being involved in the direction of the external product.


One a scale of 1 to 10, how much did good timing with regard to equity play into your overall comp?


Probably -5 actually, I got promoted to this level right around when tech stocks started to dip. However, I’ve since had some retention bonus grants that will make it even more absurd if the stocks do go back up.

Timing gets a 10/10 for my $750k year at staff level though.


Congrats on your career success! I'm surprised infra can pay that well; I suppose at some companies they understand infra basically ensures the ship keeps running as it should.


At large companies the payscale for different types of engineers is usually the same or very close.


> mentored the people on my team to be similarly efficient

What were the main changes you introduced/points you mentored them on to get their productivity to also be similarly efficient?


A lot of it is pretty related to company internals and is tooling specific. At a large company there is a lot of infra and tooling that can break in all kinds of fun ways, quality is very mixed, so helping the team become experts in this is very useful for productivity and unblocking oneself.

I see people on other teams that seem to be stuck for days sometimes, on a really basic error that they haven’t really tried to debug at all. Seriously, just read the error message or dig into the code!

My team also has a strong culture of just pushing code changes. This is including tons of deletions and simplifications, it’s not just writing a million lines of code.

It’s also a very senior team, so I can’t take credit for everyone’s growth from junior engineers. Another part of it is creating an environment that productive senior coders want to join, so that they can avoid process-heavy teams and get stuff done.

There is an extreme level of trust on the team because everyone is senior and frankly extremely good at their job, which allows us to be even more productive.


Is that TC or salary?


TC. It’s like 70-80% stock. Depends on price of course. I sell immediately and put it in index funds.


And do you work a lot?


High level IC at big tech can get you around that neighborhood


Emphasis on "high level".

An org of a few hundred people at a big tech company many only have a couple of Individual Contributors making this much money.


What does IC mean? Doesn't seem to be very googleable


An individual contributor, as opposed to a manager.


IC means integrated circuit.



IC=Individual contributor (to answer sibling)


At semiconductor companies we have plenty of IC's doing IC design. The initialism has multiple definitions.


For the guy that asked, IC means integrated circuit. No fucking way they would give that money to a meatsack.


In this context it means "individual contribtor", and yes, some people are making that much money at Facebook, Google, Amazon and others.


IC being internal consultant?


There's a couple where I work. They are highly specialized in a very specific area of CS, with decades of experience, and with a vast working knowledge of the specific internal framework that they've helped build over the course of ~15-20 years.


An L7 IC at Facebook or Google can do this.

I know it's unbelievable for those not in one of these companies, but this data is accurate: https://www.levels.fyi


> L7 IC at Facebook or Google can do this.

but they are extremely rare


Not that extreme, maybe 1% of engineers?


Multiple contracts or multiple full time positions (i.e. overemployed)


>> We aren’t paid to write working code. We are paid to grow harmonious systems. Working code is table stakes.

With all due respect, you may have learned the wrong lesson — or missed some important context — and the above is a false dichotomy. Working code isn't just table stakes; it is virtually impossible to "grow harmonious systems" if you don't have solid working code, because without solid working code you cannot grow the system reliably.

The other thing to note is that just because someone makes a lot of money doesn't necessarily mean that they are good at their job, or that they are a good team player, or that the way they operate and the context they operate in applies to you. I know consultants who pull in a million or more every year, and you know how they do it? They write absolute shit software that, while fulfilling the contract requirements, ends up hamstringing the client down the line. Sometimes prioritizing short-term gains might be acceptable or even necessary (e.g. the auditor asks you to compile data from a bunch of sources and you need to do it fast), but for projects with longer life spans one should definitely not blindly "typey typey type".


Table stakes is a poker term meaning you can’t even play the game without it. There’s no dichotomy here.

I’d go further and say that in big tech, well factored well tested code is table stakes and the ability to produce it quickly is assumed. Junior engineers have to prove that to get their first promotion.

If that’s all they show, it will be their last promotion, and that’s perfectly fine too.


I think this is very accurate to my experience in big tech. As a person who's only gotten that "first promotion" so far, I'd be interested to hear your summaries of what attributes / skills are looked for at successive levels: e.g. what engineers need to prove to get promoted to Senior, Staff, Senior Staff, etc.


Seplly spell spell too.


Oh yeah I know somebody who makes 2 million and disagrees. And he's twice as correct as your guy.




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

Search: