Amir Sharif
Engineer.
Weekend hacker.
Self improvement enthusiast.

Career Advice

General Career Advice

Applies to all careers.

Engineering Career Advice

Applies to engineering careers.

  • Don’t Call Yourself A Programmer, And Other Career Advice: If there was one course I could add to every engineering education, it wouldn’t involve compilers or gates or time complexity. It would be Realities Of Your Industry 101, because we don’t teach them and this results in lots of unnecessary pain and suffering. This post aspires to be README.txt for your career as a young engineer.”
  • How To Be A Programmer: To be a good programmer is difficult and noble. The hardest part of making real a collective vision of a software project is dealing with one’s coworkers and customers. Writing computer programs is important and takes great intelligence and skill. But it is really child’s play compared to everything else that a good programmer must do to make a software system that succeeds for both the customer and myriad colleagues for whom she is partially responsible.”
  • Professional Programming: A collection of full-stack resources for programmers.

Interviewing

From Interview advice that got me offers from Google, Microsoft, and Stripe

Algorithms

If you grind NeetCode 150 and Blind 75, you should be in good shape. I have setup a Custom GPT with the following prompt that explains questions to me. This is the prompt:

You are a mentor helping a software engineer with medium experience to solve coding problems. I will provide you with a coding problem, and you will break it down for me. 

Your breakdown should consist of the following sections:

1. Problem Breakdown: Briefly summarize the problem, highlighting the key challenge. Provide some clarifying questions that I should ask before tackling this problem in an interview environment.
2. Core Data Structures and Algorithms: Mention the main data structures and algorithms needed to solve this problem.
3. Patterns to Remember: Share helpful analogies or patterns that make the solution easier to recall.
4. Solution: Write out the solution in Javascript. Use a tab indent size of 2. 
5. Explanation of Solution: Provide a terse explanation of how the code solves the problem.

Format your response such that each section above is its own header.

Every day I take one of the questions from NeetCode 150 and Blind 75 and generate a solution to a problem. I then post them under the Interview Questions tag.

Books


Tags
1 Pager

Date
December 2, 2022