I'm Curtis a computer scientist and geographer from Ontario, Canada. I graduated from The University of Western Ontario with a degree in Computer Science while minoring in Geography.
I've always been interested in computers and software, From games and media to hacks that give you a completely different user experience. There's so many unique adventures and opportunities that can potentially change our lives just waiting for us on a box on a desk or in our pocket.
Computer science and programming is both a powerful tool that can be used to build vast systems that influence the world from cryptocurrencies, labs and research facilities , to social networks and news delivery. It can be a creative outlet that can bring joy to those who use our apps, websites, and programs. The power a programmer has is what makes the field so intriguing
In a similar nature geography is another field of science which has a great reach. It’s the study of not just the land and its’ features but also the inhabitants. The interactions and complexities between these things is a fascinating subject that is always changing.
Having knowledge of both these subjects can be an asset. Computer science techniques can be used to study the land and its’ people both the physical interactions, where people live and how they use the land, but also how people interact with one another. The study of geography can be used to aid software as well. Having an understanding of groups of people can help to develop experiences they want and need.
Since graduating I have spent time reading articles, listening to podcasts, watching videos, studying books, and taking courses to help expand my knowledge further. I always look forward to seeing and exploring new technologies, languages, and libraries as they are created. I feel this is a good quality of a modern programmer.
Along with a strong desire to learn there are other aspects I believe can help make a good programmer. The first is creativity. Creativity helps to find new solutions to problems that someone else might not. Whether it’s an idea for an app, debugging a tricky error, or getting a system planned out and running, creativity is needed to find solutions. To go with creativity we need a passion. Even if I don’t know how to solve a problem I want to know how to solve it. This could be googling, reading documentations, or looking at similar problems to find a pattern. Even if a solution isn’t thought of instantly a perseverance is important to get things done. Amidst all this chaos of constantly learning new things and searching for solutions to the newest problems organization is important. Organized, well documented, code can help both others and the author understand the code. Even an agile development plan adds direction to projects and can be a strong guideline to solving problems.