How can I improve my odds of being hired for an engineering role?
Use Grammarly to check your resume, cover letter, and all emails. We consistently find that engineers who write error-free emails and resumes tend to write error-free code.
Show us a personal project
If you haven’t done so already, invest six hours creating a personal project that shows your Python ability. Host this code in an open source repository on GitHub, Gitlab, or elsewhere. Share this link with us when you apply.
Your code should be hosted on the cloud and the end result should be something a user can play with. Miguel Grinberg wrote an excellent Flask tutorial, which outlines how to build a flask web app with a SQL backend, and explains how to host it on Heroku.
Google App Engine, AWS Elastic BeanStalk, and Heroku are great hosting option. We use AWS Chalice.
Your project could be something as simple as a blog that's hosted on Heroku, with a SQL database on the back end. What's important is that your grandmother could play with it. Generally, anything in a Jupyter notebook does not interest us. We're looking for full-stack developers.
Write complete code
Details matter. Your project should have the following:
Google-style docstrings for every function
Docstrings to the top of each module
A readme.md file which uses Markdown properly and explains how to use the code. Check this with Grammarly.
A requirements.txt file
Prepare for the technical interview
You will undergo a technical interview that measures your skills in Python. We’re measuring you on style and clarity. To prepare for your interview, we recommend the following:
Write idiomatic pythonic code.
Interns must have an intermediate knowledge of Python. You're expected to know all features of the language shown in sections 1 through 9 of the official Python this tutorial.