My name is Dylan Weicker.
I'm an ambitious and optimistic year old software developer based in Vancouver, BC. My fields of interest are web development, UI Design, artificial intelligence, and game development. I love working in Typescript, C#, or SQL.
Beyond programming, I am passionate about education; I love learning and teaching (especially about math and science). Additionally, I love games. Playing board games with friends is my idea of an ideal time.
Even in my spare time, I cannot stop coding. There is so much to create!
In the summer of 2018, I worked as a web developer. I worked with Goss Gilroy Inc (GGI) to set up a website to aid potential clients and associates learn about their new platform.
In the summer of 2016, I volunteered to create a website for a management consultant firm to communicate the company's features and services to potential clients.
Creating a character can be one of the most arduous tasks for new players to the Pathfinder role playing game. To reduce the strain, I am creating this web app to streamline the process.
Using HTML5's canvas, I created a prototype of the classic boardgame Clue. The game includes 2 AI opponents who navigate the board and gain knowledge as the game progresses.
Going above and beyond in a creative school project, I developed a 3D coin collecting/bomb avoiding game. Use WASD to move. Click and drag and use arrow keys to adjust the camera.
Helping a company to succeed as I develop my skills is a highly rewarding experience!
Relevant Course Work: Software engineering, algorithms, databases, data structures, networking, artificial intelligence, cognitive systems, user experience, math, statistics, game theory, logic, philosophy
Introduction to Software Design
functional programming and good coding practices
Novice Software Construction
object oriented programming, design patterns, exceptions, data structures, refactoring, debugging, and testing
Intermediate Software Engineering
specifying, designing and implementing multi-module software systems, asynchronous programming, and UI
Functional and Logic Progamming
Prolog, Haskell, principles of symbolic computing, applications to artificial intelligence
Basic Algorithms and Data Structures
design and analysis of algorithms and data structures, searching & sorting algorithms, graphs, concurrency
design and analysis of algorithms, models of computation, choice of data structures, graph theory
Introduction to Artificial Intelligence
problem-solving, planning, state/action models, graph searching, natural language
Advanced Artificial Intelligence
Introduction to Cognitive Systems
cognitive psychology, linguistics, cognitive neuroscience, philosophy, artificial intelligence
Intermediate Cognitive Systems
Models of Computation
binary, boolean algebra, logic circuits, proofs, sets & relations, finite state machines
Introduction to Computer Systems
software achitecture, operating systems, I/O architectures, hardware, assembly code, multi-threading & asynchronous programming
Computer Hardware and OS
instruction sets, pipelining, code optimization, caching, disk storage, virtual memory, execution time of programs, operating systems
computer networking, basic communication protocols, network infrastructure & routing, distributed applications
Introduction to Relational Databases
Advanced Relational Databases
reading and analyzing non-fictional writing, including essays, reports, articles and memoirs
study and practice of research based writing, including summaries, comparative essays, persuasive essays, and research papers
Introduction to Creative Writing
practice in multiple genres of writing, including fiction, nonfiction, poetry, lyrics, screenplay, and stageplay
Writing for New Media
practice in writing for new media, including podcasts, blogs, websites, games, and online environments
Introduction to Modern Biology
scientific method, genetics, evolution, population growth, ecosystems, infectious diseases, cells, cancer
Structure and Bonding in Chemistry
fundamentals of bonding theorieis and structural chemistry
Energy and Waves
fluids, harmonic oscillator, travelling waves, standing waves, sound, and interference of light waves
Electricity, Light and Radiation
optics, electricity & magnetism, electric circuits, radioactivity
derivatives of elementary functions, applications and modeling: graphing, optimization
antiderivatives, infitite series, partial derivatives, maxima & minima, discrete and continuous random variables
analytic geometry in multiple dimentions, partial and directional derivatives, chain rule, maxima & minima
systems of linear equations, operations on matrices, determinants, diagonalization of symmetric matrices
inferences about means, variances, and alysis of variance using computers, problem formulation, interpretation
Introduction to Probability
basic notions of probability, random variables, expectation and conditional expectation, limit theorems
When I was eight years old, I began creating my own websites. I was intensely passionate about web-development, and this passion is what drove me to pursue a career in computer science. Like most millennials, the internet sometimes feels like my whole world. And being able to shape the pages of the internet makes me feel like I am making a difference in the world.
In today's modern world of smartphones and tablets, the internet is always within our reach. Web development is more important now than ever before.
My passion or website development naturally led into a passion for UI design. I find it fun to think about who my users are and what expectations they have of my interface. When I design a UI, I'm thinking about what experiences the user has with other digital interfaces and within the real world. Then, I see how I can adopt those experiences so that the transfer to my interface feels seamless.
UI design is one of the most important elements of a client-facing software product. A well-designed UI should be seemingly invisible but allow a user to intuitively know exactly what can be done with the software and how to do it. Without a well-designed user interface, even the best back-end code can fail to be used to its full potential.
I am experienced in creating user interfaces. In addition to my many years of web design, I took an upper-level course at UBC on user interface design. This course led me through the process of identifying probably users of the interface, understanding their tasks and problems, and iteratively producing and testing UI prototypes.
I think artificial intelligence is incredibly cool -- I very nearly majored in cognitive systems rather than computer science. The logic involved in programming a system to evaluate its experiences and knowledge to determine the best action to take to meet its goals is exciting to me. I could talk anyone's ear off about what it means for a machine to be intelligent. Does it need to "think" like a human, or merely act in a rational way? (I believe in the latter).
AI plays an integral role in today's society. Many people rely on natural language parsing AI, as seen in Google Home and Amazon's Alexa, to control their home. People also depend on AI to make product suggestions while shopping or search suggestions while browsing the web. While playing single-player games, people rely on AI to act as their ally's or opponents. Furthermore, I believe AI-driven cars will be the next revolutionary advancement for our society.
For a junior software developer, I am well-versed in AI. I have taken two AI courses as well as two cognitive systems courses. In my time at UBC I programmed several artificially intelligent agents: simple programs that could solve virtual mazes, sudoku puzzles, and the 3-SAT problem; a motorized robot that can traverse a physical maze; as well as three different versions of an artificially intelligent opponent who could solve a murder mystery and win a game of Clue.
I have been in love with playing games from childhood until the present day. And my passion for creating games is just as great.
Millions of people around the world share my love of games. These people are on Steam, Amazon, and EB Games every day looking for new games to play.
I have been making small computer games since I was thirteen years old. It is something I have a bit of experience and a keen interest in. I hope to one day entertain the world with a large-scale game that I helped to create.
"Give a man [a vegetable] and he'll eat for a day, teach a man to [tend an vegetable garden] and he'll eat for the rest of the life."
In my opinion, education is the most important asset to humanity. It builds a person's knowledge of the world and empowers them to perform incredible tasks such as sharing insightful new philosophies or creating innovative technologies.
"To teach is to learn twice." That is why I love educating others. I like to create and post multimedia content online to share my knowledge with others. I discuss allyship with my peers to teach them how they can help people and animals who face oppression. And I am always willing to tutor others in fields where I excell, such as math and science.
I hope to use my skills as a software developer to work on a project which helps to educate others.
The best way to engage a person is to entertain them. People are more willing to listen to what you have to say and learn from you if they're having fun along the way.
There are many forms of entertainment that I appreciate. Theatre means a lot to me. I spent years volunteering my time as an actor and starred in three amatuer plays, including Shakespeare's Macbeth. I am obsessed with pop culture. Don't even get me started talking about pop music or the latest Netflix show, I'll never stop. And there's nothing I appreciate more than a dank meme. But the most rudimentary form of entertainment has to be games.
Game development has always been a huge passion of mine. It's what drove me to get started in computer science when I was 12; I wanted to make computer games.
It is my ambition to work as a professional game developer so that I can entertain a large audience.
In a world full of systemic injustices against marginalized groups, such as the gender wage gap (Canadian women on average earn a significant 13% less than their male counterparts), it's important that we come together to support one another. I believe that as a united society fighting against oppression, we will be less likely to face oppression ourselves. The more love we put out into the world, the more love we can expect the world to show to us.
I promote equality.
I want to work on a project which will provide me with a platform to promote equality.