get django, get hired - an opinionated guide to getting the best job, for the best salary, fast
TRANSCRIPT
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
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
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
Section 3: LEARNING
Section 3: Learning
BasicsLanguage & FrameworkModels/QuerySetsViewsAuthTemplatesTesting
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
Learning: Models/Querysets
Build basic models, relations
Query Performance, table structure, usage patterns
Deep profiling, extra/raw SQL, alternative ORM
Learning: Views
function views
specialized Class-Based Views(CBV), mixins & generics, forms, uploads
exotic content-types, API views
Learning: Auth
local passwords
OAuth, JSON Web Tokens (JWT), API keys
exotic 3rd party providers/endpoints
Learning: Templates
basic syntax: blocks, tags, context, extends, includes
building templatetags, filters, context processors
incorporating 3rd party engines like jinja2
Learning: Testing
No tests (oh noooo)
Nose
Jenkins, Continuous Integration, git integration, etc
Section 3: Learning
BasicsLanguage & FrameworkModels/QuerySetsViewsAuthTemplatesTesting
Not-So-BasicsDatabases3rd party data sources/APIsRESTful APIsTasks & EmailNoSQL and Alt. BackendsHosting/Deployment/AssetsSearchFrontend
Learning: Databases
Basic setup (create, drop, auth, etc)
Query optimization, caching
Routing, replication
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
Learning: RESTful APIs
returning JSON responses
using basic REST framework (Django-REST-Framework, etc)
Advanced REST interface w/custom auth, api keys, etc
Learning: Tasks & Email
synchronous
async w/RQ
async w/Celery or Amazon SQS
Learning: NoSQL & Alt. Backends
None
memcache, redis
MongoDB, Cassandra, PouchDB, DynamoDB, Kinesis
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)
Learning: Search
Database queries
Whoosh (python solution)
Solr/Elasticsearch/Cloudsearch (externally-hosted solution)
Learning: Frontend
Basic HTML/CSS/JS
Bootstrap or Foundation, jQuery
Sass, Angular/React/Ember/Backbone, Grunt/Gulp
Section 4: Specialties
Section 4: Specialties
• DevOps• Big Data• Machine Learning• Web Scraping• GeoLocation• AWS & Cloud
Providers
• Social Networks• Real-time Apps
Section 5: Getting The Job
Section 5: Getting The Job
• Review job requirements• Resume• Interview• Negotiation
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
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
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
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.
@MarcelChastain@LADjango
Questions?