Learn How to Code
  • Welcome
  • Foundations
    • Introduction
      • Becoming a web developer
      • Motivation and mindset
      • Join a supportive community
      • How does the web work?
    • Requirements
      • Prerequisites
      • Text editors
      • Command line basics
      • Setting up Git
      • Setting up Node
    • Git
      • Git basics
      • Project: Practicing Git
    • Frontend
      • HTML and CSS
      • Developer Tools
      • Project: Create a web page
    • JavaScript
      • Strings and Conditionals
      • Using Developer Tools
      • Functions
      • Problem solving
      • Project: Rock paper scissors
      • Writing clean code
      • Arrays and Loops
      • The DOM
      • Project: Etch-A-Sketch
      • Objects and More Arrays
      • Project: Calculator
    • Backend
      • Frameworks
    • Next steps
  • Deep dives
    • Computer Science
      • Pseudocode and algorithms
      • Recursion and algorithms
        • Project: Fibs and sorting
        • More on algorithms
        • Big O
        • Project: Practicing Big O
      • Data structures
        • Maps, Stacks and Queues
        • Project: Stacks and Queues
        • Nodes, Linked Lists and Trees
        • Project: Linked Lists
        • Project: Trees
        • Next steps
    • Databases
      • Databases and SQL
      • Project: SQL Zoo
    • Design / UX
      • Fonts and typography
      • Grids
      • Project: Teardown
      • Responsive design
      • Project: Mobile friendly
      • CSS frameworks
      • Project: Bootstrapping
    • HTML / CSS
      • HTML Basics
        • Linking
        • Images and media
        • Project: Embedding media
        • HTML5
        • Tables
        • Lists
        • Forms
        • Project: Make a form
      • CSS Basics
        • Box model
        • Floats and positioning
        • Flexbox
        • Grids
        • Project: Breaking news
        • Best practices
        • Backgrounds and gradients
        • Project: One more thing
        • CSS3
        • Preprocessors
        • Project: Your own framework
      • Next steps
    • JavaScript
      • Refresher
      • Organization
      • Objects and constructors
      • Project: Library
      • Factory functions and module patterns
      • Project: Tic Tac Toe
      • Classes
      • ES6 Modules
      • Project: Restaurant
      • Object Oriented Programming
      • Project: Todo list
      • Linting
      • Menus and sliders
      • Forms
      • ES6 features
      • JSON
      • Callbacks and promises
      • Using APIs
      • Async and Await
      • Project: Weather
      • Testing
      • Project: Testing 1-2-3
      • Advanced Testing
      • Project: Battleship
      • Backends
      • Project: Where's Waldo?
      • Project: All-Star
      • Next steps
    • NodeJS
      • Project: Going to school
      • Project: Passing the test
      • Express
        • Templates and middleware
        • CRUD and MVC
        • Project: Message board
        • Routes
        • Displaying data
        • Forms and deployment
        • Project: Inventory
      • Authentication
      • Security
      • Project: Clubhouse
      • APIs
      • Securing an API
      • Project: Blog
      • Testing
      • Testing with a database
      • Project: Social network
    • React
      • Props and State
      • Render lists and handle inputs
      • Project: CV
      • Lifecycle methods
      • Hooks
      • Project: Memory card
      • Router
      • Project: Shopping cart
      • Advanced concepts
    • Ruby
      • Installation
      • Data types
      • Variables
      • Input and Output
      • Conditionals
      • Loops
      • Arrays
      • Hashes
      • Methods
      • Enumerables
      • More enumerables
      • Nested collections
      • Blocks
      • Pattern matching
      • Debugging
      • Project: Caesar cipher
      • Project: Substrings
      • Project: Stock picker
      • Project: Bubble sort
      • Object oriented programming
      • Project: Tic Tac Toe
      • Project: Mastermind
      • Serialization
      • Project: Event manager
      • Project: Hangman
      • Computer Science
        • Recursion
        • Project: Merge Sort
        • Data structures and algorithms
        • Project: Linked Lists
        • Project: Binary Search Trees
        • Project: Knight Travails
      • Testing
      • RSpec
      • Project: Four in a row
      • Git
      • Project: Open Source
      • Project: Chess
      • Next steps
    • Ruby on Rails
      • Using Heroku
      • Installing Rails
      • Basics
        • Routing
        • Controllers
        • Views
        • Asset pipeline
        • Deployment
        • Project: Blog
      • Active Record
        • Project: Upvote
      • Forms
        • Cookies, sessions, and authentication
        • Project: Password
      • Advanced forms and Active Record
        • Associations
        • Project: Private Events
        • Callbacks
        • Menus, helpers and nested forms
        • Project: Ticket agent
      • APIs
        • External APIs
        • Project: Animals
        • Project: Photo widget
      • Mailers
        • Project: Confirmation
      • Advanced topics
        • Action Cable
      • Project: Social network
      • Next steps
  • Getting hired
    • Preparing to find a job
      • Plan a strategy
      • What companies want
      • Get yourself together
      • How to prepare
      • Project: Make your website
    • Applying and interviewing
      • Qualifying leads
      • Project: Make your resume
      • Applying for jobs
      • Preparing for an interview
      • Handling an offer
      • Final words
  • Maintained by
    • wbnns
  • License
    • CC BY-NC-SA 4.0 © 2022
Powered by GitBook
On this page
  • Negotiating
  • Additional resources
  1. Getting hired
  2. Applying and interviewing

Handling an offer

Do not accept right away. This is doubly true if you don't think it's a good offer.

PreviousPreparing for an interviewNextFinal words

Last updated 4 years ago

Negotiating

If you kicked butt, you'll get an offer. That means there's a pretty good chance you'll get to work there, but just remember that not all "offers" (especially verbal-only ones) are actually real. It's a good time to be happy because you did well but don't expect that it's a done deal. I've seen companies pull offers for internal reasons or external reasons -- the point is that it happens, so don't go buying a house until you've signed the documents. If it's just a verbal offer, ask them to email you the details.

DO NOT ACCEPT RIGHT AWAY! This is doubly true if you don't think it's a good offer. This is an important point for you -- they've been totally in control of the process until now and they've probably dragged their feet because they can (who knows, an even better developer might show up, right?). Now it's your turn. They've put in a lot of effort so far and any reasonable company isn't going to let you walk away over a few days or a few thousand dollars. They should give you at least a week to decide.

One big factor is compensation. The person making the offer usually has discretion to bump it up a bit (maybe $5k in Silicon Valley, probably less elsewhere) without asking their manager, so it's often a good idea to negotiate the first offer. Maybe you're negotiating salary, vacation, relocation bonuses, or personal project status. It doesn't matter, your position is a whole lot better while you're holding that offer.

What's the best thing you can do? GET ANOTHER OFFER! There's nothing nearly as good when negotiating as another offer from another company which gives you the ability to walk away. You shouldn't be shamelessly callous and capitalistic about it (the goal isn't to piss off everyone who gave you offers), but do take advantage of this!

Not only that, but remember all those companies that dragged their feet and you hadn't heard back from? Send every one of them (who you are realistically interested in) an email explaining that you have an offer and need to make a decision relatively quickly. See if that doesn't help them speed you along in the process and maybe get you that other offer. As soon as you have an offer to work with, you suddenly have all that social proof you never had before since you haven't worked anywhere else. Use it.

Once you've worked through your negotiation and hopefully had the chance to rank multiple offers, the decision must be made. That's a good choice to have to make. Congratulations! Now you get paid to keep learning.

Additional resources

  • - Long blog but worth the read to get in the right mindset.

  • gets into the equity component of some offers.

Ten Rules for Negotiating a Job Offer
Negotiating your Startup Offer from Rob.by