Skip to main content

Tsung Kai (Eric) Lee

SFU Co-op Student
Applied Sciences › Mechatronic Systems Engineering

empty
Web development workspace
Credit
Farzad Nazifi on Unsplash
Without the passion that drives you to update yourself, you will soon feel exhausted and overwhelmed by technological changes.

Having worked at Thrinacia—a company dedicated to delivering a CrowdFunding engine that is robust and customizable—for nearly a year now, I can say this is one of the most valuable experiences I have ever had. As a Web and Mobile Developer, I participate in product design, project decisions, as well as contributing my own opinions in improving the overall user experience. Not only does this help me understand more about the software development field, but it also strengthens my confidence in code debugging, class structuring, and leading in technical decisions. In this article, I share some thoughts from my own experience that will help you on your way to becoming a better developer.

1. Ask Questions

One thing I have found in this field is that, generally, people are generous in their knowledge. They will solve problems with you, share how they solved similar cases before, and what their opinions are on a particular framework. All it takes to access this information is to ask. However, you do not want to just ask whenever you encounter an obstacle. Instead, you should give it some thought first and try some possible solutions before asking. This way, you can make it a discussion rather than simply asking for answers, and you will learn better how to solve an issue if you have the same problem again in the future.

2. Try

When presented with a problem, always use research and prior knowledge as your starting point. If you think you have a solution, lay out the structure and start coding to test whether your hypothesis is correct or not. During trial and error, you can learn why a certain method works and why another doesn’t. For example, in AngularJS, I learned that to avoid potential bugs, it is better to use an object instead of a variable when doing data-binding with ng-model. Through experimenting with this issue using trial and error, I found out that because $scope in AngularJS follows prototypical inheritance, this means there is a chance that when the data changes in the template, the controller may not recognize this because it is at a different scope. If I had just started guessing the code without having a solution and structure to prove it, I wouldn’t have learned anything and would have probably been giving the other developers wrong advice.

3. Adapt

It is important to adapt to anything that might come your way, whether it is different languages, different environments, or different people to work with. By having flexibility, you can train yourself to work in many different positions. The technology industry is always quickly changing and improving. By being an adaptive developer, it will be easy for you to adjust to these changes and you will be able to work more effectively. One of the tasks I had during my co-op at Thrinacia was to maintain a deployment script, which was written in Python. I wasn’t familiar with Python; however, I accepted the challenge and ended up making our deployment process more efficient and accurate.

4. Have Multiple Skills and Specialize in One

You may be really good at JavaScript, but if given a project in, let’s say, Python, you should be able to take on the challenge. However, if you are good at a lot of things but do not specialize in one, this may be a problem as well. For example, you may know the basics of JavaScript but you might not know what Prototype means or what function scope is. If this is the case, your skills may remain at a beginner’s level and never pass that point. My advice would be to specialize in one thing first then start broadening your skillset. With a solid knowledge in one skill, you will be able to pick up other techniques faster. I picked up Angular2 with Typescript quickly because of my decent understanding of Java and JavaScript. Because of this, I could explain what types were, what constructor meant in a class, and other various aspects of Object-Oriented Programming.

5. Continue Learning

Being a developer is exciting and it can certainly feel like a dream come true. However, don’t let it get to your head. You should keep staying up to date with new technologies to be well rounded and able to create production-ready code that can keep up with the ever-changing industry. As cheesy as it may sound, the more you learn, the more you can do, and the more you can do, the more you realize all the things you do not know. Even if you think you know a lot about something already, you can always be learning more about it. Learning isn’t just for school; it’s a life-long journey that will follow you throughout your whole career, regardless of your path.

I have always thought every developer should be passionate about what they are doing. The main reason for this is because technology comes and goes; the technology you use at this moment may suddenly become antique next year. Without the passion that drives you to update yourself, you will soon feel exhausted and overwhelmed by technological changes. Being a developer is fun, but it also takes a lot of effort to be able to compete with other developers. Many people choose not to update themselves on current technological trends in their free time and quickly phase-out of the industry. Some restrict themselves by not broadening their views since they choose not to adapt to change. It is a difficult journey, but one that is worth the challenge; especially when you are a developer who can solve problems, evaluate opportunity cost, scalability, and performance issues and introduce a better product to the world.

About the Author

Tsung Kai (Eric) Lee

SFU Co-op Student
Applied Sciences › Mechatronic Systems Engineering
Eric is on Linked in! Find him here

You Might Like These... Co-op Reflections, Professional Development, Career Exploration, Seeking, Work Term Extension

author, courtney, smiling
A Second Term in Government: More of the Same?

Having completed my first work term for Health Canada as a Communications Officer Intern, I was eager to try something new, and the government was not where I believed that was going to happen. That is until I was offered a position at Agriculture and Agri-Food Canada...

picture of glichelle pondering a though
Surviving Workplace Politics

Ever been peeved with workplace politics? Have you ever been a victim of office politics? One student shares her experiences from the workplace with tips on how to survive.

 

person with their head in a book
Responsibility and Success

One of the most memorable parts of my time in co-op was the collection of accidents, errors, mistakes, and mix-ups that happened in the course of working in the laboratory.

 

Web development workspace
library_books
Blog
Five Tips on Being a Successful Web and Mobile Developer
Co-op Reflections, Professional Development, Tech and Innovation

Being a successful developer doesn’t come easy. In this blog post, I offer five tips that I have learned through my co-op experience as a Web and Mobile Developer to help you get there with fewer bumps in the road.

You Might Like These... Co-op Reflections

flowers on a balcony with the view of the city in hongkong
Postcards from Hong Kong: Culture and Commerce

Derek Woo travelled to Hong Kong for his co-op with the Canadian Chamber of Commerce. To keep in touch, he sent postcards home, sharing each leg of his journey as he traversed one of the world's most bustling cities. 

Taylor Mckinney headshot
Why Apply to Indigenous and Northern Affairs Canada

It is a very exciting time to get involved with Indigenous and Northern Affairs Canada (INAC)! Taylor shares her experience working at INAC's Yukon regional office and how she gained valuable skills while learning about Yukon First Nations, government and life in the North. 

Raman
Do You Fear Working in Software?

I used to be afraid of applying for software related co-ops, let alone working in software development/testing environments. In this article, I am going over my journey about how I overcame that fear and got into a software co-op.