• David Swanagon

Optimize your Resume using Python and LinkedIn SEO

Updated: Oct 15, 2020

"If you follow a structured process, the right role will come to you,

(because YOU) are the right person for it."


#Python #BeautifulSoup #People Analytics


During these unprecedented times, job seekers are scrambling to update their resumes. Though most professionals have a general idea, few are familiar with the analytical tools needed to optimize their resumes. This includes job description analysis, LinkedIn profile assessments, web scraping and Python automation.


Overall, the ability to land your resume in front of human decision-makers is critical. Given the volume of recent applications, it's crucial that candidates understand how data analytics influences the hiring funnel. Using the below steps, job seekers can improve their chances at securing an interview. This includes individuals at all career stages, from recent college graduates to experienced professionals.


Step 1: Employ Python's Beautiful Soup to Scan Job Descriptions


For job seekers, it's important to remember that everything on the web is a data-point. However, navigating through the volume of job descriptions and LinkedIn profiles can make designing an accurate success profile difficult. This is where Python's "Beautiful Soup" package becomes useful. Specifically, this feature allows programmers to scrap HTML data from websites. If coded correctly, users will be able to automate the process for reviewing online job descriptions, skill trends and global benchmarking studies. Think of it this way. Instead of searching through job requirements 1 by 1, you can use Python to pull all of the posted descriptions for your target industry. From this data-set, you can consolidate the findings into an SEO cluster telling you the required work experience, skills, certifications, and industry contributions that are needed.


Coding Process:


- Import Request, Pandas and bs4 (use PIP install if they are not already loaded)

- Download the Chrome WebDriver

- For the website you're scraping, identify the HTML anchor element

- Once you collect all of the HTML columns, append the extract to a data frame

- Use a FOR loop if you need to extract multiple web pages

- Send your data collection to a .csv file


Coding Tip: Make sure to convert listings into line items before creating the .csv file. Once you have the data-set, upload the file into Tableau and consolidate the individual job descriptions into skill and experience clusters (available in the charting features).


Step 2: Utilize a Structured Process


Unfortunately, most job seekers rely on a basic approach to identify future roles. This includes searching LinkedIn and job posting boards. In addition, candidates reach out to industry recruiters and professional colleagues to inquire about opportunities. Though this works at times, the approach doesn't allow the applicant to take full control of their career progression. Ultimately, your next job opportunity shouldn't be decided by chance or position availability. If you follow a structured process, the right role will come to you, (because YOU) are the right person for it.


Research Stage:

  • Identify your target industries, including a primary and secondary choice.

  • Use data-science to evaluate the job descriptions within your targeted industries. A web scraping tool (Python) can assist with automating this process.

  • Determine your top 15 companies by focusing on the top 5 competitors, top 5 buyers and top 5 suppliers impacting the industry's operating model.

  • Conduct an Organization Network Analysis (ONA) evaluating the LinkedIn profiles of key influencers within your industry, identifying their preferred skills.

  • Identify branded experiences that are important to your industry such as marquee companies, schools, professional societies and social networks.

Design Stage:

  • Consolidate web-scraping data into actionable insights by uploading the skill requirements into Tableau. This will help you develop initial clusters.

  • Weight clusters based on whether the job description is associated with a branded company and/or a key LinkedIn influencer.

  • Conduct a gap analysis looking at whether you're missing critical elements that have been identified during the research stage.

  • Build out the candidate's online presence by making branded connections with key influencers, podcast/online platforms, and professional societies.

  • Design a Resume that captures as many branded experiences as possible.

Key Tip: remember, landing an interview is only the first step. As such, it's important to craft your CV achievements to align with competency-based, behavioral and technical interview requirements. This will make the Q&A easier, as candidates can easily reference accomplishments during the in-person dialogues. .


Rollout Stage:

  • Establish introductions with key influencers before approaching them about a particular role. Ideally, this is done by creating an online professional brand.

  • Once a targeted role has been identified within the candidate's Top 15 companies, it's important to follow a sequenced approach to resume introduction.

1) seek out professional contacts within the company;

2) connect with key influencers and talent acquisition leaders;

3) apply online using the ATS system (this should only be done as a last step).


If you've conducted the proper research, job seekers should be able to identify an influencer to send their CV to, versus relying on an ATS ranking system. Separately, ensure your programming methodology is rigorous and accounts for job posting and LinkedIn profile updates. Ultimately, the quality of your success profile will be based on how accurate your data-feeds are (this step should be fully automated).


Step 3: Conduct an Organization Network Analysis


Another important data-science step is organization network analysis (ONA). Specifically, you can utilize the data extracted from the web scraping exercise, combined with the information obtained from LinkedIn to understand who the key influencers are. Overall, identifying which people are making the hiring decisions is critical in designing an effective success profile. This includes the upload to the Applicant Tracking Systems (ATS), alongside the external recruiters being sourced for important job postings. Once you identify the key influencers, it's important to weight their career experiences higher than the normative set in your web scrap. That way, your resume optimization is based on the skills the key influencers care about.


Step 4: Be Smart about how you extract data from LinkedIn


This platform is cautious about data scraping and automated bots. The platform has rules on how many users data scientists can pull data from, alongside the speed at which certain programs can run. As you design your scraping methodology, you need to be careful that your process follows the established guidelines. Otherwise, your user profile could be deactivated. That said, if your bot is programmed correctly and aligned with extraction protocols, you shouldn't have an issue conducting your key influencers assessment. This is especially true if you focus on the Top 15 companies, which includes your top 5 competitors, top 5 buyers and top 5 suppliers.


As part of this, remember to follow the 80/20 pareto principle. This law states that roughly 80% of the work is accomplished by 20% of the employees. Therefore, if you're an executive looking to land a senior role, focus your LinkedIn analysis on the top 20% of the profiles within your target industry. By doing this, your bot program will easily extract the required information, without causing problems on LinkedIn.


Step 5: Triangulate the Position's Success Profile


Once you've completed your Python web-scrap and LinkedIn profile analysis, the next step is to triangulate the findings. As stated previously, it's important to take all of the data you obtain and cluster the information into skill requirements. This includes incorporating branded companies, schools and professional societies that key influencers care about. Ultimately, these are the folks making the hiring decision. As such, it's important to design your resume in a way that aligns with their expectations.


Data Science Tip: The weighting process is important. Creating a bot to pull information from the web/LinkedIn is useful from a programming perspective. However, the real value comes from consolidating the results into useful themes. To succeed, job seekers must identify the key influencers, extrapolate which skills and branded experiences that matter, and then articulate how their background aligns.


Step 6: Build your online brand presence using Bots


The last step is also the one job seekers should complete throughout the year. Specifically, all candidates need to take meaningful steps to increase their online brand. This includes connecting with key influencers, participating in podcasts and industry events, and serving as SMEs for professional societies. Overall, the more meaningful content an individual develops within their domain, the easier it will be for recruiters to find their profile. From a bot perspective, it's straightforward to design a program that automatically connects with LinkedIn and enrolls your profile in groups.


For more information, please check out my YouTube channel (David Swanagon) for free content on people analytics and resume optimization. If you'd like to take the next step in your career, please book an initial consultation. I'd love to help you land your next great role using data science and our expert HR coaches.