Becoming a great programmer requires more than being an expert in object-oriented principles, a love for math, a strong sense of logic, and a deep knowledge of (preferred choice) coding language. Technical skills are an important foundation, but to reach the next level of your career, it’s equally important to develop soft skills that will set you apart from others in the field. In the Master of Digital Media program at Centre for Digital Media, programmers can employ their technical skills in hands-on projects working with highly interdisciplinary teams, while learning the communication and collaboration skills that are vital to succeed in the digital media sector.
Understanding the User
Programmers are problem solvers by nature. Since they are responsible for making sure everything functions properly - from getting the correct frame rate to ensuring that the information is displayed properly on screen - they will work diligently on finding the optimal coding solution.
However, not all decisions can be reduced down to performance metrics. The digital products you build are being used by people - people who have their own expectations for how things should work. A great programmer needs to understand the behaviours of the intended user and integrate these behaviours as part of their process for solving problems. Not only will this create a better end product, it will also lead to a more adaptable framework when changes are required in the future.
Programmers are great at breaking down a problem and getting right to the source of the challenges they face. But, not everyone on your team will be a programmer. Each team member will bring their own insights as to how to solve a problem, so being able to effectively communicate with your team and your clients is a valuable skill.
Great programmers should develop a passion, or at least a working curiosity, for writing, art, management or any other disciplines they find themselves working within. Through exploring a variety of interests, you gain a sense of what is possible, discover new avenues for problem solving, and crucially, understand your teammates’ working processes. And, when you take the time to learn your team’s or client’s methods and goals, you can better understand when and how to communicate with them, so that everyone succeeds.
Programmers are systems thinkers and are often looking to build a robust framework for the product. This works well when you know what you are building, but if you are starting from scratch or are trying to solve an unclear problem, this mindset can really limit progress. A great programmer knows that there is a time to build the product, and then there is a time to just hack and slash something together, otherwise known as rapid prototyping.
In the early stages of development, the goal should be to find the fastest and cheapest way to answer a question the team has about the product. Everything being generated during this phase is meant to be thrown away, knowing that what the team learns from this step will inform the system that is eventually built. If you can learn to let things go, it will make the development process easier and more enjoyable.
Have you honed the technical skills to work as a programmer, but want to learn how to manage a project timeline, lead a team and develop effective strategies to communicate with team members, clients and industry contacts? Our Master of Digital Media program is looking for skilled programmers to join our complementary cohort of artists, designers and project managers in September. Read more about the application process or email our admissions team to learn more.