In this post, I will mention about my current personal project that I have been using to manage and organize my job application process. Name of this project is "Automatic Cover Letter Generator & Job Application Tracker & Active Contact List Manger (3 in 1)". Automatic Cover Letter Generator (ACLG) part automatically generates Cover Letters, Job Application Tracker (JAT) part helps me out track and organize my job applications and Active Contact List Manager (ACLM) part helps me build my own customized contact list. All of the three parts are good helpers for any job seeker.
MOTIVATION
1- Automatic Cover Letter Generator
As a widely accepted analogy, a resume is like an ambassador to your potential employer; a cover letter is like a bridge between your resume and the employer to introduce you and your resume. As a matter of fact, your cover letter is your very first contact with your potential employer.
Knowing the importance of a cover letter, a job seeker should better write a cover letter. As a job seeker, you take your job very seriously and you decided to write cover letter along with your resume.
After writing 5-10 cover letters, one should easily observe that some parts of your cover letter repeats itself and you continuously copying, pasting and replacing some parts for each of your application.
If you repeat some patterns while writing cover letter, why not automatically generate those parts?
2- Job Application Tracker
Nowadays, there are many famous (international and local) job posting and finding platforms like: LinkedIn, Indeed.com, Monster.com, Kijiji.com etc. Usually, when a position is available in a company, job is posted to all of these platform at the same time to be able to reach available best candidate. Plus, the same job post might be available in company's own website. Plus Plus, one of the recruiters of the company might accept job applications through email.
As a job seeker, you might use many of these channels to get your dream job. The important point here is you should be careful and consistent. Although you are indeed a consistent people, you might seem to your potential employer as contradicting to yourself just because you are not well-organized and well-prepared while applying for jobs. Consider a candidate who uses every job finding platforms and applies for the same job at different dates with different and contradicting resumes and cover letters. If you are not tracking and following up your job applications in an organized manner, this contradicting candidate would probably be you at the end of the day.
Remedy to this issue is a tool (maybe an Excel file) that keeps tracks of job application attributes such as: Application Date, Application Platform, Contacted Hiring Manager, Company Name, Job Type, Salary, City etc...
3- Active Contact List Manager
Surveys reveal that 85 % of all jobs are landed through networking [1]. That's why you should build your own professional network and active contact list. Question comes... Where will I build my Active Contact List? In my phone together with parents, friends, restaurants... In my email together with promotion and spam emails... In my LinkedIn account... In social media accounts... Or use all of them in a scattered way... I don't know which method you choose but my idea is to keep them all together in a single environment in a customized way.
INTRODUCTION OF TOOL
The main form consists of 4 regions, namely (i) Common Data Entry and Display Area, (ii) Job Application Tracker, (iii) Automatic Cover Letter Generator, (iv) Active Contact List Manager.
Figure: General layout of Main Form
Figure: 4 regions are highlighted in Main Form
This region is located right in the middle of the main form and used by all three sub-programs for both data entry and data display purposes. Type of controls this region has is Text Boxes, Combo Boxes, Rich Text Boxes and Buttons. Data fields included in this regions are Gender of Hiring Manager, Hiring Manager Name, Hiring Manager Contact Info, Applied Position Name, Company, City, Job Type, Job Reference Code, Salary, Salary Max, Salary Min, Is Response Given?, Is Response Positive?, Is Been Applied, Cover Letter Sent?, Job Find Platform and Explanation.
Figure: Common Data Entry and Display Area
2- Automatic Cover Letter Generator
The logic behind generating cover letters automatically starts with writing little template paragraphs about each of your skills. If any of these template paragraphs mentions anything specific to current application, it is replaced with a predetermined parameter name. For example, instead of mentioning about Hiring Manager Name and Company Name explicitly in a template paragraph, they are mentioned parameters like PARAMETER_HIRING_MANAGER_NAME and PARAMETER_COMPANY_NAME so that they could be replaced by real data of current applications easily at the instant of application.
Figure: Automatic Cover Letter Generator Area
Each check box in this region corresponds to a template Microsoft Word file in the project directory (*.docx). According to the checked check boxes, corresponding template paragraphs collected one by one and if those paragraphs contain any parameter, they are replaced with the current value entered in the Common Data Entry and Display Area (CDEDA). After all, a Word document is generated and saved automatically in a folder under project directory when user clicked the button named "Generate Cover Letter".
Folder Name: Company_Position_Job Reference Code_City
File Name: Cover Letter_Company_Position_Job Reference Code_City.docx
Figure: Cover Letter Template Files
Are we done now?
Not yet...
I believe automatizing repetitive tasks in cover letter corresponds to 70-80 % of the job. Now it is time to give a soul to mechanically generated cover letter so that it sounds like a real letter. We may further customize our letter according to the company or applied position and reorder/merge paragraphs if necessary. That completes the rest 20-30 % of the job. DONE !
3- Job Application Tracker
If you are sufficiently professional using Microsoft Excel, you can keep all of your data in an Excel file. I will not discuss here "Microsoft Excel vs Database" issue. The method that I chose to keep track of application is keep all the data related to job application in a Database and query on Database for any property. My preference on Database is MongoDB which is a kind of NoSQL database and I will manage database operations (like Write, Read, Modify, Delete) through C# driver of MongoDB.
Figure: Job Application Tracker region in Main Form.
Typical working cycle is like this: User enters all data related to current job application into CDEDA and clicks and "Write DB" button. Done. Current application is written into DB. After any Write operation into DB, below message box is showed to user.
Figure: Message box after new entry is written to DB.
What if user wants to modify an existing entry? Then user should query on database according to any data of entry i.e. Position name, City, Company etc. User enters a few letter or whole word to related area then clicks on any querying buttons like "Bring by City", "Bring by Company", "Bring by Position" etc.
Example: User wants to query on job applications at Google... User types "Goo" in company field in CDEDA and clicks on "Bring by Company" button. Below form is displayed according to the query results. As can be seen in the below figure, three results are founded according to the query..
Figure: Query Result Form
User selects any of the entries and clicks on "Bring" button to bring the entity to the Main Form
Figure: After an entry is brought from DB
Selected entity is brought from DB and displayed in CDEDA region. To modify any data, user just modifies the data in CDEDA and clicks on "Write DB" button. Since this entity exists in DB, it is modified and below message box is showed to the user.
Figure: Message box after an existing entry is updated in DB.
Figure: Entry showed in Robomongo
Figure: JSON Document for an entity.
4- Contact List Manager
This part is very similar to Job Application Tracker part. Whenever any data changes in CDEDA region regarding Hiring Manager, it is programmatically copied to this region.
Typical working cycle is like this: User enters all data related to current recruiter in ACLM region and clicks on "Write DB" button. Done. Current contact info is written into DB. After any Write operation into DB, below message box is showed to user.
Figure: Message box after new entry is written to DB.
What if user wants to modify an existing entry? Then user should query on database according to any data of entry i.e. Position name, First Name, Company etc. User enters a few letter or whole word to related area then clicks on any querying buttons like "Bring by First Name", "Bring by Company", "Bring by City" etc.
Example: User wants to query on his/her own contacts working at Google... User types "Goo" in company field in CLM region and clicks on "Bring by Company" button. Below form is displayed according to the query results. As can be seen in the below figure, two results are founded according to the query..
Figure: Contact List Query Result Form
Figure: After an entry is brought from DB
Selected entity is brought from DB and displayed in CLM region. To modify any data, user just modifies the data in CLM and clicks on "Write DB" button. Since this entity exists in DB, it is modified and below message box is showed to the user.
Figure: Message box after an existing entry is updated in DB.
Figure: Entry showed in Robomongo
Figure: JSON Document for an entity.
CONCLUSION
Although this is not a too complicated tool, it helps me to manage my job application process a lot. I hope this project would inspire other job seekers. After reading this post, one might could answer following questions: "How to manage my job applications?", "How to build an active contact list?", "How to build up a professional network?", "How to generate/write faster/better cover letter?", "Why should I write a cover letter?"...
TECHNICAL DETAILS
- Programming Language: C# .NET 4.0
- IDE: Microsoft Visual Studio 2015
- MongoDB C#/.NET driver: Version 1.11.0
- MongoDB Version: 3.4.0
- Robomongo Version: 0.9.0
REFERENCES
[1] https://www.linkedin.com/pulse/new-survey-reveals-85-all-jobs-filled-via-networking-lou-adler
ABBREVIATION LIST
ACLM: Active Contact List Manager
CDEDA: Common Data Entry and Display Area
IDE: Integrated Development Environment
IDE: Integrated Development Environment
JAT: Job Application Tracker
ME: Microsoft Excel
MW: Microsoft Word
Comments
Post a Comment