A good internship can provide you with practical work experience and an opportunity to grow and learn before fully entering the working world. This is especially true for us student developers since we're stuck with the "hello world" based learning. An internship can help with that!
After finishing my software development studies at home by being a self-taught dev, I was contacted by a recruiter for an internship. Last week I had completed my three-month internship period and got hired as a Junior Backend Developer! In this post, I'd like to share my internship experience at xHub and things I've learned during this period.
Excellent communication is the most crucial characteristic for success as a software developer. For most people, this may appear counterintuitive. Now you may ask: Don't developers spend all day coding? In fact, A large part of the day-to-day job of a software developer is not spent in code but instead working with a variety of people across the company.
I think we can all agree that a large part of professional software development is about writing documentation, doing code reviews, sending emails, and Slack messages, attending meetings. My genuine advice to you is to work on your communication skills. That will definitely benefit you in your career!
Always ASK and ASK and ASK for feedback! As an intern, you'll make tons of mistakes. Consequently, you should have the courage to accept and ask for constructive criticism from your experienced colleagues. Don't take criticism personally. Adopting a humble mindset will encourage your mentors to give you more feedback about your work.
I can remember how much I failed my first pull requests. But luckily, I've asked my colleagues for a code review and they were kind and humble enough to help me with that.
Moral of the story: Have the courage to make mistakes and ask for feedback from your coworkers.
Internships can have a steep learning curve during the first couple of weeks. During this period, you'll be working with industry best practices, which require you to learn about a new set of skills. Be patient and take it easy; after all, it's not simple to adapt, especially when you want to go outside your comfort zone.
Teamwork is an important skill you should concentrate on most during your internship since it's not learnable in college or by studying alone at home. Ideally, an IT company works with different methodologies and frameworks like DevOps, Agile, Scrum, XP, ... As an intern, you'll have the opportunity to hone your skills in these methodologies.
You'll also learn how to collaborate with multiple people with diverse skills. This is very important since you'll be part of a cross-functional team.
Developing an adequate problem-solving approach can drive you onto the fastest path to success. An internship introduces you to real-world work problems and thus develops your problem-solving skills.
Now you've got your first stories assigned to you in your company's issue tracker. Great! How do you approach these issues? The first step is to understand the problem and then breaking it into manageable pieces that you can solve.
Make sure to verify how you plan to break down the implementation with your mentor. They might be able to aid you identify other components or dependencies you hadn't thought of.
Intern life can be challenging, and you only get a short time to make a lasting impression. Though it is an excellent opportunity to gain experience, form friendships, and ultimately learn. So work hard and appreciate your internship!
If you have any feedback about my writings. Please, don't hesitate to reach out to me or just say a "hello" on twitter: @HamzaLovesJava