Why doing mini projects could help you land a Software Engineering job
Estimated reading time: 3 minutes, 19 seconds.
I bombed my first interview. Granted, I don't really know much about coding then but I'd like to believe I have a passion for it. Among all the courses I took while I was taking my undergraduate degree, I loved my coding courses and most excelled in them compared to my other majors. This gave me a false confidence and convinced me that I can rely on stock knowledge alone.
I feel like it's standard to use coding test platforms to prepare for an interview for software development jobs. Most times corporate recruiters test a candidate's knowledge of algorithms and data structures. This is why hackerrank.com and other similar platforms are alluring for last minute preparations.
I attended the test and interview while only having practiced a few rounds in hackerrank.com. Although they've acknowledged the result of the coding exam, my interview didn't go so well. The interview dug deeper to my knowledge and practice of the craft - to which I have no experience in except for my class projects which are decided and scoped by the professor. I was not really equipped for standard practices in a work setting in my undergraduate course. Our education was really concentrated on theories since we are a research institution.
In retrospect from that experience, I appreciate my interviewers. They treated me kindly despite my inexperience. And I was left with a wonderful piece of advice as we ended. They said:
try developing a project you're interested on.
Eventually, I was able to take an entry level job as a software developer, but not with a portfolio yet. While I was at my first job, I was also taking up my graduate studies which motivated me to do a mini project of developing a Point-of-Sale (POS) system for my parents' restaurant business. I submitted it to my professor and was impressed by my commitment to the project. After that, I was offered an academic research project to which I accepted. From then on, that decision has opened more opportunities for me that I am grateful for today.
Going back to the piece of advice my interviewers gave me, I never really appreciated the advice until I started doing the mini project.
The difference between coding tests vs. mini projects
- Coding tests are focused on algorithms and structures
- Coding tests are focused on your conceptual knowledge of a programming language
- Coding tests are formulated such that they are solvable in a limited period of time
- Doing mini project is multidisciplinary
- Doing mini project is an experience-based type of learning
- Mini projects have a relatively larger time frame than coding tests
My ultimate case is that doing the mini project has really helped me to easily retain software development concepts and practices over practicing on coding tests. It did not box me to focus only on the programming language nor focus only on how to write a block of code that would work to solve a problem. It enlightened me on all aspects of software development.
Software development is a large discipline that does not only involve programming and running your code and hope it works. It's a pipeline that involves planning, implementation, testing and debugging.
To end, I am not discouraging the use of coding tests. The topic it focuses on is inevitable in job interviews and is usually the first phase of a candidacy after all. But having a portfolio of mini projects and an arsenal of experience will help you in the final interview.
I just wanted to share a piece of myself in this blog. In my next posts, I plan to be more objective and share a lot of materials I used for self-learning to become a better software developer. I plan to share some standard practices in software engineering that was not taught to me before I was trained at my first job.
0 comments:
Post a Comment