Avii's Top Job + Resume + Interview Tips For CSE Engineers
Ever since Swift had launched I am not able concentrate on my current job and I really want to get my hands at iOS programming. For someone who absolutely loved Scala, Rust & Python, Swift is an amazing language.
Two years ago I had last updated my résumé, so it's time to update now. Then I got this idea why not give some tips for Crazy Engineers here.
Now why should you listen to me? I am just a random guy on Internet. Well, you don't have to. You can follow my awesome tips here or completely ignore. I cannot assure you that you will get a job if you follow my tips. Or you may even land you in a good gig without following none of these tips at all.
- I have worked in several start ups. Most of them are pretty much successful.
- I have (or my team) made companies reach top, receive funding
- Have founded own start up, hired people for it and sold it for a very successful price
- I have worked from writing job requirements to taking interviews. I have been a successful one and 80% of the guys I recommended would get job.
- I have never been the guy who gives the final say. I was mostly like top 2 in hierarchy. So there will be a senior dev who would give final yes.
- I am not a management guy and I am a pure coder. I have taken up short term managing roles, but none of those never exceeded 2 weeks.
This post is not for people who are aiming to get into Infosys or similar IT service companies. This post is mainly for people who want to code, work in an established engineering company or a start up.
Because chances are, like 95%, you never end up in a coding or any brain stimulating work in Infosys or similar companies. So please DO NOT join them if you are looking to code. Do not make that mistake what your seniors did. Five years down the line you end up becoming a drone. And if you do not want to code, you should have never done CS at all.
This post is for people are interesting in coding, who are audacious and willing to take risk for bigger rewards. It doesn't matter if you haven't coded at all in your engineering. You can still learn programming. And trust me programming is not at all difficult. You just didn't have a good teacher. CE is a good place to start! I have seen some discussions on programming.
Freelancing is another good option, but don't do it for a long run. You will learn lot more in a company and when you are under a senior dev. Freelancing is never a good idea most of the time. And majority of them end up doing monkey patching. But it's lot better compared to working at Infosys.
For freshers to 2 year exp:
- Do not have your resume more than a page. Seriously. To tell you truth nobody got time to read each and everything. Companies receive 100s of resumes each day and they have no time to go through all of it. So make sure your résumé is only one page.
- Remove all the nonsense which is irrelevant to your job. I am really not interested to know which all books you read and whether you like SRK or Shreya Ghoshal. Seriously, nobody gives a shit about it.
- Do not include every trivial projects you did. I saw some wrote that he implemented Quick sort in C.
- Following arrangement seems good for me for a fresher:
Objective, Education, Skills, Projects
- And for a exp guy:
Objective, Experience, Education, Skills, Projects
If you have published some good research papers then add them also.
- Do not copy objective statements off the net. It really easy to find out. I really doubt someone who do not have originality can come up with an idea to solve a problem.
- Give education details from reverse chronological order. Recent being on top. However it is better to avoid how many marks you got in 10 and 12. They are not relevant.
- Do not add every bloody programming language under skills set. Really. Add only those in which you are perfect. And make sure you know which are programming language and which are tools
Database: Microsoft SQL Server 2008
Programming languages: HTML, CSS, Git
Above is a big no no.
- If you are confident and you do know multiple programming languages then categories them by level of understanding.
Advanced: Rust, C
Intermediate: Python, Ruby, Scala
Beginner: Swift - It's really a plus, if you know a functional programming language.
- Majority of students never do their final engineering project and they usually copy off the net or buy it. Do note that's its very very easy to find out whether you have actually done the project or not. So you should have some mini/major personal project.
- Please avoid personal section which includes I am group player, very motivated, hard worker etc rather make sure that you show them in your projects.
- Some people include father's name, mother's name, date of birth. Those details are totally irrelevant.
- Learn LaTeX. It's a very very useful skill. And create your resume with it. It's not mandatory, but its very impressive.
- Other two skills are Git and Markdown. And Git is quite important.
- Always include your email id. And including phone number is even better.
- Your email should be professional, most preferred is #-Link-Snipped-#
No princessgirl or gothicrocker
- Read the job description carefully. each and every world. Lots of people who apply for jobs at CE never bother to read the description.
- No spelling mistakes! Run a spell checker!
- Lastly, more important one, do NOT lie on your resume.
For guys 2-5 exp:
- Some of the points mentioned above applies here also.
- You should be GOOD at at least two programming languages and you should be aware of OOP and functional language paradigms. You should know Git.
- Give more emphasis to your projects. You should have atleast one major project under your belt.
- Try to quantify it. Compare these two:
I am working in this project from past 2 years. I have learnt new tools like Cocoa and Cocoa touch framework. Clients seem to like the end products very much.
and
For this project I learnt Cocoa and Cocoa touch framework. With my skills, I was able to improve its performance by X%. Due to this there was Y% rise in business sales and clients were very happy.
Interview tips:
- Be there at the venue at correct time.
- Be very confident
- Do not lie about anything
- When interviewer asks you to tell about yourself, please don't start your biography. Ain't nobody got time for that. Just mention your name, may be your college and how you are good for this job.
- Let the interviewer finish the question, do not interrupt in middle. And also it's okay to ask to repeat the question.
- When you do not know answer to a question, simply say you don't know. Do not give stupid answers.
Do you know Linux?
Yes sir. In my college we used it. I know it's a very good alternative to Windows Media Player - When you are not sure of an answer, tell the interviewer that you are not sure. And yes, it's okay to do so!
- Before coming to interview, practise solving questions on white board in home.
- When you know multiple programming languages, ask interviewer in which language he prefers get the answer. You don't want to answer in Erlang when guy has no idea about it.
- It's totally okay if you cannot solve an programming question. Really. People are not interested if you got the correct answer or not, they are very interested in 'How' do you attempt to solve it, how you think and how do you arrive the answer.
- Be good at Divide and conquer, BFS, DFS, Dynamic & Greedy programming, Graphs.
- When interviewer has done with his questions, ask him some good questions. Please don't be naive and stupid and ask, Sir what your company does. A good question would be:
Sir I saw your project XYZ on GitHub. In one of the modules you have used ABC. I can't seem to understand why you made that decision. Why not PQR?
- It's not at all necessary to wear formals unless it is specified
- It's okay to have a goti or beard! You can still be well groomed with those. Just be clean and smell good. And yeah, don't forget to take a bath.
- I always found girls I interviewed less confident about programming. Not sure if it's exactly a gender thing, however girls generally aren't encouraged about programming or to be a hacker. It's clearly not true and don't let such stupid things bother you.
- Also, girls please talk louder in interviews. Seriously.
These are strictly my own views. You do NOT have to agree at all.
Phew. I wrote this whole thing in one go, just now. So if I have missed any point, I will add them later. Hope you enjoyed reading this.