I joined Wizeline more than two years ago when I tried to find a new challenge for myself in the IT industry. At Wizeline, I have opportunities to work globally on different projects, and each project comes with challenges. As Wizeliners, we need to solve technical challenges by improving our skills by reading and researching advanced features in languages and frameworks. However, we must also welcome new teammates, adapt to new environments, new industries, and more. Sometimes, things may get overwhelming, so I want to share the steps I follow to combat challenges when adapting to new realities.
Keep a Positive Attitude
In my ten years of experience in software development, I realized that keeping a positive attitude while working is key to success, especially when presented with new challenges. Before starting to work on something new, I recommend starting with a clear mind so that you are more open to overcoming any new challenges that may present themselves. Remember, you can improve your technical skills daily, so don’t lose motivation from the start. Also, when starting a new challenge, I always put all my energy into it. I could not tell you how good my results are, but when looking back, I am proud of myself for being brave enough to take that chance. This mindset also helps me improve my technical skills because I’m learning with every project.
Communicate With Your Team
People always talk about communication, so many posts share how to improve communication skills, and there are a series of training sessions you can partake in to improve it. Why is communication so important in the development life cycle? For me, it is important because, at Wizeline, we’re constantly working as part of a team. Without communication, we can easily lose the team’s direction and have some output that does not meet the team’s goals and expectations. I’m not an expert in communication, but most of the teams I’ve been part of highly recommend developers to be proactive in communication, putting the right concern in the proper scenario at the right time. Also, they appreciate it when we can identify the purpose of team discussions. I would like to share some tips to get better at team discussions:
- Get prepared for the team discussion topic. Research the topic, investigate possible solutions, consider the pros and cons, and provide suggestions during the meeting.
- Don’t hesitate to ask for help from another team member when you identify a knowledge gap while working on new projects.
- Be calm and listen openly to the feedback; you are just a piece of the whole picture. The feedback from other experienced members is essential to consider. They have gone through technical issues before, so they already know what to do.
- Be transparent while working. It is good to share your status with the team. That way, other team members know what you’re working on and what challenges you are going through, so they can help. Sometimes being transparent is just as simple as sharing your feelings with the team allowing the team to be aware of the need to make possible refinements.
- Practice face-to-face communication and quickly schedule quick calls to solve minor issues to eliminate back-and-forth messaging. Face-to-face communication and screen sharing are beneficial for me to solve the gap between developers.
- Use formal email for important topics; don’t forget that email is still the official communication channel across the team.
Utilize Your Fundamental Development Skills
Besides a positive working attitude and strong communication skills, utilizing your development background is essential to adapt to new things. As a developer, I’m primarily focused on the following tasks:
- Data structure and algorithm: every language has a different syntax representation, but most of that is based on some common data structure and algorithms. So, a solid understanding of data structure and algorithms and understanding when/how to use them to solve technical problems will help us quickly identify solutions to any issue.
- Design principles: from my point of view, you don’t need to know all of the design principles, just keep it simple and try to apply it in any line of your code. Clean, readable, and maintainable code will help not only you but also other developers who’re working with you.
- Software development life cycle: grasping development life cycle models helped me adapt quickly to new teams because every team has a different software development process model. Still, all have the same goal to produce high-quality software that meets or exceeds customer expectations.
- Be ready for full-stack developers: that would be great if you’re not only aware of your daily task on your primary skill but also have a mindset about design, testing, deployment, and maintenance. For example: if your primary skill is back-end, you should also have basic knowledge about the front-end. You don’t need hands-on experience to design a front-end project from scratch, but at least you know about debugging to understand what it is. Similarly, putting high responsibility on unit-test, manual testing, and automation testing before transfer to QA is much better to reduce the effort on release bug fixing.
I believe everyone already knows the items I mentioned above. The important thing is how to apply that in your daily work. Are you ready for new challenges? Don’t forget everyone has different ways of achieving their goals. Trust yourself, and “don’t panic!”
Become Part of Our Talented Team
If you are looking for an incredible opportunity and a great company in Colombia or another country, Wizeline may be the perfect place for you. I invite you to follow us on LinkedIn @Wizeline and @WizelineAcademy to find information about upcoming bootcamps for IT professionals who want to keep expanding their skills.
Also, why not allow yourself to become a Wizeliner? We have open roles for engineers in Colombia, Mexico, Vietnam, and Spain. Apply here today if you’re interested in joining our global team.