Hacker News new | past | comments | ask | show | jobs | submit login

> "Thanks, but I prefer coding, I'd rather stay where I am".

"...but i want more pay - how about CEO level pay?"


I'm not sure that's a totally valid sentiment. For starters, top-notch developers in the US earn salaries that approach CEO-level pay (ok, maybe not quite, but certainly top-5% salaries nationally).

Even as a mid-level developer, my salary matched that of experienced project managers in my wife's previous line of work (large insurance company).

And CEOs generally lead a very different lifestyle than a good developer. On call 24/7, lots of travel, etc. And it's a different set of skills that many developers lack (schmoozing, sales, dealing with other giant egos). Compare that to my 40-45/hour work week, true vacation (with no work interruptions), and limited exposure to clients/sales/etc (which I find the most stressful part of my job - minimizing that is a good thing for me).

Come on.. Maybe you've seen developers at Google or somewhere like that make LameFailingCompanyCEO-level pay, but I highly doubt that "top-notch" developers anywhere earn salaries that approach CEO-level pay IN THE SAME COMPANY. Everywhere I've worked there has been a huge compensation cliff between the senior managers (anyone with the C?O title or their direct reports) and the rest of the peasants. I'm talking orders of magnitude difference. Sure, there are outliers, but I'd guess the typical tech workplace (lets say Bay Area cost of living) is structured, on average:

Junior developers: $75k-100k + $2-3k equity/bonus

Senior developers: $90k-140k + $4-8k equity/bonus

Engineering manager: $120-160k + $10-15k equity/bonus

Director or Super-smart architect: $140k-$180k + $15k-20k equity/bonus

VP (senior manager): $250k-350k + $200k-1MM equity/bonus

CxO: $300k-$1MM + $5MM-50MM equity/bonus

So when you say "Mary in the cubicle next to me makes more than me," you're probably talking about at most a $50k difference, which is a rounding error for the senior execs. You'll be hard pressed to find a non-senior exec in any line of work (engineering, QA, project management, mid-level management) whose compensation even comes close to what the big shots are making.

From my post... "ok, maybe not quite, but certainly top-5% salaries nationally"

Is there where we get to discuss the gross over-compensation granted to CEOs in the US?

[I'm joking, I don't want to discuss that here]

Salary seems on the money, but equity is not - at least for a senior engineer, I have been offered around $60k * 4 (standard 4 year vesting - value at offer) typically in my short time around.

You're being a little vague. 5% is which markets? A programmer in SF might earn as much as a CXX from North Dakota but the CXX in his market is making a lot more than him. Still, I think at the CXX level the total compensation is a lot more. >$300k? $500k?

Top 5% of salaries nationally (in the US). Or, about $180,000. Yes, nowhere near the compensation that a C-level will earn at a major multi-national.

Once again, that's 180k in a market where that's close to the average developer salary and the cost of living is quite high?

I did my mechanical engineering and having a pain in finding a job. I'm planning to get into programming. What do I need to do to become a decent developer who is in demand and can earn decent money?

I graduated with a BS in nuclear engineering (which at NCSU is very close to a mechanical engineering degree). I now work the computational engineering angle, working both the CS and engineering model side of things. I can show what I did, but I don't have a singular piece of advice that can act as a silver bullet.

- I was formally educated in FORTRAN up 'til the 95 spec. Many engineering codes still exist in it, so I've since rounded out OO Fortran. It helps me read legacy code, talk to the older engineers, and maintain it if need be.

- I built a computer with a nVidia GPU chip: It helped me appreciate the hardware side of things and enabled me to write and run CUDA (CPU/GPU) programs, which offers a window into high performance computing (HPC).

- I learned as much about the OSI stack as possible (I had the fortunate opportunity to take a week-long CCNA bootcamp training class) so I could have a rough mental model how networking works, which helps in distributed computing or HPC scenarios.

- I already knew C, so I spent time spinning up on C++ and its ecosystem, as it can be popular in engineering contexts.

If you are wanting to go the pure developer route then there are plenty of others who can provide better advice. I have come to enjoy the inter-discipline of CS and engineering.

The jobs you got, did they require you to program or did you learn the languages on your own?

They definitely required programming, but were understanding of any spin-up time it took to get on board. I did wind up spending large amounts of time outside reading and tinkering along with blog posts, wikipedia, and even good old-fashioned books.

I took some of my class notes on equations and implemented them in a variety of ways as an exercise to get used to the language while keeping the engineering knowledge relevant. For instance, when I was blazing past a variance calculation, I was surprised to learn that catastrophic cancellation could occur in a naive implementation. Not because I "got the answer wrong" per se, but because a computer has limits (in this case: precision), and there's no way (in my mode of learning) for that kind of information to stick unless I have my hands dirty in the code.

To go back to the languages though, I stuck to major ones and played with Python, C/C++, and Fortran. Python and Fortran I used online references to play with and learn, while with C++ I bit the bullet and read C++ Primer which is really hefty but I found to be very thorough (and a great reference).

It's easiest if you start hanging out with people who can program (and best of all, earn good money programming).

There's lots you can learn on your own. Just do some web searches. Pick a language, and start learning. Python is great for a beginners. (I like Haskell, but I'm weird.)

There are a bunch of auxiliary skills that help. Learn how to use irc (freenode is great), get familiar with github.

Drop me a line, if you need more help. My email address is in my profile.

CEO's and managers get a lot of shit on HN, but there is a reason they make more money (in general, obviously there are exceptions, especially at tech companies). The main reason is that what they do is more valuable.

At most companies the coding required is easy and doesn't require much thought, low-skill = low-pay. The job of allocating capital and people to the highest ROI areas is much more significant to most companies' success than having the best programmers.

"The main reason is that what they do is more valuable."

Personally I would have said a big part of it is that they control payroll.

Yeah, I probably should't have said more valuable. It's more accurate to say that there a lots of people who can program poorly and for most jobs that's all that's needed. Far fewer people can manage others well or effectively allocate resources.

but that's not the whole story - a CEO is highly paid, but that's more likely that they've "proven" track-record of doing well in another company, and in order to poach them, a high salary is needed. But, _is_ the CEO responsible for their so-called record? or do they just have really talented employees and the credit for doing well is being rubbed off into the CEO?

Think steven jobs - he is credited with apple's success. May be that's true - he could have ruthless quality requirements. But it couldn't have happened without the engineers that _actually_ created the product. Why is it that the CEO gets exponentially more returns than the soldiers that fight in the trenches, doing the _actual_ work?

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