Hello! My name is ‘Mind’. I am a senior student in Software and Knowledge Engineering at Kasetsart University. As part of my fourth year of my bachelor degree, I have joined Nimble as a Software Developer Intern, and I wanted to share my experience during the last 7 months.
A few weeks before starting my internship at Nimble, I was so nervous. It would have been my very first time to work in a company environment, and to be honest, when I compare with some of my classmates, I considered myself as not one of the smartest students. That’s why I was so worried. So I studied and prepared a lot. I re-read all my lectures notes to refresh my memory about what I had learnt from the university and to make sure that I will be ready to work.
After a few days in the job, I realised that what I had learnt from the University was just a small part of the skills and knowledge you actually require while working in a real-life project. Even if I could remember everything taught during lectures, it would not have been enough. What I was missing is not something I could have learned at the University, it was something that experience brings you.
I was assigned to a project called Travelbook, a community and social network revolving around travelers. The web application is built with Ruby on Rails and ReactJS. During my first few weeks, I mostly focused on training taking online courses related to Ruby, Ruby on Rails and JavaScript. We have so many courses and material available at Nimble, for example Upcase and Code School, that you don’t have to worry if you don’t know about some of the tools or framework. You can learn all the basics you need to know from there and working along with the team.
At the same time, I studied and went through the code of the application I was working on. I started to work on small user stories allowing me to both get used to the process (git flow, code reviews and continuous integration) and to get familiar with the application codebase. After a couple of weeks, I started to work on some REAL tasks.
“Everything is always hard in the beginning”
I was always aware of the meaning of this sentence, but I’ve never felt it until now…
I spent so much time working on my first feature task! Time mainly spent just getting lost in the depths of the project and trying to find where the file I needed to work on was located. Everything was just taking me lots of time. After a while, I eventually got used to the project codebase and became more comfortable to build new features and do bug fixing.
I think every intern is just like me in the beginning. We are concerned, worried and nervous.
“Am I good enough?”
“What if I do something wrong?”
But I realised that there is nothing to worry about: we’re going to do something wrong for sure!
But that’s okay, we are here to learn. Don’t be afraid to make mistakes. The good thing of being an intern is that you are allowed to fail and make mistakes (I mean…it is okay to make mistakes, but don’t forget that you will also be the one who has to fix it as well 😉).
I did so many mistakes during this seven months (I even deleted a configuration key in the production environment, oops…😬**), but everyone was so nice, welcoming and kind. They were all ready to teach and help me when I got stuck. So, it’s true that it’s hard at the beginning, but you will learn, adapt and catch up with everything slowly, to finally realise that you have improved a lot.
I’ve learnt so many things here, not only from the team and the project I joined, but also during other Nimble activities. Every month, we have a team event called “Nimble Growth” which allows us to learn something new and totally unrelated to the client projects. The goal, is to learn and share new technologies that we are interested in, but that are not related to the project we are currently working on. This motivates us to keep learning and experimenting all the time.
For example, some of the technologies I have researched and used during my Nimble Growth days were:
-
React Native (Worked on a Voice Recorder iOS Application Implemented with Firebase)
-
React Motion (Created a demo web page to compare the pros and cons between React Motion and CSS Animation)
-
Hanami (Created a twitter like web application)
-
VueJs (Created a food ordering web page for Nimble with Express-Vue. Special thanks to my teammates, P’Rose and P’Mai)
It doesn’t necessarily have to be some new technology, it’s ok if it’s just something that you have never done before. You will learn something while making the project for sure.
Not only I improved my skills, but above everything else, I also got to meet and work with so many amazing people. One thing that I really enjoyed about my internship is the environment: the workplace and the people. We are working like a family. They gave me the motivation to improve myself and to become a better software developer.
Seven months have gone by very fast. Before I even realised it, it was already the last week of the internship writing this article.
When I look back and look at myself seven months back, I am totally a different person. I have to thank everybody here at Nimble for giving me this precious experience that I will never be able to find in any lecture. If you are looking for a good place to do your internship, I’d really recommend you to come and gain the experience here. For those interested to come and join Nimble, you can apply HERE.
ps. Special thanks to the UNKOWN Santa who gave me this lovely Christmas gift. It was really pretty! ><