I enjoy working with and talking to recent grads/entry level software professionals. Recently, I had a recent graduate ask me what they should do to gain experience in the software field while they were looking for full time gigs. My (not-so-short paraphrased) answer:
Do side projects – build something, build anything (website/app) and push it live. What do you build? Either build something for yourself or, if you’re social enough, you may find someone who’s trying to solve some problem and, if that interests you, it could help form a basis for your side project.
Once you build it, either use it yourself, or, even better, show it to other people. If you want honest feedback, skip your friends and family. Keep in mind, you *don’t* have to show it to anyone. If someone throws money at you for this, they’re the type of customer you need. If someone says they’ll pay but only if you add X and Y feature, they’re not your customer, at least not yet.
Once you built something, next time you’re at a job interview and the interviewer decides to ask you about some software projects you worked on, you’ll have a story to tell
- How you set about building the product – thought process on what you wanted to build and how you came to the decision to build the product you ended up doing
- Tools used – why did you pick these tools, what you like about them and what you dislike
- Your learning process for aforementioned toolset – which online tutorials or learning channels
- Issues you encountered going from development to live – bonus: if you accidentally destroyed your codebase or the live product more than once and learned the importance of source control and staging environments, mention that
- If you showed the product to other people – how did you go about eliciting and incorporating feedback
This is not to excuse you from answering other technical and programming questions you will be asked, but providing an honest assessment on a real life software project you worked on should not hurt your chances at all. The other aspect of this is time – if your conversation is interesting enough and the interviewer has a set amount of time, it reduces the time for bland “how would you reverse an array” type questions.
Btw, using side projects to learn goes for the experienced professionals too – your time and scope of work at your day job probably won’t let you experiment, but a side project that you own is fair game for learning and experimentation.
This exercise is worth it simply for the experience and confidence that comes with creating a product from nothing to production.