Looking for feedback on my resume and portfolio

Hey guys!

Two days ago, I finished working on my portfolio and the projects that go along with it and now, I think I’m ready to start applying for internships and jobs.

Ever since I was young, I’ve struggled with imposter syndrome which made me not want to apply to any jobs whatsoever but as my student life will be over in a few months, I think its time to finally face this beast head on.

I would really appreciate any criticism/feedback on my projects and resume.

Resume: my resume.pdf - Google Drive

Portfolio: https://staranbeer.tech

Thanks a lot in advance!

IT IS GORGEOUS! So so great to see this portfolio! I wanna click on every project and try everything!
The only thing that didn’t stand out to me on my first look (which only lasted 1 min) is that I didn’t get an instant sense of your backend skill just your front-end skill so far.
But I only spent 1 min.
(ps. I spotted a lower-case ‘i’ somewhere where you meant ‘I’. Always have someone proofread your official resume/portfolio to catch anything small like that)

Edit: Quick resume review thoughts (again just looked at it for about 30 sec). For someone without job experience, I want to see the education/skills section at the top, and the certification/projects lower down.
Also don’t just dump a bunch of keywords in the skills section. Tell us what you know and how you know it. (keyword dump is retro style for resume I think.) People want to see where and how you applied what you know so they get an idea. Your portfolio helps in that a bit, but if I don’t have time to spend to investigate your projects, you will want to give the idea quickly in the resume)

1 Like

Thanks a lot for saying that. It means a lot.

I have this weird habit of not highlighting something until or unless I feel I’m good enough at it which is why i have them the backend skills in the the other skills section.

I just got rid of the spelling mistakes I’m glad you caught that.

I am going to work on that right away but what do you think I should have there ? Thanks for pointing that out.

Thank you so much for responding

Take a look at this article for some inspiration:

I would want you to split the skills up by type like they did and try to link them to where you learned them. I think when I was at school I created a “Learning Experiences” or something like that section rather than a “Job Experience” and I listed my projects there like:
Sept 1998-Jun 1999 Designed, created and tested a program to help children learn to code through visual coding blocks for my thesis project. Using mainly Java, my partner and I developed coding blocks for conditionals and loops that allow a programmer to control an onscreen car.

You can see I mention Java in here because that’s what I used. You can put all your keywords in there to describe the project and give a hint to what soft and technical skills were employed.

hope this helps a bit

Your portfolio looks very nice, but as an interviewer I hate your resume.

Note - I’m not a professional recruiter or job placement consultant. I am a software engineer who has to do a lot of interviews. These are my personal opinions and those that have been shared with me by coworkers that interview with me.

That type of resume looks pretty and maybe if you were applying for a job in graphic design it would be great, but it just annoys me. I strongly believe that a resume should not look different or unique. Those of us who read it are trying to do so quickly and we are trying to find specific information. Putting things in an unpredictable layout makes it hard to find what we’re looking for.

  • Unconventional layout
    • I am used to looking at normal resumes and I know where to look for the information. I’m expecting a text-based top-to-bottom list of sections with bullet points in chronological order. There is absolutely no benefit in making people hunt through a grid layout for information
    • It’s also important for you to know that a lot of the time what interviewers and recruiters see is text that has been scanned from your pdf and put into raw text. With a strange layout this can make your resume look like total nonsense.
    • In my experience when a resume is “weird” or hard to read, we (the interviewers) always talk about it when we’re deciding whether to continue interviewing.
  • Tons of wasted space
    • You are using huge fonts on your name and section titles. You also have a lot of unused whitespace. Most of the space on your resume is used up by stuff I am not interested in, and then you have almost no room to add details about the things I am interested in.
    • The project descriptions are pretty much the only thing I’m going to read and they are tiny sentences that don’t tell me anything I’m interested in like what technologies you used, how long you worked on them, how complex they are, whether you worked alone or with others, whether they are ongoing projects, whether or not you released a live version, where they are, etc.
    • If you use your space better you can also add useful information about the certificates that you’ve completed. I happen to know what the freeCodeCamp certificates are, but if I saw something like this on a resume where I didn’t know the organization I would completely ignore it because there is no information about what the certificate covers, when you completed them, how long they take to complete, what you had to do to “earn” it, what technologies are involved, etc. Without any additional information I assume that any listed online certificate can be easily claimed without doing much, because a lot of them are.
    • “About me” sections are almost always a waste of space. My advice is generally to not include a personal statement unless there is some additional information that is not anywhere else on your resume that an interviewer might care about. Yours has a bunch of generic fluff words and information that should be obvious from your resume, like where you are going to school. The only part that I might consider keeping is that you are specifically looking for a frontend role.
  • I don’t trust a random list of “skills” sitting alone in a box.
    • I see this mistake made all the time. An aspiring junior developer just puts a list of technologies and languages somewhere on their resume. I have had so many experiences where candidates put down every thing they’ve ever spent a day learning about, that I assume most of them are basically lies. What I do is look at the experience and/or project section and see which technologies are included there in meaningful sentences. (eg “API written in NodeJS and Typescript with a Postgres database”). Write meaningful descriptions of your accomplishments that include the tools and technologies you used.
  • Not enough dates
    • You don’t have your anticipated graduation date, so I don’t know when you’re expecting to start working.
    • Your projects and certificates don’t have any dates.
    • I have no idea whether you’ve been doing this for a while and building up experience or just did a few quick projects and easy certificates last month.
  • No professional, volunteer, open source, etc experience.
    • I do find it concerning when a candidate has never worked a job (or something that operates like a job). Have they ever had to deal with coworkers or teammates before? Have they ever had to respond to instructions, criticism, or requirements in a cooperative and professional way? Have they ever had to work even on days that they don’t feel like it?
    • This might be different in other parts of the world, so it might not be relevant to you, but in the US it’s extremely common for students to do some sort of internship or job relevant to their field during their bachelor’s. That might be doing a research project for a professor, a summer internship, or part time work. In the US I see a big difference in the skills and professionalism of students who have some work experience and those who don’t.
  • It doesn’t really tell me what you’ve done.
    • Your resume has almost no verbs. It a weirdly spread out list of things: certificate names, technology names, project names. A resume is about showcasing your experience. Whether the experience is professional or not, please talk about what you did.
  • I think I counted 7 different font sizes.
    • That’s just visually annoying.

I know I’m being really harsh. This isn’t an attack on you. You’re new to this and you made something that looks nice. You probably looked at online examples of resumes and took inspiration from some of the more attractive ones. The problem is that in practical terms, being creative and artistic makes your resume worse. When we look at your resume, we are doing it quickly to judge what we should talk to you about and how much we already expect you to know. If I got this resume for a candidate I was interviewing, I would be less prepared to give them a good interview. I would also be a little bit annoyed when the interview started because the resume wasn’t useful.

Write your resume in a simple text editor. It’s a good bet that the formatting, fonts, images, and colors will all be removed.

Use your resume to describe what your experience and skills are.

There are no bonus points for creativity. We love to see your personality in the interview but on the resume we just want it to be easy to read, error free, and full of impressive information about you.

2 Likes

Ariel - This Is A Masterclass!!!
Put this stuff in an article now!
Every hat I ever owned is flying off my head for you right now.

Taranbeer, you’re so lucky you get this type of comment back…

1 Like

Okay. wow.
This is amazing.
This is some really great advice and it means a lot to get such kind of feedback on my resume and I’m going to start working my new resume right away.

p.s. I agree with @hbar1st that this would help a lot of people if it was in an article format.

Thank you so much for this.

1 Like

Hi, I am looking at your code for the typing game, file game.jsx and noticed there’s a lot of useEffect and state in there with a lot of side effects.

I find it makes your code hard to read through because you change a state > trigger a useEffect > make more state changes I know you’re modifying local state but I think you should look into middleware

lots of window. listeners - using onChange with inputs would work better I feel.

The useEffects + directly manipulating dom elements make it hard to follow/understand.
In one part of your code you are splitting the string based on a space then joining it with a + sign - why not use the method replaceAll?

This is a bird’s-eye view of the algorithm I used:

Variables:

word - word that we are supposed to test
current - current pointer
currentKey - word[current]
pressedKey - key that the user just pressed

correct - number of correct typed keys
wrong - number of wrongly typed keys

Steps:

Whenever a key is clicked:
1. Check which key was pressed
2. Check if it is a valid key (alphabet - lowercase or uppercase)
3. Check if pressedKey === currentKey
4. If it is, then increment correct. Else, increment wrong.
5. calculate the accuracy and speed based on the total keys pressed and duration of the game.

Most of the manipulations to the DOM or the state in my app depends on the previous state change.

The keydown handler only takes care of the state change, shouldn’t everything else (Checking if the correct key was pressed or if the pressed key and the current key are the same) considered to be a side effect? and since the useEffect hook takes care of the side effects, It made sense to me logically that that’s where they’re supposed to go. I’m new to redux and I only started using react for bigger projects about 3-4 months ago so I really appreciate your feedback.

Can you elaborate a bit more? I don’t understand what you mean here.

Also I haven’t actually learned redux properly yet, I initially used useReducer for state management but it got out of hand pretty quickly with the the number of actions and reducers I had to create. Which is primarily why I turned to redux.

So, I don’t really know what middleware is or what its used for. I am still stuck on the thunks section on the redux-toolkit docs :joy:

Let me give a specific example what I mean when I say the code is confusing,

In this file:

We have this function

`const calculateAccuracy = (correct, wrong) => {
  let totalChars = correct + wrong;
  let totalAccuracy;

  if (totalChars !== 0) {
    // accuracy = characters you typed correctly / total characters
    totalAccuracy = ((totalChars - wrong) / totalChars) * 100;
  } else {
    totalAccuracy = 0;
  }
  return totalAccuracy.toFixed(2);
};

export default calculateAccuracy;`

This could be refactored to:

const calculateAccuracy = (correct, wrong) => {
  const totalChars = correct + wrong; // const tells me this variable won't change

  if (totalChars !== 0) {
    const totalAccuracy = (correct / totalChars) * 100; // See what I changed here
    return totalAccuracy.toFixed(2);
  }
  return 0.00;
};

I didn’t test out the above code but I believe it should work the same way. It can still be refactored further by looking at the code more in depth to change how it works. For example, I didn’t check if this function is used in more than 1 place, if not consider just having this code in your reducer itself.

Redux is complex and can take time to learn but sometimes its not even needed. The DOM manipulation is not recommended in React (avoid using document.getElementById)