Live data from Hacker News

My Salary Progression in Tech

georgestocker.com

521–530 of 631 posts

Re: My Salary Progression in Tech

#521
post #418
post #107

Earlier quoted context omitted.

I have ~50k/year of passive income. I'm definitely not in the same class as people with ~50mil/year passive income.

50mil/year passive income puts u at the billionaire level. Obviously they are not going to describe themselves middle class. I do believe the commenter is referring to people making 200-1000k+ and still calling themselves middle class.

My point is that people making 200k-1000k are closer to middle class than billionaires. So it makes sense to me why they don't group themselves with the billionaires.

Anyways, I think the answer is just based on how you want to define middle and upper class.

Re: My Salary Progression in Tech

#522

Southern New England, not in a metro area. White male, stubbornly refusing to leave his hometown area for his career. 2009: $25 per hour, contractor, on site at giant pharmaceutical company. Built a web app using jsp and tomcat 2010: $55k per year, University IT department. Building web apps in python for university staff. Crazy union contract- 35hr work week and 5 weeks PTO 2012: same job, same benefits, applied for…

What stack / tech did you use for "highly available distributed systems" and do you feel like it helped differentiate your skill set in terms of hireability?

Sorry if this is too much text, but I feel like I have a decent sense about this, since I've been interviewing recently. Of course, we all live in bubbles, and there may be some tech bubbles extremely different from mine.

Your tech stack in a distributed system will often be diverse and wide-ranging. In my opinion, no specific combination of tools is very important for hireability, though commonly recurring characters will certainly help your resume.

I write or work on lots of small services, mostly in Java, some Scala, occasionally Go or Python. The JVM is probably the most popular programming platform for this domain but some companies do without it entirely (Go, Python, Node.js are all somewhat popular).

Most services run in Docker containers on AWS. I feel like almost everyone is in the cloud these days.

There are lots of REST APIs, so you'll want a good handle on HTTP. In my work, even more than HTTP, I've dealt with streaming/realtime data coming over Apache Kafka or AWS Kinesis or AWS SQS. Lots of people use RabbitMQ, but I never have.

And I interface with lots of different data stores - Postgres, S3, Dynamodb, Elasticsearch, Cassandra, Redis. And Zookeeper, more for coordination than storage. Zookeeper is fun, but very niche.

In terms of building a resume to get hired in this domain, these are some things you want:

- Be able to work in a few languages and with several data stores. Be able to talk about which kind of DB is appropriate for what use.

- Demonstrate proficiency in concurrent programming and asynchrony via multithreading/futures/promises/channels or whatever the relevant constructs on your platform of choice are.

- Have used some kind of streaming solution or message queue (kafka is neat and widely used, if don't already have one in mind)

- Have experience with provisioning and orchestration on a cloud platform (AWS, GCP, Azure,...)

- Be able to talk about tools and techniques for monitoring, alerting, and tracing in systems where a request or a stream element must traverse many services.

- Be able to talk about typical distributed-systems challenges at a conceptual level:

   * Why and how to partition your data, both in a stream and at rest

   * How to avoid or resolve consistency issues, when and how to trade consistency for availability, coordinations strategies, CRDTs

   * At-least-once processing, at-most-once, exactly-once, idempotency, why you would want each - how and when you can achieve each.
As a side note, I feel like, once you've built a decent distributed system or application, it's easy to make it look good on a resume. Either it's a high-throughput system and you can say you processed X thousands of requests per second with no downtime for a year, or else it's low throughput and you can double down on the fault-tolerance bit "even when we deliberately crashed half of the servers, the service remained available and end-to-end latency was only reduced by X amount". Of course, you need measure some stuff in order to have numbers to brag about. But hopefully you're collecting those metrics anyway.

Re: My Salary Progression in Tech

#523
post #482
post #428

I feel slightly motivated, but mostly crushed by these crazy TC levels. Although I know I'm doing fairly decent for myself, as someone who is very critical of my own progress or lack of, it feels very disheartening to see people my age making 10x what I am, simply because they are located in SV, doing the same work. In my area, short of being extremely fortunate to land some amazing fully-remote job, there is not one…

Right there with you. I’m doing pretty decent, making 85k but straight out of college. At a nice start up in a big city. But 800k at Netflix? Good god.. I should mention I’m ‘straight out of college’ at 27, so that’s contributing, too.

I would not get depressed, you're talking about an extremely small audience of developers in the field. If anything I'd look at it with aspiration, you're reading up on hackernews and you're straight out of college at a startup. Keep hustling no idea where you'll end up, I assume netflix is not paying kids out of college 800K :D

Re: My Salary Progression in Tech

#524
post #467
post #464

Earlier quoted context omitted.

Look for the middle ground. I realized that I want to work on things I like, but I still need to eat, so I've decided to split my time. I want to work at least an hour to something I'm passionate about. That way, even if I spend more of my time working for someone else, I know I still spend some of my time doing something I love. So follow your passion, but also your survival instinct.

Then get cancer and die young.

Hey Retra, I looked at your comment history, to see why you'd possibly be saying this.

I've noticed two type of comments that you made:

1. Comments that have substantial reasoning, mostly technical but not always. These seemed to be appreciated.

2. Short comments that seemed to attack the person or a particular concept. These short comments did not have any reasoning from your side. Also, most of these comments are non-technical.

My first thought was: it seems that you have a lot of technical knowledge, and people appreciate this. I know I do.

Two observations on the category 2 comments you make:

1. In the comments that I skimmed, no one seemed to tell you to read the guidelines. I'll post the link [1]. Saying "then get cancer and die young" is an offensive thing to say because you're attacking the person. For some people this is obvious, but based on your comment history, I doubt whether this is obvious to you. Attacking a person is not a civil thing to do, not a nice thing to do (unless it's meant in a constructive fashion, even then it'd be debatably constructive). Regardless of that, it is in violation of the guidelines. As a technical person, I hope you'd appreciate that I'm pointing to a source appointed by Y Combinator. They make the rules on how to behave here, so then behave like that, the guidelines are reasonable. You seem to do so in most of your comments.

2. In most cases, short comments don't work quite well on Hacker News (many counter examples exist, I'm describing a trend which I observe). This is not because HN'ers dislike discussion, they dislike a discussion that does not have scientific evidence (again, a trend), most already have a problem when someone says "based on my experience". Do with this observation what you will, it's just my observation which is biased as well.

I hope these two points will help you to improve your comments like these ones, because it is obvious that you have a lot of insightful things to offer. And HN would be a more fun place if we'd see more of that and less of "then get cancer and die young" type of comments.

If you want a private conversation about this, you can always email me (check my profile).

[1] https://news.ycombinator.com/newsguidelines.html -- read the section "In Comments"

Re: My Salary Progression in Tech

#525
post #464

Earlier quoted context omitted.

> Choose life, not career. Find something you love doing and do it for the 'work' itself, not for some postponed happiness. Insightful story about the investment banker. Your policy about choosing life feels like good advice in light of that story. The implementation details, that’s where it always gets difficult. My story: I want to make music. I think of music all the time. Whenever I made music I was passionate ab…

Look for the middle ground. I realized that I want to work on things I like, but I still need to eat, so I've decided to split my time. I want to work at least an hour to something I'm passionate about. That way, even if I spend more of my time working for someone else, I know I still spend some of my time doing something I love. So follow your passion, but also your survival instinct.

> So follow your passion, but also your survival instinct.

As far as simple quotes go. This sounds optimistic, yet reasonable.

Based on your advice, maybe I should just go to Thailand and freelance as an app/web dev for 3 days per week and play guitar / make electronic music for the rest. I'd wonder how I'd prepare for economic down turns though.

I'd make about: 5000 euro's per month (@ 50 euro's per hour as a freelancer). Living on about 10000 euro's per year, I'd save 20000 euro's after taxes (Dutch, high taxes, yay!). Regardless of that, I guess I wouldn't need to worry about recessions after 2 years of part-time remote freelance work, not in South East Asia anyway.

Sounds doable, at first glance. I need more glances. Especially the, "what about my girlfriend, friends and family?" glance.

Re: My Salary Progression in Tech

#526

Earlier quoted context omitted.

I had made a comment in another thread, where I think my education hurt me, associates. I took about a 50K pay cut up front to go a FAANG. That came with a demotion as well. So I can see the pay cut not equaling responsibility. But I was in a immediate position and didn't have a choice to say no.

Given the numbers you mentioned (190k peak) this doesn't sound right at all. Was that software engineering in the Bay Area?

Philadelphia to Seattle.

Philly Team Lead Architect @ 185k w2 contract with health insurance and a week of PTO

Seattle System Admin -> 115K (There was an intent to promote, but we didn't agree on my career path).

Re: My Salary Progression in Tech

#527

Earlier quoted context omitted.

> Would putting a number and my race on that give you any insight into that? I believe your analysis is unfairly reductionist and doesn't really capture the spirit of the tweet. If I was asking you for advice about salary, I'd definitely be interested in everything you mentioned, what your skills are, how you got to your current position etc. The issue is that marginalized groups often find it hard to advocate for th…

Software development is a huge professional field, with people doing all sorts of things, in all kinds of companies. A bunch of numbers pulled off of the international forum (HN) with such variability in job descriptions and levels, is just that - a bunch of numbers. I want to be helpful, but simply throwing the number around is not it.

FWIW, the most useful link from the original discussion on Twitter: https://twitter.com/KeirstenBrager/status/109436626260242022...

Re: My Salary Progression in Tech

#528

Earlier quoted context omitted.

> Choose life, not career. Find something you love doing and do it for the 'work' itself, not for some postponed happiness. Insightful story about the investment banker. Your policy about choosing life feels like good advice in light of that story. The implementation details, that’s where it always gets difficult. My story: I want to make music. I think of music all the time. Whenever I made music I was passionate ab…

To build on what you said: in my twenties I fell in briefly with a group of pretty elite level, classically trained, working musicians. Though I am not a music person at all myself. I would go to their (very fun) parties and just got to know them and their scene a bit. Do you know what they talked about more than anything else? More than theory or favorite artists or their instruments? Money. They had to be obsessed…

Yep, that's the whole problem with this "follow your passion" BS. I'm the opposite: I work in a tech job on something I really don't care much about, but the pay is excellent, and the stability is actually pretty good too. I work 8h a day, I have an easy commute, I don't stress about money. I have a pretty easy life that way. But it also feels pretty empty in some ways, but the way I see it I've removed what for me was a big stressor in my earlier life. Maybe later, after I've saved up a lot, I can think about doing something that brings me more fulfillment, but for now I just concentrate on enjoying my free time, and look at work as just that: work.

I also look at the janitors in my building when I leave work in the evening, and remind myself that they're not following their passion either. Most workers do not get to do anything that really excites them. So I count myself lucky that I can do something that doesn't ruin my health or make me hate life, and I can get paid well for it, so instead of worrying how to pay rent, I can worry about less urgent things like what to spend my weekend doing. Plus, with my free time (since I don't have a job that's overworking me, like some people), I'm free to pursue my other passions there.

Re: My Salary Progression in Tech

#529
post #153

Earlier quoted context omitted.

The only thing I've ever seen work to get significantly more money is changing companies. Companies used to give somewhat decent raises 3-8% but outside of that, it doesn't seem to matter what one does. I have a great boss and have been promised raises multiple times. Instead, our CEO cut our vacation in half. The only reason I haven't gone somewhere else is because I work remotely and can put in the most minimal eff…

I think you have to get really lucky, or really go above and beyond. I've been at my company for almost two years and I've gotten a net 70% raise across this time frame. Although it's only from 60k to 100k CAD so, YMMV especially in more senior roles.

I think the 60k-->100k is the normal dev --> senior dev jump. I know a lot of people it happened to. Not sure if that's sustainable.

Re: My Salary Progression in Tech

#530

Earlier quoted context omitted.

Well I switched to consulting in 2015, but I'm now a pre sales analytics architect serving the Southwest. So my promotion is more technical scope (BI/DW, ML/AI, IoT, Big Data, "DataOps"), more customers, more leadership, and more commercial responsibility (i.e. I have a quota.)

How can one get into this field?

I guess my pithy answer is I've never got tired of learning. Four straightforward steps that you've no doubt heard before, but I can confirm they do the trick:

Establish internal credibility. That is, the confidence to speak credibly on a given subject, be it a platform or tool, a technique, a concept, a prediction. Roll your sleeves up and get dirty coding. Even on-rails tutorials force your brain to make the connection between the concepts and the technical reality. Especially for Big Data and ML/DL workloads. Put this all on a public repo. Search GH for relevant repos, fork them, and code walk them - especially Python/R/Scala scripts. Compete on Kaggle, that's obvious. Answer questions on SO, and attempt to replicate problems you find on SO yourself - this yields a lot of benefits, as most SO questions are edge cases. Join the user communities and help forums for popular platforms and read the newest entries - again, you learn the most from others actually practicing in the space. And still an extremely effective technique is to just directly search for e.g. "Spark shuffle joins" on Google and look for real people with real opinions - that you can then test yourself in an environment. When you've already read the blog post or watched the YouTube video or taken the Udacity course the guy across the table is talking about - you really establish credibility.

Teach others what you know. True trial by fire; share what you've learned. You'll learn how to overprepare, communicate and speak plainly, connect with those different than you in personality, behavior and skill, read rooms, provide feedback, take criticism, and most importantly - you'll really, really learn the ins and outs of the material.

Read voraciously. I skim-consume about 25 books a month using my company's Safari subscription; have built up a pretty good "reading recommender" system of Twitter users, subreddits, aggregators, blogs, etc; And not just technical books - books on business strategy, behavioral economics and psych, industry-specific blogs and journals - if you can't explain what you're doing in terms of risk, dollars, or time, you're doing it wrong. (Also a good life pro tip: download every interesting thing you read into a single repo and put a crawler on top of them. Even if you don't know the answer, you know you've read it somewhere and can retrieve it.)

Learn from others. Reading is great, in-person is better, mentoring is the best. Reach out to everyone in the field. Ask them (like you just did to me) what they're reading, what they did, ask follow up questions, share what you're doing with them. I find keeping a list of "questions you'd like to ask" while you're working through material (especially on industry/business) to be invaluable when you meet someone who can potentially answer them.

These days I spent probably 15-20 hours a week just reading, learning, doing, in prep for the 20-30 hours a week I spend educating, communicating, and (hopefully) selling.

One thing to add: I usually am focusing on 2 things at a time, no more, no less. If you can combine them, even better - learn Kafka for streaming and Grafana to visualize it; learn Azure SQL DW or Redshift for distributed DW and Spark for processing; etc.

My real evolution came when I realized I was happy being the dumbest person in the room, and that curiosity is a superpower.

Post reply on HN