How to know if you're ready for internship?
Recently I just completed my 6-months internship at Digi-X. It was a great experience for me, I went from using XAMPP to setup a simple PHP website to knowing how to use Laravel and deploy it on AWS on top of NGINX web server.
I think everyone knows the benefits of internship, especially for new developers. But often time we hesitate to even apply for it.
So , am I ready for internship? Absolutely not – that is what your mind will tell you.
Truth is, you're never ready. That's why you do internship, to get more experience.
But you need to know "something" right? To answer that – yes
To be honest, I also didn't feel like I was ready for internships, that's why I only did it when I need to do it. It was in my uni curriculum, we are required to do internship on our fifth semester.
I knew internship will be beneficial for me but I didn't feel ready.
I also don't know what should I know, what do companies expect from interns, what if I am actually not ready, like I need to know something first right? A framework, maybe a certain language.
And the list goes on, and I believe that some of you are experiencing the same thing too.
But truth is – none of that matters.
The only thing you need to have is a strong programming fundamental. You know what and how to use a loop, if else statement, functions, class and maybe Object-oriented programming.
But the most important thing is you need be resourceful a.k.a. knowing how to "figure it out".
That is the most important skill and mindset that you need to have as an intern – heck, it's the most important mindset to have as a developer in general.
My portfolio before internship
To give you more context about how much I knew before my internship, here are some of my works. Talk is cheap right?
1. Command line Blackjack – school project
Not this one, mine was this without all the interface.
If I have to pinpoint a moment where I experience real development, this is the project that I would choose.
Sure, I know how to write a simple command line calculator before, I know what a function is, I know the concept of Object-oriented programming, I know how to use loops, if else, and switch.
But this project is the moment where I apply all those knowledge into practice, this is the project that I actually build something from nothing.
Where I pulled off an all nighter just to fix an unknown bug cause by a simple typo.
The moment where I copy paste the error message into google, and search it because I have no idea what else should I do.
The project that forced me to learn Blackjack itself because I have no idea how to play it.
This is, for me, where it all started. My first experience building a software, a game I might add.
And if any of you have done or experience something like this before. Just stop reading this already and start applying for that intern position for god's sake.
I'm not sure if you can still run the game but here's the source code , it's written in Java.
2. CSS image challenge – personal project
Somewhere in June of 2018 I decided to do the #100daysofcode challenge where I try to learn the fundamentals of web development - HTML and CSS.
I learn it on FreeCodeCamp and I also actually document the journey on Twitter - here's the thread
The purpose of the challenge is for me to be more consistent with coding. I also wanted to learn web development more seriously.
After completing the course on FCC and do all the projects, I still didn't feel comfortable with my CSS – here's why .
Then I decided to do more CSS focused project to get more familiar with it.
Personally, the Nintendo Switch was my proudest project after Rick and Morty. It was a fun project that is also easy to showcase.
3. WhatsApp It! – personal project
Yep , that's it.
It is a very simple web page that is surprisingly very useful to a lot of people. I may have taken too much credit from it.
This project came from my own frustration being a treasurer of an event selling t-shirts. My task was to contact all the people who placed an order to confirm their orders.
And if you didn't know already, WhatsApp app itself doesn't let you to chat with an unknown number.
You can technically do it with the click to chat API, or using WhatsApp It! (shameless plug) but it's not available within the app itself, even today.
I also decided to make it a Progressive Web App (PWA) because for me it is the perfect use case for it to be a PWA.
I managed to do it but after a while it's a simple web page again because I felt like I was over-engineering it at that point, and the implementation was not the best, it keeps on breaking.
4. Critical Thinking Test website – school project
This project is the most exciting for me. I see it as an opportunity for me to make it as my first full stack web app portfolio. Though I know nothing about backend stuff apart from database, it was very exciting for me.
I thought it was going to be a Google Forms clone. But it wasn't that.
It is still a great project to showcase as a full stack web app but it wasn't really how I envision it initially - it was much simpler.
It still a great project, don't get me wrong but I think if, a) i had more time, and b) i can focus on it throughout the semester, it would be a much better product in the end.
Nonetheless, it was my first experience with PHP though, this project was built with pure PHP and MySQL using XAMPP. It was fun, but it could be better.
And of course, here's the source code .
All in all -
As you can see, these aren't the most impressive projects, but it's better than nothing – and that's the point.
It shows that you have some experience in development, you have built something from nothing.
The experience of fixing unknown bugs, reading documentation, looking for answers in StackOverflow, and googling the heck out of everything - this is all valuable skills.
You might be surprised but this is how programmers and developers work, either you're a junior developer, an intern, or a senior developer - we all google things we don't know.
And that's okay, it is encouraged in fact.
Nobody expecting you to know everything, they expect you to know how to figure things out.
Now that you've seen my portfolio before my internship, I hope it will help you in terms of having more context to help you evaluate yourself whether you are ready for internship or not.
You might still feel like you're not ready, but if you've done something like I did, you are more than ready.
If you feel like you barely know anything about programming or coding in general, my advice is to start creating personal projects.
Anything would do, be it a clone of Twitter login page with only HTML and CSS, be it a simple calculator mobile apps, a personal website - whatever.
As long as you are coding, programming, and learning. That is all that matters.
Good luck and go apply for that internship.
I wish you the best! Thanks for reading.