@ -17,7 +17,7 @@ Almost every domain leverages on technology, hence Software Engineers are needed
Computer Science is rapidly gaining popularity and engineering is a highly-regarded professional career. Unlike the creative industry, you do not have to be the top 1% of the industry to lead a comfortable life. An engineer fresh out of college working at a Silicon Valley company (both large companies and startups) can expect to receive a starting salary of more than USD 100,000 and it just gets better from there.
### Require lifelong learning
### Requires lifelong learning
Technology industry is an extremely fast-moving one. Many technologies used today didn't even exist/were popular a decade ago; in 2009, mobile app development and blockchain were pretty much unheard of. Engineers constantly need to upgrade their skills to stay relevant to the demands of the job market. Engineering is a great career for passionate individuals who like to learn.
@ -15,9 +15,9 @@ Before writing your resume, it is important to understand the recruiting structu
Before opening up a position/starting the search for candidates, I usually consult very closely with the team manager/decision maker to find out the specific skill sets that are relevant for the position. These skill sets are typically grouped into "Must have", "Good to have", and "Special bonus".
- "Must have"—Typically, most of the must-haves include a degree (or not) in a relevant technical field, some years (or not) of experience in a particular programming language or technology.
- "Good to have"—Includes experience/familiarity with secondary languages/technologies which may not be directly relevant to what the candidate would be working on, but could be required due to some interfacing with other components of the project. It could also include softer skills such as being a good team player, clear communication, etc.
- "Special bonus"—Recognized skill sets/experiences which are difficult to come by. Probably not a requirement, but would definitely be useful for the position.
- "Must have"—Typically, most of the must-haves include a degree (or not) in a relevant technical field, some years (or not) of experience in a particular programming language or technology
- "Good to have"—Includes experience/familiarity with secondary languages/technologies which may not be directly relevant to what the candidate would be working on, but could be required due to some interfacing with other components of the project. It could also include softer skills such as being a good team player, clear communication, etc
- "Special bonus"—Recognized skill sets/experiences which are difficult to come by. Probably not a requirement, but would definitely be useful for the position
Now that I am armed with this list, the search for candidates begin.
@ -45,8 +45,8 @@ I've often received resumes with no cover letters, and I am perfectly fine with
Some small nitpicks:
- Make sure that the cover letter is addressed to the right person (either the name of the recruiter if it is known, or to a generic hiring manager) and company.
- Run a spell check.
- Make sure that the cover letter is addressed to the right person (either the name of the recruiter if it is known, or to a generic hiring manager) and company
- Run a spell check
### Length of resume
@ -54,25 +54,25 @@ Your resume should be kept to 1 page or a MAXIMUM of 2 pages. Include only your
Information that a recruiter wants to know:
- Name, email, contact number.
- Name, email, contact number
- Objective statement
- Education details: College, Major, GPA, Sample classes (optional, but if you list, make sure its classes that you scored well in and are relevant to your area of interest), academic awards, availability.
- If you have studied abroad, you can list that too.
- Projects that you have worked on.
- Work experience/co-curricular activities.
- Skills/other interests.
- Street cred - GitHub/Stack Overflow/LinkedIn profile (optional, but highly recommended).
- Education details: College, Major, GPA, Sample classes (optional, but if you list, make sure its classes that you scored well in and are relevant to your area of interest), academic awards, availability
- If you have studied abroad, you can list that too
- Projects that you have worked on
- Work experience/co-curricular activities
- Skills/other interests
- Street cred - GitHub/Stack Overflow/LinkedIn profile (optional, but highly recommended)
Information nobody needs to know:
- Your profile picture. In the US, it is illegal to discriminate based on age, gender, race, or appearance.
- Address, home phone number, gender, religion, race, marital status, etc etc.
- Elementary, middle, high school.
- Your low GPA.
- Anything less recent than 3-4 years unless they are valid job experiences.
- Anything about your parents/siblings, their names, occupation, etc.
- Your life story.
- Anything not relevant to the job you are applying for (e.g. that you have a driving license when you are applying to be a programmer).
- Your profile picture. In the US, it is illegal to discriminate based on age, gender, race, or appearance
- Anything less recent than 3-4 years unless they are valid job experiences
- Anything about your parents/siblings, their names, occupation, etc
- Your life story
- Anything not relevant to the job you are applying for (e.g. that you have a driving license when you are applying to be a programmer)
Ideally, keep it short, concise, but as detailed as possible.
@ -92,8 +92,8 @@ Are you looking for a summer internship/full-time employment? What position are
**"Work experience" does not mean any work experience; it means _relevant_ work experience.** If you are applying for a developer position, the recruiter is not interested to know that you were a student escort for girls walking back to their apartments at night, nor that you were a cashier at Starbucks. You would be better off writing about the project you did for some programming class - yes, even if it was just a school project. Tailor your experiences and projects according to the job you are applying for. Pick relevant details to emphasize on and do not be hesitant to drop stuff completely if they are totally irrelevant. Quality over quantity.
- Make sure the description is comprehensive. Avoid writing "Software engineering intern - write code". You are better off not writing anything.
- Based on my experience, most fresh grads do not have extremely relevant job experience (unless you are lucky to have scored a really rewarding internship). For developer positions, I think it is ok to not have any job experience and just list projects.
- Make sure the description is comprehensive. Avoid writing "Software engineering intern - write code". You are better off not writing anything
- Based on my experience, most fresh grads do not have extremely relevant job experience (unless you are lucky to have scored a really rewarding internship). For developer positions, I think it is ok to not have any job experience and just list projects
### Reverse chronological order
@ -101,24 +101,24 @@ Always list your resume in reverse chronological order - the most recent at the
### Make sure you are contactable
- Get a proper email account with ideally your first name and last name, eg. "john.doe@gmail.com" instead of "angrybirds88@gmail.com".
- If you are using your school's .edu email, try to have an alias like "john.doe@xxx.edu" instead of "a002342342@xxx.edu".
- Avoid emails like "me@christi.na" or "admin@[mycooldomain].com" -- because it is very prone to typo errors.
- Make sure the number you have listed is the best way to reach you. The last thing you want is to miss the call from the recruiter because you typed the wrong number, or you are not available on that number during office hours (most probably the times the recruiter will call).
- Get a proper email account with ideally your first name and last name, eg. "john.doe@gmail.com" instead of "angrybirds88@gmail.com"
- If you are using your school's .edu email, try to have an alias like "john.doe@xxx.edu" instead of "a002342342@xxx.edu"
- Avoid emails like "me@christi.na" or "admin@[mycooldomain].com" -- because it is very prone to typo errors
- Make sure the number you have listed is the best way to reach you. The last thing you want is to miss the call from the recruiter because you typed the wrong number, or you are not available on that number during office hours (most probably the times the recruiter will call)
### Layout/Formatting/Design
- Be consistent about the way you format your resume. Italics, underline, bold, and how they are used.
- Be consistent about the way you format your resume. Italics, underline, bold, and how they are used
- Keep to a single standard font (avoid fancy fonts like Comic Sans or whatever) and do not have too many varying styles/font sizes/color
- Be consistent about the way you list your dates (eg. May 2011 - Aug 2011). Avoid using numerals for both month and date due to the difference in style for MMDD and DDMM in different countries. Dates like "Aug 2011 - June 12" just show that you have zero attention to detail.
- Unless you are applying for a design job, just stick to the standard "table" style for the resume. There is nothing wrong with the standard style, and it helps the recruiter screen your resume more efficiently since they are trained through experience to read that format. It would also help in the automatic scoring by the ATS. The last thing you want is for your application to be rejected because the system could not parse your resume for it to be scored. That said, I am not discouraging you from coming up with your own design. It is nice to read something different. Just be aware of the risks you could be taking.
- Name your file `firstname_lastname_resume.pdf` instead of `resume.pdf` - it is easier for recruiters to search/forward.
- PDF preferred over Word doc.
- Be consistent about bullet points.
- Your resume should not look sparse. (Come on, it is only 1 page!) If you really have trouble filling it up, you are either not thinking hard enough, or not doing enough. In the case of the latter, consider working on your personal projects (i.e. stuff you can post on GitHub). That said, do not write stuff just to fill space. Read point 4.
- This should be common sense, but do not commit fraud, i.e. apply for the same job using a different name, or using your friend's resume to apply for the same job. Some ATS issues an indicator if they suspect the application to be a duplicate.
- It's important to note the layout of your resume. If you choose to quickly upload your resume via an auto-fill program, understand that the program will read your resume from top to bottom, left to right. This is good to keep in mind when developing the layout of your resume.
- Try to keep white space down to a minimum. This will also help reduce the length of your resume to one page. Reduce margins and paddings reasonably.
- Be consistent about the way you list your dates (eg. May 2011 - Aug 2011). Avoid using numerals for both month and date due to the difference in style for MMDD and DDMM in different countries. Dates like "Aug 2011 - June 12" just show that you have zero attention to detail
- Unless you are applying for a design job, just stick to the standard "table" style for the resume. There is nothing wrong with the standard style, and it helps the recruiter screen your resume more efficiently since they are trained through experience to read that format. It would also help in the automatic scoring by the ATS. The last thing you want is for your application to be rejected because the system could not parse your resume for it to be scored. That said, I am not discouraging you from coming up with your own design. It is nice to read something different. Just be aware of the risks you could be taking
- Name your file `firstname_lastname_resume.pdf` instead of `resume.pdf` - it is easier for recruiters to search/forward
- PDF preferred over Word doc
- Be consistent about bullet points
- Your resume should not look sparse. (Come on, it is only 1 page!) If you really have trouble filling it up, you are either not thinking hard enough, or not doing enough. In the case of the latter, consider working on your personal projects (i.e. stuff you can post on GitHub). That said, do not write stuff just to fill space. Read point 4
- This should be common sense, but do not commit fraud, i.e. apply for the same job using a different name, or using your friend's resume to apply for the same job. Some ATS issues an indicator if they suspect the application to be a duplicate
- It's important to note the layout of your resume. If you choose to quickly upload your resume via an auto-fill program, understand that the program will read your resume from top to bottom, left to right. This is good to keep in mind when developing the layout of your resume
- Try to keep white space down to a minimum. This will also help reduce the length of your resume to one page. Reduce margins and paddings reasonably
### Listing your skills
@ -128,9 +128,9 @@ Ideally, if your resume is good enough, the recruiter should already know what y
### Projects
- Ideally, 1-2 lines about the project, 2-3 lines about your role, what technologies you used, what you did, your learning, etc etc. These can be Final Year Projects, Research projects, projects for a particular class, freelance projects, or just personal projects (ie. GitHub stuff).
- Ideally, 2 to 3 projects that align with your interests/position you are applying for.
- Avoid using titles such as "Project for [module code]". Sorry, the recruiter has no idea what class is represented by the module code. Ideally, you want the project section to demonstrate your personality and skills, and be the talking point during the interview.
- Ideally, 1-2 lines about the project, 2-3 lines about your role, what technologies you used, what you did, your learning, etc etc. These can be Final Year Projects, Research projects, projects for a particular class, freelance projects, or just personal projects (ie. GitHub stuff)
- Ideally, 2 to 3 projects that align with your interests/position you are applying for
- Avoid using titles such as "Project for [module code]". Sorry, the recruiter has no idea what class is represented by the module code. Ideally, you want the project section to demonstrate your personality and skills, and be the talking point during the interview
The [STAR](https://en.wikipedia.org/wiki/Situation,_task,_action,_result) format is a framework to help you organize your experience into sections that flows nicely. From Wikipedia:
- **Situation** - The interviewer wants you to present a recent challenge and situation which you found yourself in.
- **Task** - What were you required to achieve? The interviewer will be looking to see what you were trying to achieve from the situation. Some performance development methods use "Target" rather than "Task". Job interview candidates who describe a "Target" they set themselves instead of an externally imposed "Task" emphasize their own intrinsic motivation to perform and to develop their performance.
- **Action** - What did you do? The interviewer will be looking for information on what you did, why you did it and what the alternatives were.
- **Situation** - The interviewer wants you to present a recent challenge and situation which you found yourself in
- **Task** - What were you required to achieve? The interviewer will be looking to see what you were trying to achieve from the situation. Some performance development methods use "Target" rather than "Task". Job interview candidates who describe a "Target" they set themselves instead of an externally imposed "Task" emphasize their own intrinsic motivation to perform and to develop their performance
- **Action** - What did you do? The interviewer will be looking for information on what you did, why you did it and what the alternatives were
- **Results** - What was the outcome of your actions? What did you achieve through your actions and did you meet your objectives? What did you learn from this experience and have you used this learning since?
@ -45,7 +45,7 @@ Equity is what differentiates a tech job from a non-tech one. Equity means a sha
Equity usually vests (becomes available to you) over a period of time (typically 4 years) and can vest equally every month/quarter/year. A vesting cliff means the minimum period of time before your vesting begins. For example, if you are granted 4,800 shares over a 4 year schedule with a 1 year cliff, and monthly vesting, you will get 1,200 shares at the end of your first year and 100 shares every month thereafter for the subsequent 3 years.
Until the company goes public or gets acquired, the equity is not worth anything. Be mindful of what you are getting yourself into!
Until the company goes public (IPO) or gets acquired, the equity is usually not worth anything. However, there are instances where you can sell your stocks internally even though the company hasn't gone public. Be mindful of what you are getting yourself into!
Not all equity is treated equally. Depending on the company you join and which stage that company is at, you may receive one of the following types: stock options or stock grants.
@ -69,8 +69,9 @@ There can be conditions attached to signing bonuses, such as having to return a
### Misc bonuses/perks
While these perks are not exactly cash, they can help you save money which is almost equivalent to getting compensated more.
While these perks are not exactly cash, they can help you save money which is almost equivalent to getting compensated more. Do find out more about these from your recruiters if you get the chance.
- Free meals - Food is not exactly cheap in the Bay Area and having some meals provided on weekdays can result in saving few thousand dollars a year
- Relocation bonus - Helpful if you are moving from abroad, and this can partially offset costs due to relocating
- Health and dental insurance/plans - Companies often partner with insurance companies to provide employees with health and dental plans. These can amount to a few thousand dollars worth annually and is especially useful in locations where healthcare is expensive
- Shuttle service - Public transportation in the Bay Area is not that great and the most common form of commute is driving. Being able to take a shuttle service helps in saving money on gas, transport, and freeing up your mind to do other things during the commute