Taro Logo
Profile picture

Compensation Q&A and Videos

About Compensation

We all know that software engineers are highly paid. The downside here is that tech compensation can be incredibly hard to understand, filled with so many different components.

Pre-Sales AI Engineer Considering Switch to SWE vs New Role vs Masters

Pre-Sales AI Engineer at IBM profile pic
Pre-Sales AI Engineer at IBM

This whole train of thought started after a coffee chat with a family friend who is an Engineering Manger at FAANG where she told me that she thought I was getting too comfortable and that I needed to start working on harder problems to keep learning.

In my current role (my first and only job since graduating college in May 2022), I work with prospective F500 Banking & Insurance clients to engineer small scale POCs that prove the value of IBM’s technology, and to hopefully convince them to complete the sale. I was originally hired with the title “Data Scientist” but noticed that my customers were largely uninterested in IBM’s Cloud Platform ML offerings and were already using other hyperscalers. Following the release of ChatGPT, client interest in IBM surged and we have had much more business as clients stand up our Generative AI Studio offering (watsonx) vs others (think Vertex AI, Azure ML, Sagemaker). In January 2024, the business updated my title to AI Engineer to reflect this change, and I work almost completely on LLM related deals now, and almost never with “classical” ML. The primary technologies I am responsible for are: Generative AI Studio, Data Lakehouse (including vector DBs), Data & AI Governance & AI Virtual Assistants (chatbots).

I would say that my role consists of 50% Business Development and collaborating with sales & account teams to develop and progress sales opportunities and 50% hands on the keyboard engineering. None of the POCs we develop are architected with deployment in mind, as IBM also has a consulting business that they promote for that. Ideally the client is billing consulting hours, and my team costs nothing so we should build as fast as possible.

For some context, in college I was largely unsure what I wanted to do afterwards, and joined IBM quite literally because I was a senior who was about to graduate with no job, and I knew someone who worked at IBM sales that offered to help me. That was the first time I ever thought I might go into tech. I went to an Ivy League school where I earned a BA with a joint major in a Social Science + Statistics. The stats I learned were much more applied than theoretical, and despite having the degree, I would say that I lack the necessary mathematical foundation that one would expect of an MLE or Data Scientist, including key topics like Linear Algebra, Stochastic Processes & Discrete Math etc. I did take one intro ML + NLP class, but it was extremely general and not mathematical (although it thankfully helped me fake my knowledge to pass my IBM interview). I also didn’t take any CS courses except one intro Java class.

I know what my classmates at FAANG earn, and their entry level base salaries are at least 50-60k higher than mine. I also do not have any equity in my compensation package, which I know will make the real difference in the long term. IBM is making a concerted effort to reduce our workforce size. Despite being a high performer with consistently good feedback from my manager & colleagues, I don’t think that I will earn that first promotion soon to close that salary gap between IBM & FAANG. Luckily, I don’t see myself getting laid off soon either, so there is no urgency to make decisions.

This company definitely gave me a shot when others probably would not have given my background and Data Science skills at the time. I feel like I have spent the last two years faithfully giving them as much as I can and also learning a lot for myself along the way, but now is the appropriate time to start thinking about where I really want to go in the future.

I feel like the Data Scientist position I was originally hired for required a certain level of mathematical foundation that I had, but that building with pre-trained models definitely does not require. I had skills that were relatively harder to develop and somewhat in value, but now prompt engineering can be taught in almost a day, and one can quickly learn the adjacent tech stack to build and deploy with LLMs without much math. I thus feel anxious about tying my future to this, as my market value would naturally be a function of how hard the skills I have are to acquire. The AI Engineer role requires more of a Software Engineering background to really integrate the LLMs into apps than a math background. I could also keep focusing on learning more math and get into the model training & research side, which is an option I am considering too.

Despite landing here by accident, I learned that I really like big tech, and I think I actually want to end up in a Sales role as well. I am told by my manager that clients give positive feedback about working with me, but I observe that the best sellers who earn the most money in IBM are the ones with deep technical expertise AND who also have the soft skills to become trusted by the clients. These people often worked on product teams or in highly technical roles before finishing in Sales, which is what I think I should do too, as my knowledge base is too broad to really become a technical expert, and the POCs I build are too short to have any knowledge of how to actually deploy these technologies into production.

I would thus like to end up at a FAANG company and make more money, and probably work on an AI product team either as a SWE/Data Scientist or potentially even as an AI researcher (though I’m not interested in a PhD, which I know is important). My question for you all is what would be the best path for me to get there? Should I focus on studying more math and to try for a Data Science/MLE role, or should I try to focus on learning Software Engineering & patching up my math with supplementary self-paced courses.

My initial hunch is go back to school for a 1 year Masters in CS, and take a few math courses beforehand & maybe some more math based deep learning or transformers focused courses while there. This would ideally make me suitable for SWE or DS/MLE/AI Engineer roles, and expand my chances of success. Most American schools require CS bachelor’s degrees and their applications have closed, but this masters program in the UK at Imperial seems open. Does this program look like useful material for someone in my position to learn ()?

I feel like I have half the math and half the programming experience to succeed, but am not knowledgeable enough at either to really do as much damage as I know I am capable of. I would be keen to hear from some of you more experienced veterans out there how you think I should proceed. I have been living at home with my parents and saving money, so I could pay for the masters and assuming I make it into FAANG the extra salary would mean the degree pays for itself in 1.5-2 years. I could go on educational leave and my job at IBM will likely be there for me should I fail to get recruited somewhere else (IBM recently stopped paying for masters degrees unfortunately). I also know that there is opportunity cost of not earning for 10 months while at school.

Given my context and situation, the main questions I want help thinking about are:

  • Given the way the industry is moving and my experience, which kinds of roles should I aim for?
  • Should I try to earn the masters, or should I try and self-study either math or software engineering while at IBM and recruiting slowly
  • If I go the school route, would I have enough time to be able to pass an interview in Fall 2024 when I start (since I would need to recruit right away) if I started preparing now, or should I wait until the next application cycle and start in Spring/Fall 2025.

I know this was long, thank you so much for reading, and thank you in advance for your help. Hindsight is 2020, but I am young and I don’t fault myself for not knowing what I wanted to be when I grew up. I know with hard work and patience that I will get there.

Show more

Should I mention offers I turned down to my boss?

Data Engineer at Taro Community profile pic
Data Engineer at Taro Community

It's performance review time, and I want a nice raise and bonus just as much as anyone else.

Standard procedure for getting a raise seems to be making the case for yourself: keep track of all your accomplishments during the year so you can present them to your boss when asking for a raise/bonus. Simple enough. I'm prepping that list of things right now.

It's also been the case that this past year I turned down 3 offers that each would have paid me more than my current gig - between 20% and 40%. Now, even though I'm underpaid at my current gig, it's also the case that I'm compensated for that by it being super chill - no deadlines, lots of latitude on what to work on, a nice WFH arrangement (1 day in office a week), and pleasant coworkers.

My question is, do I mention that I got the offers in addition to mentioning the things I'd accomplished over the year? There's an element of "hardball" in that, but maybe it's not a bad move. I guess the phrasing of it is the key. So instead of saying "I've got other offers, give me more money or I leave", it's "I really like working here and with you. So much so that I turned down other companies that were offering decently more. Can you see what can be done to raise my compensation?"

Finally, I'm aware that the best way to ask for a raise is :
"I really enjoy working on this team. I want to do more to increase my impact and empower my teammates - What are the steps I need to take to get to that next level?"

Show more

Should I take an offer right now when I’m in the interview loop for potentially higher ones?

Software Engineer at Taro Community profile pic
Software Engineer at Taro Community

I received a written offer from a Series A startup for a FE role over the weekend. I really enjoyed interviewing with some of the team members I met and the Hiring Manager seems to really care about the team and believes in the product. During the initial interview, the HM told me the salary window for the role is 140-195k based on experience and interview performance. After I completed all the interviews, the recruiter told me the team liked me and asked if I would take 140k and stop interviewing elsewhere. The recruiter reminded me that I mentioned months ago that I said 140k was the minimum I would accept for base salary (this is true, I reluctantly gave in and provided a number).

I’m currently working on a take home project for a FE role from a Series D startup that is in an industry I am interested in. I am scheduled to submit it and have the final interview round this week. This company's recruiter said, based on my resume, the anticipated salary range for the role would be 165-175k.

I asked the Series A recruiter to get closer to the potential Series D offer range so we agreed on 155k. Later I received the written offer and the title is for Senior Staff SWE. I was surprised to see that title paired with the 155k base salary (no signing bonus or other cash benefits. Options are on the table but that is just paper money at this stage). For context, in my last role I was a SWE I at a FAANG adjacent company and have 2-3 years of experience (half of that in Big Tech).

I'd like to get advice from the community about how to assess this Series A offer. Startup titles are generally inflated but even so the salary that is presented to me does not align with the title they are giving me. I live in a HCOL area.

If I do get an offer from the Series D company, I've been advised by another more Senior peer with startup experience to take an offer from a Series D company over Series A because the risk of company failure is lower and I will receive more support as a mid-level SWE.

I'd appreciate any insights and questions/topics I should consider to help me assess this situation. Thanks for reading this far :-)

Show more

What do you think is a fair amount of equity for a first developer of the team?

Medior Software Engineer at Taro Community profile pic
Medior Software Engineer at Taro Community

Right now I am helping out at a startup with 0 revenue. It's a fun group to work with, hence I am helping them out.

There's a CEO and CTO. CEO has been working on it for 1.5 years, CTO for like half a year. I have just started out for about a month. The company has 0 revenue and 0 investors yet. CEO is just giving a projection of equity sharing. There might be a CMO joining soon.

CEO is suggesting following equity share:

  • Founder 1: Himself 57%
  • Founder 2: CTO 16%
  • Soon to be Founder 3: CMO 8%
  • Investors Seed / Series A: 13 %
  • Options Pool: 5%

I am like the first developer, and he's suggesting like 0.5% of the option pool. They claim it to be a fair amount since he and CTO have made way more sacrifice so far. Right now I make sacrifices too. I am spending my nights and time in my weekend on it without any pay. And I don't have the knowledge of CMO.

I don't know much about reasonable percentage for this kind of stuff it's new to me.

But right now we're not getting any profit and I am sacrificing nights and time in the weekend on the project so I think it would be fair for founder 1 and 2 to give me some of their percentage and give me like approximately 10% or something.

So far it's been fun: Thinking if things go well, we can all become millionaires. But this 0.5% percentage doesn't fit in with that. It's a rather demotivating percentage.

Show more

Is it normal for a company to track performance related metrics and use it as input for promos/bonuses?

Senior Software Engineer at Taro Community profile pic
Senior Software Engineer at Taro Community

The company I work for started tracking a wide range of metrics related to our day-to-day work (with an external tool called LinearB). It integrates with pretty much everything to collect as many metrics as possible such as lines of code, number of PRs, size of PRs, time spent on reviewing, cycle time, time spent in meetings, etc. These tools feel like they only aim to gather as many metrics as physically possible, but do not always manage to put them into context. For example if you go on holiday or sick leave, all your metrics go down (for obvious reasons).

Personally I feel some of these metrics are straight up toxic and I also see that many people in our company started feeling paranoid about this and feeling an urge to “game” the metrics so their numbers look good.

The reason for this is that initially we were told the metrics are only going to be used on a team level, but now we are getting strong signals that this is used on the individual level as input for things like determining promos, raises, bonuses, etc. I know that there are standards and best practices to follow (like having small, meaningful PRs), but using these metrics as a signal for perfomance feel stupid, because it depends so much on the type of work I do. One week I'm debugging a production incident and it may be resolved with a single line config change, the other week I'm writing tons of unit tests, etc.

We were told that this whole thing is pretty much industry standard and very common at big companies like FAANG. Is that really so? If yes, could you elaborate on how is it implemented and how do you deal with the stress associated with trying to maximize your metrics (which may not be a direct consequence of "getting the work done", so you have to do extra just to increase your metrics).

Really appreciate all you inputs. Thanks.

Show more