Show HN: Simple and elegant Markdown-based resumes
github.com
github.com
A service kindly provided by the European Centre for the Development of Vocational Training [2] a European Union's agency.
It has a CV builder and outputs an standardized PDF that can even be fed back into the builder for further updates.
It is a joy when going through a pile of CVs to read the ones built by that tool, makes the job a lot easier because it allows the applicant to focus on the relevant data instead of on the layout. Better for the RH, better for the applicant, win win all around.
Maybe it varies from location to location or with the area of expertise but Europass are pretty much ubiquitous around here.
EDIT:typo
Europass is awesome. Perhaps not perfect but the original aim was to have a standard format for the EU and leave behind all the local national rules of how-a-cv-is-expected-to-be.
Also, I can't help to think that you must suck as a recruiter/interviewer if you draw conclusions from the tool that the applicant used to generate a CV, rather than by its contents.
Mainly because it's really easy to piece together history, and gaps in history, or overlaps. The 80% I mention is because of these gaps and overlaps.
While my own CV isn't exactly Europass formatted, I make sure I eliminate any questions a CV reader would have in their first 2 minutes (having some kind of timeline makes this easy, as Europass do).
use the STAR system : Situation, Task, Action, Results
While I was part of the Transport Team I reviewed the delivery schedules by analysing historic data in Excel. I was able to reduce transport costs by 10% per year and increase utilisation by 3%.
Don't be afraid of : we found that there were no improvements possible which resulted in no extra spending for the coming year.
- Where We Were - Where We Needed To Go - How We Got There
A variation on this:
Visualize being on one side of a chasm. Describe this side of the chasm, emphasizing the bad stuff. Describe why we want to go to the other side, emphasizing the good stuff. Describe the chasm, emphasizing how deep, wide, and impassible it is.
Now describe the bridge you built, your role in building it, challenges you faced, &c. But always start with describing both sides and the chasm. You can use any format you like for describing the bridge and your role in building it, the important thing is that the reader has the chasm firmly fixed in their midn while reading about your accomplishment.
How do you use STAR to not make that sound bad? I think I currently say I delivered the projects on time and on budget and talk about what I was responsible for, and I know I personally gained a lot of experience from the projects, but every time I see STAR suggested, I'm like "Well, if I did that, I'd basically have to say that my work resulted in the company losing money and ultimately folding."
I get plenty of attention for my resume as it is, it just always bugged me when people suggest STAR as if it's the only way to write a job description on a resume.
When I replaced the VP of Engineering at BloatCo, it had 4,000 engineers, producing a mediocre social media product that was roundly criticized for such failures as being unable to edit posts and having no control over online harassment.
Task:
Cut costs and get the product and feature pipeline flowing.
Action:
Implemented a thorough review of functional teams, engaging both front-line management and customer representatives to distinguish the individual and practices that were delivering value from those who weren’t.
Established a customer council, including social activist and freedom of speech advocates, to advise on anti-harassment policies.
Result:
After a painful transition lasting two quarters, we are reviving public kudos on new features and our reputation as a tool for scumbags has been turned around.
Our burn rate is down by 40% in engineering, proving that sometimes, you can cut costs and increase production.
post scriptum:
Alas, this did not increase any advertising revenue, so the company was sold to Yahoo, who fired me and are rewriting everything in Perl 6. But fixing those problems were outside of the scope of my authority.
but ok, stick with "i was responsible for a failed product"
But as far as I know, most employers don't care too much to see something like "I didn't really help the business make money, but I learned a lot while I was there!"
So instead it's more like "Lead team of X people in the development of {{productName}} using {{technology}} for {{platform}} on time and on budget."
Which is fine, but it doesn't seem to really fit in with STAR so well, especially the "R = Result" part.
One of the things I liked about jsonresume is I could separate the data from the layout.
My CV (I think that's what you're all talking about - took a little while to work out you weren't actually resuming anything) is in LaTeX format. Places regularly got confused with being sent a PDF, and demanded Word instead, so I would just convert each page to a bitmap and load into a Word document as an image. Inelegant, but functional.
Back in the days when I was applying via job agencies, I even had one complain that there was something "wrong" with my Word document, as they couldn't work out how to edit any of it. I told them I thought that was a feature, not a bug.
Also you can do some basic conversion from Tex to word using pandoc http://pandoc.org/
He had completely re-written huge chunks of my previous experience, changed the order of things to make me look like I had experience in areas that I definitely did not, and countless other minor changes. I couldn't believe it. His native language was definitely not English, so all of his changes had horrible spelling and grammar mistakes peppered in.
In the end I got the job, but only one other person had applied besides myself and the government agency the job was for desperately needed a body to fill a seat so I was kind of hired by default. Ended up being a crazy mess of a programming shop that I brought a bit of order to before leaving.
Even if you make sure your CV is a work of art, there's no guarantee it's going to be received in that state.
I usually keep mine in straight .txt format. If that doesn't work, I move on. I've usually investigated a number of places I might consider working and things like this help me narrow it down further.
For the vast majority of people posting here, we're working in departments that have nothing to do with HR, and HR's ability to read PDF files has no bearing on our (potential) boss's ability to read PDF files.
If one can choose, I guess that is one of the most important signals.
The golden rule I stick to is your CV (excluding detailed work history) should fit on one page. I'm not sure this supports this.
http://theundercoverrecruiter.com/cv-vs-resume-difference-an...
From my experience in the US, most two page resumes can be consolidated down to 1 page. Remove the soft skills like good listener and quick learner, and other extra cruft most soft skill resumes have. A good rule of thumb is 1 page for every 10 years of experience.
I got just got a generic rejection email. I am now wondering if it was a big mistake to use two pages, because whoever scanned my resume didn't even make it to the second page. I would be glad if someone with insight into the recruiting process at big tech companies could confirm that.
No offense, but I think it's common-sense that people will start reading from the beginning of the document, and a really popular company like Google is going to have at least hundreds of resumes to scan.
Markdown is cool, but as scrollaway said,
> JSON Resume wants to standardize CV fields to improve compatibility between tools, ease conversion, ease theming and such.
In fact, we have a notion of "themes", and this sort of markdown-based format can be generated from your JSONResume. We think that JSON is a saner default interchange format than markdown.
If you've been following JSONResume development, you might have thought the project died, but myself, along with @aloisdg and others are reviving it and working towards a stable v1.0.0 release. Feel free to suggest changes and make PRs :)
There is a demo w/ live preview that displays the markdown with Bootstrap css. Here's a screenshot, http://imgur.com/qCM0yo2
The author provides a gist that shows the markdown displayed in GitHub's css, https://gist.github.com/awalGarg/a8e97b27b249f2c94f8e
The grey borders/lines, they need to go. They serve no purpose.
Contact information goes on top, not buried under the profile.
Technologies, can go after the "job description". It makes sense to list them in relation to the jobs though.
Know one cares how many time your project was stars or forks your project has. If that was relevant they would have contacted you :) Just link to your GitHub/Bitbucket/whatever- page.
Writing and favourites can go, unless you a famous blogger, but then I would just list it as a job.
The entire resume takes up to much space. It's country specific, I know, but I think it needs to fit on one A4 page.
Personally, I just don't like the layout, sorry.
Completely agree. While I think it is fair to put a bit of blame of Github's bad rendering (the same markdown looks much better in stackedit's rendering, for instance [1]), but I'd still see how can I preserve the grouping without blockquoting things.
I can see the reasoning for rest of the points as well, but to each his own :)
[1]: https://stackedit.io/viewer#!url=https://gist.githubusercont...
Link to that one as the example then ;)
I think it's down to different markets wanting different things. A cool project, but maybe not so useful, would be a resume generator that from one data source (in Markdown perhaps) could generate resumes in the "correct" form for Europe, India, the US and so on.
I assume you mean "no" instead of "know".
But more on point, are you sure this is true? I have heard many companies (Google is one) look highly on projects you made which are very popular.
Do check your local laws for retention of resumes / applications before throwing it away.
I think even the joke JSON resume was easily to parse and the JSON format wasn't intended to be human readable / editable.
Recruiters, not developers, generally read resumes. They are not used to reading JSON and it is hard for them.
It's actually quite sound: JSON Resume wants to standardize CV fields to improve compatibility between tools, ease conversion, ease theming and such.
It's a joke because it sounds good on paper but the execution is awful. I tried it out and the resulting CVs are look completely unprofessional, except they took three times as much effort.
I don't really understand what part of it constitutes a "joke".
I got all my data in there, although I found the schema to be very limiting. Then I went through 50-70 themes and none of them actually looked good when exported as a PDF or something you can email to someone else. Note to theme creators: 30px padding everywhere does not look good and makes things harder to read.
I could have customized a theme to fit what I wanted, but the schema was garbage. At that point, I might as well toss the schema and generator and implement my own resume template using something like Underscore, but it was a lot simpler to use Word.
- It is hard to scan. Often times a recruiter will be scanning through 100+ resumes. The fact that it doesn't follow the 'standard' format of resumes makes me have to break out of my usual pattern of how I'd scan a resume.
- I don't care about what you're reading. Sorry but it's true. I kind of don't care about your blog posts. I'm not going to click on the links though. I might if you make it past the initial screen.
- I do like the skill sets under each job. That's handy. I don't care for 'favorites'. Just tell me what you know how to do preferably in a more concise manner.
- Don't give me three emails on how to contact you. I'm a tired stressed out recruiter I don't wanna play a game on which email I think you'll respond to.
"Don't make me think" is just as valid as it is for hiring as it is for web design. Help the recruiter make the case as to why you're a great hire. I don't think that the non-standard formatting helps with that.
Since my impression is that a good developer can deal with any situation necessary, I never understood the laundry list of technologies way of fitting a candidate to a "good hire."
We know this is the reality of recruiters. Maybe on HN do a better job of selling the industry of tired, stressed, people that don't care working to fill a slot.
Well, if you're expecting anything else from a recruiter being send your resume you'll be in for a hard surprise.
The inverse is "I couldn't put in the time to make my CV tidy and intuitive, but you'll have to soldier thru it, because I have the mistaken opinion that I'm a unique snowflake and you don't get hundreds of them".
In fact, "don't make me think" is a GREAT advice for anything you want others to read/try/adopt/buy.
http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/032134...
>Since my impression is that a good developer can deal with any situation necessary, I never understood the laundry list of technologies way of fitting a candidate to a "good hire."
Even if a good C++ game developer could switch to Javascript front-end development if needed (to give an extreme example), the time it takes to have them familiar with the relevant stack is better spent hiring someone already familiar. And, it's kind of obvious -- both can be just as good. It's just the second is also ready to hit the ground running on the stack a company uses.
And, of course, just because someone "can deal with any situation necessary" doesn't mean they'd like to. Some programmers like to program in X or Y languages (or language families), others like building Z or K kind of programs.
Just because someone could switch from Haskell to Ruby or from scientific programming to CRUDs doesn't mean they'd also like to. In this case the "laundry list" serves as a way to match hires that are interested in the specific things the company works with.
So while my knowing them is definitely valuable, I need some way to convey, "hey I know Ruby, but no I don't like Ruby and I wouldn't accept a position that was primarily Ruby." ("Favorite" isn't a good word for that, but that's the intent I'm needing to convey.)
If you haven't, it is very very hard. You simply don't have time to dive deep, figure out a person's unique value, and determine whether they could be a good fit.
Therefore, usability becomes very important. The candidates who give a recruiter the information he/she needs in the shortest amount of time possible will rise to the top.
Reviewing resumes is mind numbing work predicated on an already broken model. That's by there is so much opportunity in recruiting and why we are starting to see startups that are changing the recruiting industry. Since the skill involved in crafting the perfect resume is a poor predictor of the skill involved in writing software, we are seeing initial screenings based more on job tasks.
Regarding the technologies other folks answered this already. If you have a candidate that can hit the group running rather then having to get up to speed that can be very valuable. I'd imagine even more so due with a startup where you have a limited runway and a need for agility.
Example:
What inference should I draw when you say "I know X, Y and Z, but my favorite is Z"? I need someone who is good at X.
Q: Should I call you? A: I have enough drama, next.
Example:
You point out that you're reading Donald Trump's autobiography. I'm a member of one of the many tribes the Donald has a problem with.
Q: Will I associate you with him? A: Probably.
Example:
You give me three emails. I need to contact you.
Q: Which one should I pick? A: "None of the Above"
Writing that "list of words that constitute all the things I know" has always been the most difficult for me, and I'm never quite sure what people are looking for, or what kind of assumptions they're making about it (e.g. I should hope it's obvious, given my resume, that I can use the command line. Do I really need to say that? Should I break out 'tangentially-related programming skills' into a separate list? I have no idea!)
Put the skill you used in the description of the job:
- Developed integrated reporting tool using CouchDB.
then in you list what your proficient at. I hate the skills section too, but its definitely helpful.
And you should care about my favorite technologies, else you're going to call me for a job in Flex or Struts because I worked on it a few years ago and waste your time.
Now, it's worth me pointing out my PL/SQL experience because some places are working on old and new technology, and my fluency with diverse technologies is a competitive advantage, but favorites should matter to you.
To be honest I'd have favorites go either in an executive summary in the top or a cover letter, not a resume. I'd mention like I'm really excited to work at XYZ because of your use of a React.JS combined with your Fortran to JS transpiler, in fact I worked on this project that uses that Fortran->JS program when I was at ABC company.
You bring up an interesting point how the needs of a recruiter(internal or external) are different from a hiring manager in terms of detail/information.
Someone calling their own creation elegant. I just found it weird. Like someone saying "I made this good game". Of course that's what you would (should) say to the customers, but here it doesn't fit somehow.
From a markdown source file it produces a pretty clean PDF/html version of my resume and can choose from multiple preset styles.
Markdown also has the benefit of giving you an up to date plaintext resume. I like that a lot, considering a lot of job sites like to automatically (and poorly) convert PDF into plaintext.
(1) Render with https://github.com/joeyespo/grip (with a few minor CSS tweaks)
(2) "Print" to PDF with Chrome
The documents it produces are quite sober, but I find it works very well.
https://github.com/tomholford/html-resume-template
open to feedback and PRs :)
As an accessibility obsessive, I really don't like the idea of using `code` tags for decorative purposes.
Back in 2012 I asked @gruber on twitter if he thought it was ok to submit a resume in markdown, his response was:
"For the right kind of job, I’d wager it’s an advantage to submit in Markdown."
While almost no one accepts .html as a resumé format and it's difficult to convert to .pdf or .docx seamlessly, it works pretty well for converting to .txt for some job applications.
I've thought about making a simple resume builder for this format.
Granted, the type of CVs I usually look through are for a slightly different skill set but I believe the same reasoning applies.
Any HR department that relies on automated tools, that only reads resumes that match a profile dictated by the needs of an automated reading machine, isn't doing its job. If they are getting too many useless resumes that they need robot to read them, they need to better describe the offerings and/or broadcast to a more focused audience.
Announcing jobs to everyone in the world and sifting through the millions of applicants with a machine might make you feel good, it might make you think you are finding the diamond in the rough, but in reality you are selecting candidates almost by lottery.
I spent month on Crossover for senior position: 3 days for test case (dumb but large), then waiting for interview, then again waiting for interview, then interview with a middle which asked me questions "Do you know singleton pattern? Do you know factory pattern". Then they refused me because "unit tests are failed" :-/ I just wrote to my colleague that I am free and got hired. It took about 1 minute. Difference in hourly rates (after taxes and bank commissions): about $1.
Will I try to use Crossover again? Never. It is too expensive for me.
As for this specific case, note that the user still would write stuff in sections detailing his/her profile or experience/education etc (which all take markdown as is). The app only really helps with generating the markdown in a pre-structured format, which is easy to edit as well.
I will add a url in the readme as well, thanks!
The key to a great markdown-based resume is the subsequent styling, writing lists and headings in markdown isn't a big issue. That's where the other markdown-resume generators break down, I simply did not like the styling and did not want to change all the CSS myself, at the time, needing something decent quickly.
Be careful not to use REM for font-sizes as @Print ignores them, if you must (and obviously I/Brain must) you could get around by using % (so 1.5 REM -> 150%). Make sure to set font-size on both body and html.
Also, not sure how to explain it, but if you open up a PDF in Preview, and select print. You might get a different size/layout and some design issues there. So always double check, but be careful not to use the Printed (Saved from Preview.app) as it disables links.
Don't spend any time on CSS transitions, as a PDF won't show them(?) (yep, sigh)
Also watch out for printers adding margins both top/bottom and sides.
Markdown or WYSIWYG? Or both somehow?
Git for source control? Or versioning and diffs like wordpress?
Themes? Purely css or something more, less secure? How would you want to host it and customize it?
Would you want any social features besides roles and permissions? Such as quoting content from others, or pingbacks or something?
Finally, generate static files or just cache heavily? I think the latter is better but a script can exist to generate the former on environments where caching infrastructure isn't very robust.
Comments - here I would just say use third party javascript based stuff and plop it on the page.
It's kind of related to this post but I have built a framework where I could probably make a blogging app like Wordpress in a week.