Swift and iOS dev with Igor
The ride of the iOS developer

Job search, application, interviews, salary, and offer negotiations

Get yourself prepared and move smart.

This post is not intended to be read, it is a reference that holds sketchy notes and bookmarks.

Job search

Profile your future job

What

Job title(s), role(s), position(s)

Where

Company:

  • Size
  • Industry

Country

On-site/remote/hybrid

You can have multiple profiles. The more you define your profile the better search results you’ll get.

How

Where to find job postings: job boards, company websites (career or jobs pages), LinkedIn

Salary negotiation (I)

Yes, it starts here, - you should be prepared before the job application.

Job application

CV

Create CV for each job you apply.

Cover letter

Questions, Answers, Stories

Use the STAR method to structure your story:

  1. Situation (setup).
  2. Task
  3. Action
  4. Result. Control the narrative. Do not rely on your talents as a storyteller and the ability of a listener to draw the right conclusion(s), state the result yourself.

Plus:

  1. Smile!
  2. Buy Time if Necessary
  3. Answer Enthusiastically
  4. Ask a Follow Up Question

Read more

Some questions I’ve seen a lot:

  • What makes you interested in a role at … ?
  • What skills would you like to develop in the next 12 months?
  • Tell us about a project where you learned a lot. What would you do differently?
  • Please describe a project you recently worked on that was technically challenging. What made it challenging? How did you overcome its difficulties?
  • Tell us about an interesting app you’ve worked on. What made it interesting?
  • How do you use our products, or their competitors? How would you improve one of them?

Interviews

Nervous? Make your brain think you’re excited!

Don’t think about the outcome, be willing to learn and improve. Interview is a two-way street. They interview you, but you also interview them. Reverse-engineer the interview at the end. Gergely Orosz: Confessions from a Big Tech Hiring Manager: Tips for Software Engineering Interviews - YouTube

Get to know

  • Make them love you
  • Positioning. Connect skillset and experience to the goals and pain points of the company. Learn about the company, its goals, its current pain points, who their customers were, and little things that would help give better answers that would resonate with the interviewer. I find April Dunford’s thoughts and approaches quite helpful, see links in the Cover Letter section.

Phone Screening

Technical interview

Data structures and Algorithms

System design interview

A pretty good Mobile System Design Interviews series by Alex Lementuev (ProAndroidDev):

Behavioral interview

Offer negotiation/ Salary negotiation (II)

You should negotiate

  1. There could be money or other benefits on the table (actually “are” - see #3), but you might never know if you don’t ask. So, ask. Nicely.
  2. No one ever revoked the offer just because the candidate politely(!) asked for more.
  3. They are prepared - they do have more just in case someone they really like asks for more.

Email vs phone

Pick whatever is more comfortable for you, but don’t forget, that it’s possible to misinterpret any text, and it’s easier to clarify things in the live conversation.

Keep positive

This is not a war or fight. Use collaborative tactics. Image yourself discussing lunch options with friends.

“No”

Don’t take “no” personally. “No” is just “no”.

Offer Structure

Consider the whole offer structure, not just the base salary, but bonuses, one-time payments, perks, options/RSUs, relocation packages, etc.

Links

Offer Rejection

Be polite, appreciate, do not over-share

References

Books

  • Never Split the Difference: Negotiating As If Your Life Depended On It by Chris Voss, Tahl Raz - great book by former FBI negotiator. Audiobook is quite good.
  • Grokking Algorithms by Aditya Y. Bhargava
  • Cracking the Coding Interview by Gayle Laakmann McDowell
  • System Design Interview by Alex Xu
  • Minto pyramid: The pyramid principle by Barbara Minto
  • Dependency Injection Principles, Practices, and Patterns by Steven van Deursen and Mark Seemann
  • A Philosophy of Software Design by John Ousterhout
  • Algorithms to Live By: The Computer Science of Human Decisions by Brian Christian, Tom Griffiths
Published on: Jun 30, 2022
Tagged with: