Out of desperation, with $60 to my name and no friends in the beautiful city of Chicago (or the northern side of the US for that matter), I answered a CraigsList ad looking for an Assistant Office Manager at a family-owned trading company where my job would be to answer phones and scan papers. One year later, I’ve become the go-to person for all of their database building, CRM management, and automated account reporting needs. My programming experience started here with 800 lines of VBA code¹, but this is not where it will end.
Thus begins the awful process of job hunting; of cycling between email, Indeed, and LinkedIn, of tweaking your resume until you see commas, of telling strangers about yourself and trying to hide more strengths in the dreaded “What are your weaknesses?” question. You go home feeling slightly relieved that another interview is over, but that quickly fades to anxiety as you try to keep track of all the applications you still need to write CVs for, of the applications you’ve already sent but haven’t heard back about, of interviews you still need to prepare for and of companies you still need to research.
Enter the ChiPy Mentorship Program.
My goal for this wonderful program is to create a solution to this awful problem before I make myself have to deal with it. Prowlrr will be a Kanban-style board specifically designed to help with the job-hunting process.
The idea is that as you move through the process with each application, there will be alerts for reminders and links to things that are relevant at that stage, maybe even a job search function built-in (more on that later).
The minimal product I’m aiming for by the end of this program is a website that allows you to manually enter an Opportunity with the job title, company name, potential salary range, and a link to where it was posted into a “card” that can be dragged through the columns to completion.
The next phase will involve adding deadlines to the cards with the option of having them emailed, texted, and/or as popups in the website. This will also be the first glimpse of the task feature. At this phase, the tasks section will generate a series of “recommended” tasks based on the details from the active cards, such as: write a CV for Opportunities, practice interview questions and research the company for Interview Scheduled, or send a follow-up for Applied and Follow Up Needed.
At this point, I think Prowlrr will be fleshed out enough to stand on it’s own, so I would like to make it more immersive by finally implementing the search feature. The goal is to be able to scrape multiple job search sites at once so that you can “save” an ad to your Opportunity column without having to enter most of the details on your own. So far, a lot of the job-searching headache seems to be taken care of.²
Skills (to Develop)
- Django: Having settled on the web-dev track for the mentorship program, the primary skill I will focus on is Django and I’ve chosen Django as my framework because I appreciate the rigidity and a scalable Flask project will follow a similar pattern anyway.
- Psycopg: Again, for scalability, I will use PostgreSQL as Prowlrr’s database instead of the default SQLite. Psycopg is the connector between Python and PostgreSQL and it allows for SQL-style querying which I’m already familiar with.
- Requests: Since one of the features I want to implement the most is the built-in search feature (because who wants to visit multiple websites), I will most likely have to resort to scraping (within the boundaries of each site’s Terms and Conditions) because the APIs are either hard to gain access to or don’t provide any job querying abilities.
- Testing: Testing is another large area of focus and as such, I’ve decided to use Test-Driven Development With Python as the groundwork for Prowlrr. Eight chapters in and I’ve built a very small site that allows you to manually enter the job title of an opportunity, but it’s the most thoroughly tested code I’ve ever written. So far.
Complete follow through. I run through thoughts and interests faster than a tiger³ chasing after his prey so to combat this I’ve dusted off my red book. It is in this book that I set down goals of the utmost importance, primarily to ensure that I have “No More Zero Days” because when it comes to learning and building, you can only make progress by taking small steps.
I want to thank Ray and Patrick for organizing this season of the Mentorship Program and for giving me this opportunity to learn more about a language I will carry with me throughout my career, wherever Prowlrr leads me.
And of course, all of the gratitude goes to my mentor, Kurtis, for taking on this challenge with me and for being willing to learn the answer to whatever question I throw at him.
Today, I purchased the domain name. #itsofficial
And for the curious: Git Repo
¹ It actually froze your computer for fifteen minutes creating the perfect opportunity for a coffee break. Since then, it has been rewritten into a full-fledged ETL process using Python and the incredible pandas library.
² This is as far as I think will be feasible for the duration of the mentorship program, but I have a ton more ideas that I plan to implement in the following months.
³ My spirit animal.