Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: People making $150k+ / yr, what was your career path?
28 points by servlate on April 20, 2016 | hide | past | favorite | 41 comments
I have been contemplating jumping ship from Python / C at a small company to Enterprisy Java at medium to large corp.

This comes after the realization of having no visible career path despite being good and working hard and most friends (Java / C#) jumping to $150k+ jobs.

Thank you, responses would really give some helpful insights.



From my experience language and years of experience have very little to do with salary IF you stay at the same employer. To get frequent salary and title bumps you HAVE to move employers. It's the single fastest path to more money. Move every 3 years at a minimum and never accept a lateral move or for equal pay with new title. Your future salaries will depend on your previous comp, not by title.

Also, independent contracting is often a better option than employment in most parts of the country, but you have to be independent (1099-MISC, never W2). Being a W2 at a consulting company is just as bad as anywhere else. Independent consulting will get you a 2x bump instantly assuming you can find a full time gig but that's usually not that difficult. Furthermore, as a 1099, you'll be able to put away far more in retirement savings. I recommend an LLC with a 401K (not SAP), max out your personal contributions and then kick in another 6% from your 'company'. You'll be socking away ~50K in retirement alone this way while lowering your taxable income. Compare that to your 16K/year max as W2.

Another trick: if a company ever offers you a larger than usual bonus for some reason (i.e. retention, goal met etc) leave the next year when it shows up on your W2 and ask the next employer to merely 'match' your current W2 without breaking out base salary and bonus. I've scored 50% pay increases this way.

Following the above methods, I was making $180K+ at my 8 year mark and $230K+ at my 12 year mark. Most of this happened in the midwest although I currently live in the bay area.


Could you elaborate more on what you actually do?

I am really trying to understand how someone is worth $230k+

I am a server-side guy with a CS degree, proficient with C, C++, Java, bash scripting, and some .NET, PHP, Node.js, and I have never gotten close to even $180k in salary, and I have been working for almost 20 years, and I am in the Bay Area.


First time I made 230K+ was as a contractor at $120/hour. For several years my fees ranged $105-120/hour. My niche were rule engines (Drools, JRules, FICO Blaze) but I came out of the plain vanilla backend Java world and fortune 500s. In fact, that's where I discovered this need. These days I have moved into management and lead 3 dev teams in the Big Data space.


I'm looking for a contractor who knows rules based linear integer programming systems like Gurobi or CPLEX (or open source variants). Can you shoot me an email with recommendations? It's in my profile.


Sorry to say the only constraints based programmers I know are all PhDs in Operations Research and they run Target's logistics.


We're working with the head of the University of Illinois operations research lab. Would they be interested in the contracting with academic research in mind?


Is there any particular reason you picked 3 years as your lower bound? I haven't been as fortunate as most in that I graduated and got a job as a Java dev but the pay isn't at all appealing. I'm planning on jumping ship after a year in order to get a modest salary boost (we already discussed raises with my boss and I will be getting a pittance at the end of this year).


I'd say early in your career 1 year is fine but no more than 3. In fact, I think moving is essential to learning as I have met many people who had 10 years of experience but since they stayed with the same company, they really just had 10 x 1 year of experience.

As you grow in seniority, frequent jumps start hurting you.


> they really just had 10 x 1 year of experience

Brilliantly said.


Thanks for that.

Unfortunately, I have failed to see such jumps in compensation for offers that I received, but I'll admit, I haven't worked with most buzzword technologies (eg: big data).


Hot tech may help you but only for a short time until it becomes commodity. I think niche is far more stable in the long term. I.e. I specialized in rule engines for 7 years (Drools, JRules, FICO Blaze etc). Not many experts in this field. Not hot, not growing but a constantly in demand niche from companies who can't exist without it.


Perhaps I'm an outlier but this was my progression.

Got 90k job out of college in NYC. Worked on a legacy PHP app with some Python, Java, Hadoop occasionally in there.

Negotiated salary to 100k + 10k bonus after one year and good performance reviews.

Next year asked for a bonus increase. 120k total now.

Started getting bored at the job. Asked around, got a 135k offer from another company. Went to my current employer and said if I don't get 150k I'm leaving. They said they could do 140k. I went back to the other company and told them their offer and they gave me 150k.

It has less to do with skillset or language choice than it does with just being able to negotiate and iterate on offers and take the opportunity when you can.


Good comment. I totally agree that after a certain point in career, it comes down to how well you can negotiate. When you start, you don't have a lot of say in terms of salary (well may be you do if you are the cream) but after you have about 5+ years of good experience, you need to learn how to negotiate.

Sometimes when you are in a strong position, you gotta bluff. If they call it, then no worries as you have nothing to lose. If they don't call your bluff, you may just have got a $15K raise :)


Thanks, that is good advice.


Thank you all for your responses.

Sorry for not mentioning what areas I had in mind. I was talking about friends in Dallas, Atlanta, New York and Raleigh among others.

We are talking 5-8 years of experience.

I have seen and tried to follow the advice in this thread and it has not worked out.

Maybe I'm doing something wrong, or I'm just not good enough yet. I get a lot of interview calls, but the salaries offered are nowhere in the ballpark of $150k.

Also, every friend of mine, that I have spoken to, is doing either Java or C#, none that I know mention Python. When they offer me referrals I politely turn them down due to lack of experience in the Java and C# stacks.

I'm not a ninja or a rockstar but I get work done. My current role is one that requires me to learn all sorts of new things and thus my resume is a splattering of all kinds of skills.

I just want to stop worrying about my future and focus on enjoying family, hobbies and hobby projects instead. (But then who doesn't?)

It would also help me greatly if people could mention if the advice being given has worked out for them also.

I don't want to sound mean/ungrateful/rude, I really do appreciate all the help.


I understand your frustration perfectly.

I'm a Java guy, but I can only work remotely (as I'm from Romania/EU), and it seems all the job posts are either Python or Ruby.

Too bad we can't trade jobs.


Hey, it sounds to me like you would benefit a lot from learning more about negotiation. Read everything patio11 writes on the Kalzumeus blog and if you have some cash sitting around, Ramit Sethi's dream job course is a worthwhile investment in your career.


> the realization of having no visible career path despite being good and working hard ...

Scott Adams talks about how one can dramatically increase their odds of success by learning multiple skills. You might imagine adding languages to your skill set is a smart play. Learning the Art of Negotiation on top of those skills is a force multiplier.

Incidentally, Adams book is a brilliant read, full of solid, unconventional career advice > http://www.goodreads.com/book/show/17859574-how-to-fail-at-a...


I joined the army and got trained to be an Arabic linguist. That was getting old and frustrating, so I taught myself javascript/ksh/Tcl and made some dumb applications at work, which was enough to get noticed by some neighboring IT shops (I was out of the army, working as a contractor by this time).

I ended up doing Groovy, then Java, and now I'm in the government version of "Enterprisy Java" and I feel stuck myself. 150k isn't that much if it leaves you empty inside.


True, but do you think it would be different if you had chosen a different stack? Honest question.

Doesn't that 150k lets you afford other fun stuff?


It would if I didn't have mouths to feed, taxes and rent. I'm starting to prefer time over money at this point.

I think my stuckness has more to do with working at a place that's always a few steps behind the private sector, so nothing I'm doing really translates well into finding new work. It doesn't help my confidence, that's for sure.

Besides, if anyone is looking for an experienced Java 7, Spring 3.2, Oracle dev, I probably don't want to work there either!

I know the way out is side projects, building a portfolio, contributing, etc.. and being able to prove (to myself too) that I can do more than what I'm doing currently..

It's the odd coupling of frustration and complacency that I need to figure my way out of.


Learn Java, Javascript, and Python, then move to San Francisco. You can pull in a base salary of $150K within 4 years of graduating if you get jobs at hot/popular companies.

That said, due to its high cost of living, $150K isn't that outrageous in San Francisco. You can use online cost of living adjusters to see what the equivalent salary would be in areas you're familiar with.


I was about to say, this is all relative to the location.

Living and making $90k in Atlanta is the equivalent of living and making $150k in San Francisco.

http://money.cnn.com/calculator/pf/cost-of-living/


SF was one place I was not counting in that number. :)


You can make $150K+ by doing some really mind numbing work. I am seriously considering almost halving my salary to do something that gets me excited to go to work again.

Anyways, like other people have mentioned timing can be very useful. In trying to leave I was offered raises and from one guy a chance to take on whatever role I wanted to. Still leaving though.


Salary is a function of perceived importance it has nothing to do with the language. There just appear to be a lot of high paying Java jobs, because there are a lot of companies still using Java as their lingua franca.

Most programers will tell you that the pay scale in software is like a hockey stick curve. Up really fast then flat line. Therefore, you move to the top of the S curve and then stick around long enough to approximate O(n).


Strange that you use a hockey stick for your analogy when most would visualize it the opposite; flat and then a steep incline. As that's how it's held.


Thanks. The existence of more Java jobs suggests more opportunities to jump around, which is a promising feeling.


Please include your location. In SF Bay area, outside GOOGFBAMZNMSFT, if you put in 10 yrs of work and jump companies once in a while you should get there. (I am from semiconductor background)


I was aiming for any of the major cities (except SF for which I would hope for a little more).


It also depends on what part of the country you're looking at. If you're in the SF Bay Area 150k+ within range of entry level jobs for software grads. If you're in the Midwest or East Coast (not finance) 150k+ could mean a decade of experience.


It's the role, not the languages that provides that kind of career path. If it was purely that, becoming a mainframe systems programmer would probably provide you a good sinecure these days. Instead it's using your Python to become, for example, a cloud orchestration expert or something in sufficiently hot demand. I'm not convinced that becoming another Java zombie would be any more lucrative that what you could do with your current base.


Let's not throw around the term Java zombie, there are lots of high paying and interesting roles within the Java world, every language has boring jobs.

To the OP the hot and well paid areas of Java development at the moment seem to be around:

Spring Boot/Hystrix/Feign Play Framework Java 8 Hadoop Spark ML

From what I've seen of the hiring market Android looks to be one of the hottest areas, there is a real dearth of good quality talent in this field.


What kind of places would be looking for native Android developers? I was learning Android a year ago but decided to switch to web because I figured there would be more opportunities.


Looking at averages across the industry Python will make you more money than Java. If you want a higher salary based on tech skills go with Ruby (on Rails) or iOS development.

My theory is languages like Java and PHP that have higher popularity have lower salaries because there is a bigger base to hire from and thus it is easier to find people. And that in turn keeps salaries slightly lower. On the up side, it's easier to find those kinds of jobs.


I was just about to say the same thing but you beat me to it. :) I think the choice of language is much less important than what you're doing. Even a "non-sexy" (but incredibly important) job like build/deployment engineer writing mostly shell scripts and Python automation could net you a 200k+ income


From all the replies here, it seems all the high paying jobs revolve around web development, be it Python or Java.


I have thought about this some but I suppose I'm just lost. I don't know where to even begin with a niche. I have not specialized in the web development domain, but I suppose most comments here are addressed within that scope. And perhaps there in lies my answer.


Working at the same job in Financial Services for 10 years.

You have to continue to self-learn and improve yourself.


I do, and I do understand the point your trying to make, but the growth potential also depends on the company, not just the employee.


What does your salary history look like and how many jobs have you worked at?




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

Search: