Time to Learn the New Way: My First IT Internship
During the Django Girls workshop, I talked to the owner of Deployed.pl, one of the sponsoring companies, about what they did and what possibilities they offered to junior developers. After a quick chat and viewing my portfolio on Github they offered me an internship, so I could see myself how they worked and have a try in the IT industry. The intership took almost 4 months and was divided into two distinguishable parts with an interview in the middle. Below I'm presenting briefly what I've learned and my impressions.
For the first 2 months I worked from home and was asked to implement some new features in their internal Django application. I received a few tasks via Gitlab and was asked firstly to design my solutions in UXPin and then to implement them. This way of working taught me how to cooperate with a team remotely, make reasonable Git commits, and submit merge requests. The key learning point was jQuery and AJAX. I had never used jQuery (or Java Script) before, but most of the solutions I proposed required using it ;) I had to implement the changes quickly, without spending too much time on learning basics and the topics I didn't need right then. I ended up reading a code of other developers and trying to understand it to the extent that I could implement something similar in my application. A very different learning approach than I had before.
After the first part, I was invited to the office for an interview and to meet the team for the first time. It definitely deserves a seperate blog post.
After the interview, I started working in the office with a team. My main task was to update Django from 1.8 to 1.10 for two of the company's applications. It was the first time I did this, so I spent some time reading Django documentation and fixing errors (they are not that scary after all!). Apart from finding newer versions or alternatives to required external applications, and introducing changes in the application's code, I had to understand and update the company's internal applications. It definitely helped me better understand Git and gain confidence using Gitlab and Github.
Besides Django updates, I had an opportunity to cooperate with 3 international clients. For one on them, I was a "project manager" in charge of managing the rollout of a web application. For two others, I was responsible for implementing bug fixes.
On the positive side
Thanks to the internship I had a chance to be a part of an IT Agile team and to see how they planned their tasks and organized their work during sprints. I learned the basics of the SCRUM methodology and led sprint retrospectives.
My tasks required understanding of at least 6 of the company's applications and it was the first time I dealt with projects that had so much code and were so diversified. It took me some time before I was able to see connections between projects' applications and understand how (and why) something worked.
When working with clients, experience gained in the HR department paid off. I quickly got settled into those tasks. After completing the internship, I even received a reference letter from one of the clients.
During those 4 months I further learned Python, Django, CSS, HTML and Git. I developed some basic understanding of jQuery and Java Script, and had a chance to use some new software, such as, PyCharm, Gitlab, Redmine, Jira and UXPin.
In spite of a very positive general experience, there are a few things that could be changed to make it even better. Although I lived in the same city as the company's office, I met the team only after the first two months of my internship. During that time it was difficult to feel as part of a team. I felt more as during a very long job interview than an internship. Next time, if possible, I would seek to meet the team earlier, as it did speed up and improve communication in the second part of the internship.
During the whole time, we didn't set our expectations, learning goals, or time frames. These also weren't mentioned during the job interview. I was glad I learned new things, they were glad they had some help. But after the internship I had that feeling that I could learn more Python. Well, I didn't tell them, so they couldn't have guessed.All Posts