n0npax.github.io

Marcin Niemira

Follow me on GitHub

Graduate road map

If you are a student or graduate you may be thinking what to do to accelerate your career and how to find 1st job or internship.

Base on my own mistakes I can give you few advices:

Tech skills

  • It’s better to learn one programming language well then have average skills in 5.
    • Read a book. The long one. At least 1K pages which covers advanced topics
    • do a project. Store it in github and keep quality as good as you can. This may be treated as a sample of your code which will be reviewed.
  • Read a books about craftsmanship in example Clean code.
  • Read some books about design.
  • If you can try to contribute to some open source project. Maintainers will give you proper code review
    • write tests or minor bugfixes.

Resume

You are starting, so probably there is not to much you can show, but:

  • Put all your projects with description what has beed done and how. In example: ``` Rating system for coffee shops in Bendigo (link) backend:
  • Java, Spring, JPA Frontend:
  • React ```
  • If project was a group project, describe which part was done by you.

Always

  • Make it as clear as possible
  • Describe what was your achievements & responsibilities
  • Describe your tech stack.
  • Don’t lie. Overestimation can happen, but saying you have an expertise with Rust can be easily checked.
  • Check for any typos and double check email and phone number.
  • Be descriptive. Fact you know python doesn’t mean you know pandas. Adding set of frameworks & libraries you are familiar to may be useful.
  • Sometimes 1st check is done by non technical people who are looking for keywords.

Apply

  • Just apply!
  • Many companies are sending coding challenge. Do it, send it back and wait for review.
    • Don’t cheat. 2nd round will be harder. If coding was done by your friend, you will just fail
  • No risk - no fun

On the interview

  • Don’t stress. You don’t have to do everything perfect. Interviewer is also a human.
  • Interview has 2 main goals (in this order):
    1. Check how do you solve the problem
    2. Check your technical skills
  • Ask questions and clarify given issue. If you are asked to design system, ask for estimated number of users.
  • Be on time. I mean few minutes earlier.
    • In case you are 5min late because tram was late you are giving bad impression - who cares, but still
    • You gonna be given exactly the same questions and challenge. Instead of 60min of coding, you have just 55 now. 10% less. You may need this time.

In case of Failure

You failed because of […]. Improve and retry. Next time it gonna be a little bit better. Live is kind of SDLC


PS: Ensure you like this. In IT you have to keep learning as industry is changing quickly. Paradigms common in 2010 are considered as not suitable anymore. 10 years has much bigger impact on IT than on Engine design.

$ echo Good Luck