A software engineering offer should be evaluated as a complete work-and-compensation package, not as a single salary number. This checklist helps you compare base pay, variable compensation, equity, benefits, role scope, location requirements, and risk so you can make a decision and negotiate from clear information.
Overview
Two software engineer jobs can have similar salaries but very different outcomes. One may offer stronger health coverage, a clearer promotion path, and predictable working hours. Another may include a larger equity grant but less certainty about its value, a demanding on-call rotation, or a role that requires regular travel. The right comparison depends on your priorities, financial needs, career stage, and tolerance for uncertainty.
Start by requesting the complete offer in writing. Ideally, it should identify the job title and level, base salary, bonus structure, equity terms, benefits, working location, expected schedule, start date, and conditions attached to the offer. If a detail is missing, treat it as an open question rather than making an assumption.
Create a side-by-side comparison using the same categories for every offer:
| Category | What to record | Why it matters |
|---|---|---|
| Base compensation | Annual salary, currency, pay frequency, and review timing | Usually the most predictable part of cash compensation |
| Variable pay | Bonus target, eligibility, calculation, and payment conditions | A target may not be the same as guaranteed cash |
| Equity | Instrument, number of units or shares, vesting schedule, and exercise terms | Value and liquidity can be uncertain |
| Benefits | Healthcare, retirement contributions, leave, equipment, and learning support | Benefits affect both household costs and daily work |
| Role quality | Level, manager, team, technology, scope, and promotion criteria | Career growth and job satisfaction are part of the offer |
| Work conditions | Location, time zones, travel, hours, and on-call expectations | These commitments can change the practical value of compensation |
Checklist by scenario
When comparing two or more permanent roles
- Normalize the offers into the same currency and time period, while recording the assumptions used.
- Separate guaranteed cash from conditional cash. Label salary, signing payment, target bonus, and discretionary bonus individually.
- Compare the actual job level, not only the title. Ask how the level maps to the company’s engineering ladder and what evidence is required for promotion.
- Ask who your manager will be, how the team is organized, and how success will be measured during the first six to twelve months.
- Confirm whether the role is fully remote, hybrid, or office-based. For remote developer jobs, clarify eligible work locations, time-zone overlap, travel, and equipment arrangements.
- Check the expected schedule, release responsibilities, incident response, and on-call frequency. Ask whether these expectations are documented or team-dependent.
When equity is part of the package
Equity should be treated as a separate risk category rather than added to salary at face value. Ask what type of equity you are receiving, how many units or shares are included, the vesting schedule, and what happens if you leave. For stock options, request the exercise price and the deadline or process for exercising after departure. For restricted stock or similar awards, ask when shares or units settle and what conditions apply.
A common vesting structure may include a waiting period followed by regular vesting, but the exact terms vary by employer and award. Do not rely on a verbal description. Read the formal grant documents when they become available, and ask which terms in the offer letter are binding. If the company is private, ask how liquidity is handled and whether there are restrictions on selling or transferring the equity. Future value is not guaranteed, so compare equity using a range of possible outcomes rather than one optimistic estimate.
When evaluating an entry-level or junior offer
- Prioritize the quality of mentorship, code review, onboarding, and access to experienced engineers.
- Ask what work junior engineers typically own after onboarding and how feedback is delivered.
- Confirm whether the role is a genuine engineering position or primarily support, testing, or unrelated operational work.
- Review the learning budget, internal documentation, development workflow, and opportunities to work across the stack.
- Compare the first-year learning and career value without dismissing cash needs or workload concerns.
When comparing employee and contract opportunities
Do not compare a contractor’s hourly or daily rate directly with an employee salary. Account for unpaid time between assignments, taxes or withholding, insurance, retirement savings, paid leave, equipment, professional expenses, and termination terms. Confirm the expected hours, payment schedule, scope-change process, intellectual property terms, confidentiality obligations, and notice requirements. For more detail on contract evaluation, see the freelance developer contracts and rates checklist.
What to double-check
Build a total-compensation worksheet
Use one worksheet per offer with these rows:
- Guaranteed annual base salary.
- Expected first-year signing payment, including repayment conditions.
- Target bonus, clearly marked as conditional.
- Equity, recorded separately with its vesting schedule and uncertainty.
- Employer retirement contribution or matching arrangement.
- Employee-paid premiums, deductibles, and other predictable benefit costs.
- Paid leave, holidays, sick time, and any required shutdown periods.
- Commuting, relocation, travel, home-office, equipment, and coworking costs.
- Expected unpaid time or availability costs, including on-call obligations.
Then add a qualitative score for career growth, manager quality, technical relevance, flexibility, workload, and organizational stability. Keep the numeric and qualitative assessments separate. A spreadsheet can clarify trade-offs, but it cannot determine whether a team or manager is a good fit.
Questions to ask before accepting
- What are the most important outcomes for this role in the first three months?
- How often are compensation and performance reviews conducted?
- What happens to unvested equity if the company is acquired or the role is eliminated?
- Are bonuses based on individual performance, company performance, or both?
- Which benefits begin on the start date, and which begin later?
- What are the normal working hours and the exceptions?
- Which employment, payroll, or work-authorization rules apply to my location?
- Who can answer questions about the formal equity grant and benefits documents?
For negotiation preparation, write down your preferred outcome, acceptable outcome, and non-negotiables. Choose one or two high-value requests instead of presenting a long list. A focused request might address base salary, level, a signing payment, start date, remote arrangement, or an additional equity review. Explain the value you bring and ask whether there is flexibility; do not present uncertain equity value as guaranteed cash. The software engineer salary negotiation guide can help you structure that conversation.
Common mistakes
- Comparing headlines only: A salary and equity figure do not describe the full workload, benefits, or risk.
- Counting a target bonus as guaranteed: Record the target, eligibility rules, and payment history separately from base pay.
- Ignoring vesting and departure terms: The headline equity grant is incomplete without the schedule and treatment when employment ends.
- Assuming remote means flexible: Confirm location, working hours, time-zone overlap, travel, and monitoring expectations.
- Negotiating before understanding the offer: Ask clarifying questions first so your request is precise and credible.
- Rushing because of an expiration date: Request the terms in writing and ask for reasonable time to review them. If the deadline is unclear, ask whether it can be extended.
- Overlooking the manager and team: Career development depends heavily on feedback, scope, support, and the quality of the engineering environment.
When to revisit
Use this checklist whenever you receive a new offer, a promotion package, a revised equity grant, or a significant change to your role. Revisit the worksheet before annual compensation discussions, after a relocation or remote-work change, and when a bonus or equity award is about to vest. Also review it if the company changes benefits, reporting lines, on-call expectations, or the team’s product direction.
Before making a final decision, complete these five actions:
- Save the offer letter, benefits summary, equity documents, and your written questions in one folder.
- Fill in the comparison table using confirmed terms and mark every assumption.
- Calculate guaranteed cash separately from conditional compensation and uncertain equity.
- Speak with the hiring manager and recruiter about the highest-impact unknowns.
- Make one focused negotiation request, then review the revised terms before accepting.
A strong software engineering offer is one you understand well enough to accept deliberately. Keep the worksheet after you join so you can compare the agreement with the role you actually experience and use that record during future career decisions.