This is automatic compiler of your working experience journal into standardized CV for Software Engineer and related positions.
Install GIT LFS or make sure it is already installed.
Clone current repository.
git clone https://github.com/ultrablox/cv_compiler.git
Install docker according to official instruction and make sure service is running.
Compile Sample CV, which journal is in cv_compiler/sample_input.
# export INPUT_DIR=$(pwd)/../my_cv/data
scripts/generate.sh
> ls out/
bruce_wayne_CV.pdf
Create a textfile with vacancy description. Then run
src/extract_skills.py test_data/vacancy.9.txt > test_data/vacancy.9.txt.skills
Adjust output and improve DB with links if some skills are missed.
In order to create relevant CV for given vacncy:
INPUT_DIR=../../my_cv scripts/generate_projection.sh test_data/vacancy.9.txt
In order for adopt CV to vacancy, currently following onthology is used. It can be extended in /data/base.
Write Exprience Journal with following structure:
journal_dir
│-- data.json
│-- lead.txt
│-- sci_publications.bib
│-- pop_publications.bib
│
└───img
│ │-- project_logo1.png
│ │-- company_logo2.svg
│ │-- ...
For the reference look to the default example.
Journal (journal_dir/data.json') is written in JSON with a few sections:
{
"personal" : {
"..."
},
"contacts" : {
"..."
},
"education" : [
"..."
],
"skills" : {
"..."
},
"special_skills" : [
"..."
],
"projects" : [
"..."
],
"employments" :[
"..."
],
"conferences" : [
"..."
],
"traits" : [
"..."
]
}
{
"email" : "bruce@gmail.com",
"skype" : "bruce",
"phone" : "06-12345678",
"residence" : "Endhoven, Netherlands",
"linkedin" : "https://www.linkedin.com/in/yuri-blokhin-01688a78/",
"languages" : [
"English (advanced)",
"Chineese (native)",
"German (basic)"
]
}
Here you can add special data about referencing further skills - it's full name and your attitude (when you like mentioned technology, or don't want to use it anymore).
"ML" : {
"attitude" : "negative",
"full_name" : "Machine Learning"
}
This is basic unit of your experience. State here the projects you weere involved in, skills that you gained and tasks with your achievments. Show that you really did something.
{
"name" : "Photoshop",
"icon" : "photoshop_project.png",
"period" : "01.09.2015-30.08.2016",
"description" : "Raster graphics editor",
"team-size" : "9",
"web" : "https://www.adobe.com/products/photoshop.html",
"tasks" : [
"..."
]
}
I strongly recomment to include project logo into each project. Tasks that you did within the project must contain period, skills and achievments.
{
"description" : "Development of text-recognition filter from raw image",
"period" : "01.09.2015-28.02.2016",
"skills" : ["CI", "C++", "ML"],
"achievements" : [
"achievied recognition accuracy up to 85%"
]
}
This is a list of your work history. If you worked in well-reccognised company - I strongly recomment to include company logo into the records.
{
"name" : "Google Inc",
"logo" : "img/logo_google.png",
"description" : "search engine",
"role" : "Software Engineer",
"location" : "Zurich, SZ",
"period" : "01.09.2016-30.08.2017",
"web" : "https://www.google.com",
"projects" : ["Google Drive"]
}
Make also references to the projects that you worked on in this company.
Compile Sample CV, providing it path to the journal_dir folder:
cd cv_compiler/scripts
INPUT_DIR=$HOME/Documents/journal_dir ./generate.sh
I appreciate any form of feedback, that helps me improve the project. You can do it in form of Pull Requests or Issues.
If you like the project, and want to credit the author - leave the QR with link to this page in your CV - so more people can know about it. If for some reasons you want to get rid of the QR, use --no-watermark parameter:
./generate.sh --no-watermark