In the beginning of “Friends”, one of my favorite TV shows, Rachel left her wedding and decided to live with Monica in NYC, Monica gave Rachel a hug and said, “Welcome to the real world, it's difficult, you're gonna love it”.
That's pretty much how I feel about the first month of my internship.
Real-world industry opens my eyes. There is no office hours, no homework assignment, and no class curve that I will try hard to beat. Instead, I have tasks and goals to accomplish for my project each day, agile development standards to follow, and coworkers that will be there for help when I'm in trouble. The transition from school to real world is a bit overwhelming at first, but I love the fact that I am challenging myself to become a better software developer. The transition is difficult, but I love it.
As a college student who's used to slide shows, I like how bulletin points can make things easier to read, therefore I will use a similar approach here to share my experience as a new soul in the software industry.
Passion is the key to success. I took my first CS class during my first semester of college and I fell in love with it. While doing internship at Ikayzo, I realize even more how that first CS class has changed my life: if I haven't recognized the beauty of technology, I won't have any motivation to be a better developer, let alone sitting in front of a computer trying to figure out different kinds of programming problems for hours. Debugging a program can take a long time, especially for industry beginners such as myself. It is the passion of solving those problems that drives me all the way through.
Communication is crucial not only for team collaboration, but for personal improvement. We all know that a successful development team can't live without efficient communication. For a beginner-level developer, good communication skills can also be substantially beneficial in learning process. Time and time again I stuck on a problem and ask senior developers for help, but it's important that I understand what the problem is before I ask them for help, otherwise the problem can't get resolved, and I might end up learning nothing from asking questions carelessly.
Following software development standards is important. Software is complicated, therefore we need some tools to keep everything under control, and that's why we have code standards for developers. Truth be told, I found it hard to read through the documentation about code standards and then fully understand them. However, it's absolutely worthwhile and necessary to take time understanding those rules. One of the most important things I've learned in my first month: rules exist for a reason, if I break the rule, I will end up spending my time of development inefficiently, and it's NOT pleasant.
There's ALWAYS something to improve. Our spirit determines how far we can go, and the spirit of “I can always improve” that comes out of the senior developers and designers impresses me the most. In the field of technology, the requirements of projects change all the time and the required skills also change accordingly, therefore being a professional developer requires a life-time and I am still amazed by how diverse the senior developers' skills are, and how fast they can pick up a new technology and start using it in new products. Our spirit determines how far we can go, and the willingness to learn is undoubtedly essential to make ourselves excellent programmers.