import withBaseUrl from '@docusaurus/withBaseUrl';
Most of the content covered here will be specific to the Bay Area. Landscape differences due to geographical location are mentioned briefly [below](#geographical-location).
## Career prospects as a Software Engineer
@ -25,17 +27,27 @@ A software engineering job is perhaps the most flexible job that exists in terms
## Internships vs full-time
If you dream of working at a top-tier tech company one day, getting hired via an intern conversion is by far the easiest way to achieve that. Internship interviews are extremly short (usually just 2 rounds whereas interview for full-time roles are usually 4-5 rounds). Internships allow you to work at a company over a short period of time (3 months or so) and helps in understanding the company and engineering culture better. Companies also tend to give higher return job offers to high performing interns as they have proven to be effective at the job and fits into the culture; hence hiring them is considered to be relatively low-risk.
If you dream of working at a top-tier tech company one day, getting hired via an intern conversion is by far the easiest way to achieve that. Internship interviews are extremly short (usually just 2 rounds whereas interviews for full-time roles are usually 4-5 rounds). Internships allow you to work at a company over a short period of time (3 months or so) and helps in understanding the company and engineering culture better. Companies also tend to give higher return job offers to high performing interns as they have proven to be effective at the job and fits into the culture; hence hiring them is considered to be relatively low-risk.
Top tech companies pay a ridiculous amount for interns:
_Salaries of top tech internships in 2016 ([source](https://twitter.com/rodneyfolz/status/724787290824798209))_
</div>
## Company size
Companies have different focuses depending on the stage they are at and the types of work to be done can also be vastly different. In the earlier stages where product-market fit hasn't been found, companies would be rapidly iterating on products and features, whereas larger companies that have already found the right product will focus on scaling their infrastructure and growing their users. Liquid compensation is also lower at early-stage companies due to the equity not being worth any money, but there is the chance of earning a lot more if/when the company IPOs or gets acquired.
| | Early-stage Startup | Late-stage Startup | Big Company |
| | Early-stage Startup | Late-stage Startup | Large Company |
| --- | --- | --- | --- |
| Company Size | <100|100-1000|>1000 |
| Compensation | Base salary is a bit higher than big companies. Higher equity amount but its value is hard to judge as the company's valuation is unclear and stocks are not worth money yet. | Base salary is a bit higher than big companies. Company valuation is clearer and stocks have higher chance of being worth money. | Depends on the prestige of the company. Compensation is usually market standard or better. Stocks are worth money if company has gone public. |
| Type of Work | Mainly product development. Engineers have to wear multiple hats - Front End, Back End, DevOps, Design, etc. | Product development and some infra. | Diverse roles and specialized work; dedicated people for each role. Infra work is more common. Also more opportunities for internal transfers. |
| Types of Work | Mainly product development. Engineers have to wear multiple hats - Front End, Back End, DevOps, Design, etc. | Product development and some infra. | Diverse roles and specialized work; dedicated people for each role. Infra work is more common. Also more opportunities for internal transfers. |
| Career Ladders | Unstructured. No (or very vague) career levels. No formal mentorship nor training. | Somewhat structured. | Very structured. Well-defined career levels. |
| Iteration Speed | Extremely fast. Struggling to find product market fit. | Moderate. Has found product market fit, trying to grow user base. | Stable product with wide user base. Have to roll out changes incrementally and run experiments. |
@ -45,5 +57,5 @@ Companies have different focuses depending on the stage they are at and the type
| Talent Access | Global talent, diverse nationalities and backgrounds | Usually regional, mostly Asians |
| Type of Companies | HQ of large companies (Facebook, Amazon, Apple, Google, Microsoft, etc), Startups | Branch offices of large companies, Startups |
| Type of Engineering Work | Depends on size of office/company | Both product and infra (building new programming languages, frameworks, and tools) |
| Types of Companies | HQ of large companies (Facebook, Amazon, Apple, Google, Microsoft, etc), Startups | Branch offices of large companies, Startups |
| Types of Engineering Work | Depends on size of office/company | Both product and infra (building new programming languages, frameworks, and tools) |
@ -29,7 +29,7 @@ When I am looking at your resume, I am doing a keyword match against the skill s
There are lots of articles writing about how recruiters only spend an average of about 10 seconds to screen each resume. The news is, this is true because resume screening is such a menial, robotic and repetitive task. In fact, many applicant tracking systems (ATS) now are so advanced that they can parse your resume automatically, search for specific keywords in your resume, and score your resume based on the weights pre-assigned to each keyword.
Finding a job is a two-way fit—the company wants someone with the relevant skills required, but it is also important for the applicant to fit in the company culture, and be able to gain something out of his stint. Hence, honesty is the single most important criteria in a resume.
Finding a job is a two-way fit—the company wants someone with the relevant skills required, but it is also important for the applicant to fit in the company culture, and be able to gain something out of their stint. Hence, honesty is the single most important criteria in a resume.
There is a delicate balance between finding the right job vs. finding a job. Getting rejected does not always mean you are not good enough. Sometimes, it just means you are not a right fit for what the company is looking for.
@ -60,11 +60,11 @@ Information that a recruiter wants to know:
- Projects that you have worked on.
- Work experience/co-curricular activities.
- Skills/other interests.
- Street cred - GitHub/StackOverflow/LinkedIn profile (optional, but highly recommended).
- Street cred - GitHub/StackOverflow/LinkedIn profile (optional, but highly recommended).
Information nobody needs to know:
- Your profile picture.
- 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.
@ -87,7 +87,7 @@ Also, when you list your GPA/results, try to benchmark it. Instead of simply lis
### 4. Be clear about your objectives
Are you looking for a summer internship/full-time employment? What position are you applying for? Read the job description and know the job you are applying for!!
Are you looking for a summer internship/full-time employment? What position are you applying for? Read the job description and know the job you are applying for!
**"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.
@ -119,7 +119,7 @@ Always list your resume in reverse chronological order - the most recent at the
- 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.
### 8. Listing Your skills
### 8. Listing your skills
It is useful to list your relevant skills in a quick summary section for easy reading/matching. However, many people make the mistake of listing as many skills/programming languages in the resume as possible. This may get you through the ATS scoring, but it definitely would not leave a good impression on the recruiter - the actual human reading your resume and deciding whether to call you up for an interview!