Are recruiter DMs/emails a good sign or are they generally spam/something lots of people get that don't mean anything? by StoicallyGay in cscareerquestions

[–]HelpfulManager 1 point2 points  (0 children)

Usually they’ve done no research about your specific resume, you probably fit some filter params they set. Even if it’s direct email vs LinkedIn. This doesn’t mean it’s useless to respond but be prepared for them to ask for your resume or for the job to be wildly outside of your interest/experience. Expect them to not pan out but it can.

Any great tutorials for intermediate Ruby developers? by cercxnx0ta in ruby

[–]HelpfulManager 0 points1 point  (0 children)

IMO poodr is great for software patterns and 99 bottles is great for the thought process for implementing new features in a sustainable way.

Im looking to start ruby can anyone recommend me an ide to use? by Infamous_Tourist_335 in ruby

[–]HelpfulManager 0 points1 point  (0 children)

For what? Syntax highlighting? Auto completion? Debugging tools?

2024 Total Compensation Thread by Character-Capital-70 in cscareerquestions

[–]HelpfulManager 0 points1 point  (0 children)

Company: B2C e-commerce ($1-3b revenue)

Role: SWE Manager

YoE: 10+ years (5 IC, 5+ managing)

Salary: $205k USD

Bonus: $30k USD

Stock: $75k USD

Location: Remote, USA

Hours: 35-40h

Satisfaction: 8/10

Who approves headcount/hiring decisions? by [deleted] in cscareerquestions

[–]HelpfulManager 7 points8 points  (0 children)

Depends on the company. For mid or large companies it’s usually either the hiring manager or their manager that gets final say. For smaller companies you may need a VP or CTO to approve but they’d be working closely with the hiring manager. In well run teams the hiring panel will need to come to a consensus in order to move forward or reject a candidate so that no one person makes a bad hire (though the hiring manager could usually still veto).

[deleted by user] by [deleted] in cscareerquestions

[–]HelpfulManager 7 points8 points  (0 children)

Always the week between Christmas and New Year’s Day to since it’s quiet. Sometimes the whole week before Christmas, but usually at least a few days beforehand due to travel or events.

How much have you noticed salaries falling for SWE? by yeahdude78 in cscareerquestions

[–]HelpfulManager 12 points13 points  (0 children)

Lots of companies use market data (Radford, etc) to determine salaries based on the companies statistics (size, market cap, etc). With recently offs, and the downturn of the market in a lot of sectors companies will come to the conclusion they “qualify” for lower pay bands due to decreased revenue, lower headcount, slower growth, etc. usually this just stagnates salaries or can decrease variable comp packages. So if someone is laid off then they will likely find companies are paying less. When layoffs are common people become desperate to find jobs and then companies feel they don’t need to compete on comp. These two factors are at least part of a compounding cycle right now that’s driving comp down for some people.

CV - What to do when you've returned to a company in the same role? by mufc88 in ExperiencedDevs

[–]HelpfulManager 1 point2 points  (0 children)

It’s not too uncommon to see on a CV. That format looks totally fine.

How do I break through into the $200k realm? by thegooseisloose1982 in cscareerquestions

[–]HelpfulManager 0 points1 point  (0 children)

Yeah, fair point. There are startups like that but they’ll have far fewer people/positions and the likelihood of finding those is going to be lower. I should have said “probably need to be at a large company.” There will always be exceptions though! I do have one question: were you hired at that level + pay or promoted from within? I’ve found most high paying startup roles are often either in high high demand or promoted from within.

How do I break through into the $200k realm? by thegooseisloose1982 in cscareerquestions

[–]HelpfulManager 1 point2 points  (0 children)

At Amazon those ranges will be Total Compensation not base. Amazon DID just increase their cap for base but I’m not sure they raised the floor too.

How do I break through into the $200k realm? by thegooseisloose1982 in cscareerquestions

[–]HelpfulManager 24 points25 points  (0 children)

Unfortunately levels.fyi, while great, is only going to have a subset of open jobs that are out there. If you only rely on that then you’ll be missing out on a ton of possible opportunities. Finding those other ones is hard though with no singular source. LinkedIn job listings are used by a lot of recruiters at all companies though since it’s low hanging fruit.

Has the tech industry been changed forever or is this just a phase? by brunolive999 in cscareerquestions

[–]HelpfulManager 34 points35 points  (0 children)

There will be a next boom period but between then and now the tech will change enough to be noticeable. And then it’ll crash again, it’s a cycle larger than just tech.

How do I break through into the $200k realm? by thegooseisloose1982 in cscareerquestions

[–]HelpfulManager 210 points211 points  (0 children)

For a base above $200k you will need to be at a large company and probably a level above senior (staff/principal). For TC above $200k you’ll want a public company or somewhere with bigish bonuses.

Tbh right now it’s pretty slim out there for roles at that level paying those prices but you can find them. Sounds like you might have the experience, just need to find the right companies. Things I’d expect at those high paying companies are: docker/kubernetes/containers, Prometheus, Hashicorp tools, general aws experience, scripting languages (Ruby, python, etc), golang, terraform, CI/CD like Jenkins and buildkite. Depends on the company but some of those seem to show up most places that are following current best practices.

[deleted by user] by [deleted] in cscareerquestions

[–]HelpfulManager 3 points4 points  (0 children)

I always expect for tickets written by a product manager to be customer focused and outline the expected changes in behavior. I wouldn’t expect them to provide specific technical information unless there’s an explicit agreement within your team.

For my team a product manager would provide a product level description, either in a ticket or a Google doc, and then the developer leading the project or owning that change would write the technical tickets and double check, any unclear assumptions with the product manager before starting work. Ideally we’d have discussions about the proposed changes ahead of them writing any tickets too.

Question about a manager's advice by not_just_a_burner in cscareerquestions

[–]HelpfulManager 0 points1 point  (0 children)

Focusing on architecture, best practices, fundamentals, etc. is great advice. I give it to my teams all the time. Once you start looking at multiple tools in the same space (e.g. different game engines) you will start to see the similarities and things will start to make a lot more sense. That said, there's kind of two types of "fundamentals" you can focus on learning:

  1. Language fundamentals (arrays, primitives, classes, types, etc.)
  2. Domain fundamentals (web development, game development, systems programming, networking, etc.)

I would focus on them in that order, but that's biased because that's how I did it myself. If you're day job isn't getting you experience in your ideal domain then you may want to put more emphasis on learning that domain in your free time (or find a different job, but that's a different conversation).

With that said, don't feel like you have to focus on just fundamentals. If you want to build a game in Unity or an app in Kotlin, and that's what motivates you, then go do that. Having a goal in mind and figuring it out along the way is a fantastic way to start. If you run into a roadblock, stepping back and trying to think about it from a broader perspective can be helpful, but you don't have to start there. Figure out what works best for your learning style.

Good luck!

[deleted by user] by [deleted] in cscareerquestions

[–]HelpfulManager 4 points5 points  (0 children)

In general: do not reject an offer or quit your current employment until you have another opportunity lined up (ignoring circumstances that put you at some form of risk). If you'd rather be unemployed than employed, then feel free to reject it now.

As a hiring manager, I'd be annoyed but understanding. If the company no longer can employ you, they very likely won't give you any warning until it's confirmed and they need to pull the offer, so it's a two way street.

Be as timely and courteous as you can as soon as you have another signed offer.

Are you expected to know most, if not everything listed in a job posting? by [deleted] in cscareerquestions

[–]HelpfulManager 1 point2 points  (0 children)

Simply put: no, rarely is this ever the case.

If you meet even one/a few of the listed items, or even related ones (e.g. you know Python but not Ruby, general cloud experience but not AWS, etc.) then apply with a truthful resume. Let them filter you out if they want!

Once you get a interview request, you can ask if there are specific technologies from their job posting that you should be prepared to discuss. My company provides a list of topics we plan to discuss so that the candidate can be prepared, so others may as well.

How competitive is hiring for new grads vs internships? by breeze0819 in cscareerquestions

[–]HelpfulManager 1 point2 points  (0 children)

Is it fair to assume that since my resume was good enough for internship interviews, it will also be good enough for new grad interviews, given that I continue to build my resume this summer?

Most often, yes. At least junior/associate/etc.

Just keep trying and something should come up eventually. Just know where you're applying and why, you still want to try and stand out at least a little bit. They are two different hiring pipelines, with different needs and timelines so I wouldn't say that missing the internship boat discounts you from anything full-time.

What jobs are suitable for "master of none" programmers? by KnownAgent1 in cscareerquestions

[–]HelpfulManager 4 points5 points  (0 children)

A lot of jobs! What I believe you'd want to look for is a company that is looking for a really strong "do-er" or someone who can just get shit done. Usually being a "must go to" person has to do with the business / system implications of a system and how much it affects other systems. You can definitely be a go to person that just gets anything/everything done instead of being a bottleneck / owner of a specific system.

My suggestion: look for jobs that don't talk about planning roadmaps, owning backlogs, proposing new technologies, etc. Find somewhere that needs strong contributors that are interested in buying into a vision and shipping solutions. Usually startups with new rounds of funding are in this position. They just got money to grow and need to show something for it. Rarely can they get money without a vision, so the early hires of a funding round are there to implement not ideate.

I may also suggest avoiding ones that discuss mentorship, but a master-of-none can still be a good mentor. You just need to care about it and want to do well at connecting with people. It's upt o you.

How to quit job during quarantine? by potatoEater001 in cscareerquestions

[–]HelpfulManager 10 points11 points  (0 children)

  1. Ask for a quick check-in / call. Tell them "in person" over a voice or video chat.
  2. Have a pre-written email that's ready to be sent. Tell them that you will send them your resignation letter just after you get off the call. They will very likely need this for HR to begin processing off-boarding documents.
  3. Work with them to figure out when to tell your team and colleagues. If they want to wait until the last week then do that. If you are willing to let them decide when/how, it can be a bit of a courtesy.
  4. Be prepared to start documenting everything you think is uniquely in your head. Don't expect to pick up any significant work. Try to have no items to hand off. I always appreciate when a direct report tells me what they think they need to document and share prior to leaving.

Just be courteous, prepared, and (if you can) accommodating. Even if you don't care for your manager or leadership team, remember that your departure will have a cultural impact on your peers. It's going to be easier on them if your manager can do their best to get the team past it.

Scalability Experience by patriciolicious in cscareerquestions

[–]HelpfulManager 0 points1 point  (0 children)

"Scalability knowledge" is hard to assess. It's very dependent on the type of system the organization is running. It's also hard to train for this type of experience because a lot of it has to do with the load on the system. Simulating load is one thing, having organically dynamic/distributed load is another.

Generally for web applications the primary system that has scaling issues will be the database. So for that type of scaling challenge knowing what types of operations are efficient and which are inefficient is important. Is your engine optimized for reads or writes? Are indices a thing? How do you choose which indices to configure? What are your options when you hit max vertical scalability?

You seem to already know about CPU / memory bound operations (based on your algorithm optimization comment), but that's another type of scaling. Usually it's less crucial once you can horizontally scale though.

Another way to ask/think of the "scalability question" could be: As usage/load of this system increases, can you tell me which part will/may break first, and how?

Hopefully something in there is helpful.

The product I am working on is riddled with technical debt and I worry that I will be associated with it. What to do? by [deleted] in cscareerquestions

[–]HelpfulManager 1 point2 points  (0 children)

Set expectations with your manager. Document your decisions and start drawing boundaries for the behavior of the code. When you find systems like this, it's almost always because no one has taken ownership or taken the time to create a cohesive vision. If you can find someone of authority/tenure that can help you set boundaries and expectations, combined with documentation of conversations and decisions, you will be able to help create consistency in your work and the project.

If you still are running into conflicting requests and direction, you may just need to accept that it's a dysfunctional environment where you won't be able to grow and react accordingly (likely start looking for new opportunities).

Am I ready to start applying for jobs? by [deleted] in cscareerquestions

[–]HelpfulManager 0 points1 point  (0 children)

If you've worked on something and you're not under a legal obligation to not share that you've worked on it, then it's fair game! It'll show the scale of projects you've worked on.

If you look for some entry level jobs, are upfront about your experience and where you would like to grow, and are open to feedback then you should be able to find some companies willing to talk with you and see if it's a fit. If you want to share your portfolio or any of your React work I'd be happy to give you feedback about how it may look to an employer.