Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

30
Get Django, Get Hired An opinionated guide to getting the best job, for the best salary, fast.

Transcript of Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Page 1: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Get Django, Get Hired

An opinionated guide to getting the best job, for the best salary, fast.

Page 2: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 0: Why?

• Knowledge vs Experience• Confidence• Swagger• Tool Chest

Page 3: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 1: Learning

Look through job boardsCreate an outline of skillsResearch tutorials and libraries for each skillCreate a personal projectIntegrate each skill learned into your personal

project

Page 4: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 2: Preparation

Create a github repo for side projectCreate a dev account on major social

networksCreate a dev account on amazon, heroku,

cloud providersKeep notes

Page 5: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 3: LEARNING

Page 6: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 3: Learning

BasicsLanguage & FrameworkModels/QuerySetsViewsAuthTemplatesTesting

Page 7: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Language & Framework

Python: basic modules, languageDjango: basic framework features

Python: standard library, collections, itertoolsDjango: DRY, contrib, utils, features, docs

Python: internalsDjango: deep knowledge of 3rd party lib ecosystem

Page 8: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Models/Querysets

Build basic models, relations

Query Performance, table structure, usage patterns

Deep profiling, extra/raw SQL, alternative ORM

Page 9: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Views

function views

specialized Class-Based Views(CBV), mixins & generics, forms, uploads

exotic content-types, API views

Page 10: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Auth

local passwords

OAuth, JSON Web Tokens (JWT), API keys

exotic 3rd party providers/endpoints

Page 11: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Templates

basic syntax: blocks, tags, context, extends, includes

building templatetags, filters, context processors

incorporating 3rd party engines like jinja2

Page 12: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Testing

No tests (oh noooo)

Nose

Jenkins, Continuous Integration, git integration, etc

Page 13: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 3: Learning

BasicsLanguage & FrameworkModels/QuerySetsViewsAuthTemplatesTesting

Not-So-BasicsDatabases3rd party data sources/APIsRESTful APIsTasks & EmailNoSQL and Alt. BackendsHosting/Deployment/AssetsSearchFrontend

Page 14: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Databases

Basic setup (create, drop, auth, etc)

Query optimization, caching

Routing, replication

Page 15: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: 3rd Party Data Sources/APIs

Basic requests using 3rd party libs

Deep site integration, error handling, tests

Streaming, high-performance and/or async integration

Page 16: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: RESTful APIs

returning JSON responses

using basic REST framework (Django-REST-Framework, etc)

Advanced REST interface w/custom auth, api keys, etc

Page 17: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Tasks & Email

synchronous

async w/RQ

async w/Celery or Amazon SQS

Page 18: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: NoSQL & Alt. Backends

None

memcache, redis

MongoDB, Cassandra, PouchDB, DynamoDB, Kinesis

Page 19: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Hosting/Deployment/Assets

Local only, or Heroku w/effortless setup

Production system, manual setup (gunicorn, nginx, local storage, fabric)

Production system, scaled bigtime (uwsgi, nginx, shared file storage, CDN, CI)

Page 20: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Search

Database queries

Whoosh (python solution)

Solr/Elasticsearch/Cloudsearch (externally-hosted solution)

Page 21: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Learning: Frontend

Basic HTML/CSS/JS

Bootstrap or Foundation, jQuery

Sass, Angular/React/Ember/Backbone, Grunt/Gulp

Page 22: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 4: Specialties

Page 23: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 4: Specialties

• DevOps• Big Data• Machine Learning• Web Scraping• GeoLocation• AWS & Cloud

Providers

• Social Networks• Real-time Apps

Page 24: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 5: Getting The Job

Page 25: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Section 5: Getting The Job

• Review job requirements• Resume• Interview• Negotiation

Page 26: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Getting The Job: Job Requirements

• Ignore the BS filler requirements• Focus on core technologies they use• Come prepared to talk about their

requirements• Prepare questions in advance. Their

business model, their tech, their goals, their past employees

Page 27: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Getting The Job: Resume

• Focus on real-world, production usage of your skills, technologies used, APIs

• (But doesn’t have to be commercial)• Tune resume to highlight the exact things

they asked for, using the words/phrases they used

• Update your LinkedIn

Page 28: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Getting The Job: Interview

• Ask what is most important to the, then speak to those points

• Talk about overlap: needs/experience• Familiarity with tech landscape as a whole• Push back against riddles, quizzes, “gotcha”

questions, things that don’t reflect real-world challenges

Page 29: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

Getting The Job: Negotiation

• Don’t feel guilty about money. Companies won’t feel guilty about asking for overtime.

• Research comparable job positions, then ask for that much (at least). Bring examples.

• Research their funding beforehand, in case they claim to be broke

• Slightly overcharge so they can negotiate down.

Page 30: Get Django, Get Hired - An opinionated guide to getting the best job, for the best salary, fast

@MarcelChastain@LADjango

Questions?