12 minute read

Action Plan

  • stages of job search
  • tips and tricks for each part, focus on techies side
  • resources and tools

About me

class Friendlyantz
  def initialize
    @name = 'Anton'
    @title = 'Engineer, Software Stuntman, Dev`s Advocate'
    @hobbies = [ 'Kitesurfing', 'Camping', 'Art', 'Motorcycling','eSkating' ]
  end
  
  def current_location = 'Melbourne, Australia'
  def work = 'Fresho🍋'
  def click_bait = 'https://friendlyantz.me/''

Job Search Stages

  1. If made redundant
  2. CV update
  3. apply
  4. screening with HR
  5. screening with manager
  6. technical challenge + code review
  7. system design challenge
  8. behavioural interview
  9. offer / negotiations

If made redundant

  • go to Fair Work - book Unfair dismissal consultation on day 1
  • you will get a free 1hr sessions with top pro-bono lawyers (wait is about a week+)
  • you have 21 days to apply.

CV


Key deliverables:

  • ensured team of 6 was fully caffeinated with Antarctican coffee beans ground to 14nm particles
  • Connected with David Heinemeier Hansson on LinkedIn
  • Organized team bonding through company potato sack race resulting in increased team cohesion
  • Spearheaded 5 Microsofters

Apply


go as wide as you can

get those conversations going, 
even if these are not the jobs you want

first apply for non-ideal jobs you are not afraid to miss out on

- just practice the interviews / build up the pace
- apply JavaScript - soooo many jobs, 
- TypeScript, Python - all doable languages for takehome challenge

don’t waste time tailoring every application

HR's don't care, just get a meeting
- linkedin jobs
- indeed.com

Screening - HR / Manager


have a beautiful story

  • why you looking for change
  • what are you looking in a new company
  • try to avoid money discussion

  • managers can do basic tech questions sometimes
  • test your browsers / OS permissions to work with Chrome, Firefox, MS teams and have screen-sharing permissions

Coding challenge

  • take home
  • live

Understand basic algorithms (contested topic)


understand basic data structures

	- static VS dynamic Arrays / String 
	- HasMap
	- LinkedLists / Nodes
	- Queue / Stack

	- Tree
	- Trie
	- Graph

	- Ring buffer
	- Least Recently Used (LRU)

understand basic search algos

- Binary Search
- Linear Search

understand recursion

- preparetion / check
- recurse step
- go back the stack ## understand tree traversal

understand basic sorting

- bubble
- quicksot
- heap sort
- merge sort

understand BigO complexity of TIME and SPACE


BigO basic rules:

  • constants are ignored
  • worst case is generally is considered
  • every loop is an n-complexity. loop = O(n), loop-withi-a-loop = 0(n^2), etc
  • if you half your input in every iteration, it’s generally O(log n)

do basic LeetCode challenges

  • focus on hottest challenges. don’t just do everything LeetCode gives you
  • https://neetcode.io/ - do all EASY challenges, then some MEDIUM, and then try HARD

familiarise with HackerRank platform some companies use it to do take home test, so you need to be comfy with it’s quirks, but practice on LeetCode


use chatGPT to explain basic things, don’t ask complicated questions to avoid hallucinations.


Put MAJOR effort with any coding assignments

  • provide a test suite,
  • review before submitting.
  • have good README and ideally Makefile
  • may be add basic CI script / makefile for GitHub Actions
  • search GitHub for already submitted solutions for some inspiration and ideas


know basic design patterns

  • Structural
  • Behavioural
  • Creational

https://refactoring.guru


Other resources


have questions for them

  • how is their engineering culture?
  • learning days / budget
  • what’s their plan for 1, 2, 5 years
  • what version of Ruby / RoR they use, if not latest - then why

System Design


Go wide / don’t dive into details first

  • understanding basic designs of
    • messaging app, shopping app, social app, link shortener etc
  • watch mock interviews with big guns
  • skim system design primer

Design Data Intensive book

  • quick youTube overview of all chapters
  • quite rich book, but gives a lot of food for thought for modern distributed system design that will put you way ahead of competition.

Familiarise yourself with Excalidraw

  • everyone uses it for diagraming
  • on the right you can load awesome icons

Typical System Design timing

  • 5-10min: define function and non-functional requirements
  • 10-15min: high-level system design of all components. from CDN down to DB
  • 10-15min: in-depth review of components
  • 10-15min: wrap up, review, discussion of changes

Behavioural Interview

  • how you handle conflict / disagreement (EVERY interview)
  • have questions for them

Offer


Other tips

  • Maintain pace and routine, have a timetable
  • eat healthy and exercise
  • don’t give up
  • don’t waste time and mix your activities
  • participate in meetups and bookclubs
  • learn and keep the dopamine loop

if you_need_help => reach out!

remember: this is a fantastic time to learn!!!

Leave a comment