Dylan Weicker

Hello There!

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 with jQuery, PHP, and SQL.

Beyond programming, I am passionate about education; I love learning and teaching (whether its about coding, science, social issues, or even theatre). Furthermore, I love games. Playing board games with friends is my idea of a perfect time.

Recent Projects


In spare time I'm often working on a coding project I enjoy, whether it be a website or a game. There is so much to create!

Web Development

Qatalyst Platform

In 2020, I produced a website for Qatalyst Research Group to allow potential clients to learn about our services and prospective associates to join our platform.

Auto Dealerships

From 2018-2020, my team at Convertus created over 1400 websites for auto dealerships across Canada. One of the autogroups we made websites for was Myers.

Generative Art

In 2021, a friend of mine encouraged me to make a piece of interactive art using a web browser as my canvas. This is what I came up with. Try it out and see what you can create.

Game Development

Ice Cream Dodger

In 2021, I used Unity to create a simple game about a rotund penguin avoiding flying balls of ice cream in a medieval kingdom. See how many levels you can survive!

Tower Building Game

Inspired by Santorini, I developed a strategy game using HTML5's canvas element and JavaScript. In this game, players build towers and compete to be the first to climb to the top of one.

Fantasy Clue Game

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.

Work Experience


Helping a company to succeed as I develop my software skills is a highly rewarding experience!

Full-Stack Quality Assurance Specialist

Convertus
Oct 2018 - Present ( months)

Responsibilities

  • Refined the quality assurance process to be better documented and more consistent as more quality assurance specialists joined the team.
  • Inspected front-end changes to maximize human-computer interaction across browsers and devices as well as testing back-end changes ensure security and robustness.
  • Anayzed code changes in git commits to find bugs and aided developers in debugging their code.
  • Implemented Selenium tests in Java to quickly detect regression bugs in new sites and releases.

Skills Developed


Wordpress

PHP

MySQL

Selenium

Java

CSS

Front-End Web Developer

Goss Gillroy Inc.
May 2018 - Aug 2018 (4 months)

Responsibilities

  • Designing and implementing two responsive, mobile-friendly websites, using Twitter Bootstrap, Javascript, and PHP.
  • Improved efficiency of proposal writing by developing a Microsoft Office Word plug-in to automate much of the process.

Skills Developed


Javascript

Node.js

PHP

HTML

CSS

Bootstrap

Teaching Assistant for Full Stack Web App Project

UBC
Sept 2017 - Dec 2017 (4 months)

Responsibilities

  • Taught software engineering students from start to finish how to create a full-stack TypeScript application in which they implemented their own databases and created their own querying language that could retrieve and filter data.
  • Facilitated discussion between project partners to assess student understanding and solve any partner conflicts.

Skills Developed


Teaching

Typescript

Node.js

REST

Github

HTML

Full-Stack Web Developer

Mazdis Innovations
May 2016 - Aug 2017 (4 months)

Responsibilities

  • Implemented new features and components in an Angular2 web app that allows users to make reservations at an automated bike parking station.
  • Minimized bugs in this web app by creating a suite of Karma and Jasmine unit tests, manually debugging, refactoring code, eliminating code smells, and improving existing services.
  • Facilitated whiteboard meetings to collaboratively design our user interfaces and software architecture.
  • Performed management duties such as leading job interviews, training/on-boarding new employees, and creating tasks, goals and priorities for my team.

Skills Developed


Angular

HTML

CSS

Firebase

Karma

Jasmine

Full-Stack Software Engineer in Test

Vision Critical
Sept 2015 - Aug 2016 (12 months)

Responsibilities

  • Prevented code regressions and maintained over 90% code coverage on our REST APIs by implementing automated end-to end, integration, and unit tests.
  • Ensured user interfaces were reactive, consistent, accessible, and intuitive by manually testing them across different browsers and devices.
  • Improved efficiency of manual tests by developing a suite of visual tools in Windows Forms that allowed testers and developers to quickly make calls on our REST API.

Skills Developed


C#

SQL

REST

Visual Studio

Selenium

PowerShell

Education


University of British Columbia

Bachelor of Science - Computer Science Major
Sept 2013 - June 2018

Relevant Course Work:

  • Algorithms: big O notation, common algorithms, np-complete, optimization
  • Artificial Intelligence: state/action models, graph searching, natural language
  • Database Administration: database design, ER models, normalization, SQL, PHP
  • Data Structures: stacks, queues, trees, hash tables, and methods to search and sort data
  • Graphics: algorithms for 2D & 3D graphics, geometric transformations fragment & vertex shaders, Web GL
  • Hardware: caching, disks, instruction sets, I/O architecture
  • Human Computer Interaction: stages of design, feedback and visibility, task analysis, prototyping
  • Logic: game theory, logical programming, philosophy, propositional logic
  • Mathematics: differential calculus, matrix algebra, number theory, probability, statistics
  • Networking: communication protocols, network infrastructure and routing
  • Software Engineering: C, C++, C#, Java, TypeScript, object oriented programming, debugging, testing
  • Courses

    Software Development

    CPSC 110

    A

    Introduction to Software Design

    functional programming and good coding practices

    CPSC 210

    A+

    Novice Software Construction

    object oriented programming, design patterns, exceptions, data structures, refactoring, debugging, and testing

    CPSC 310

    A

    Intermediate Software Engineering

    specifying, designing and implementing multi-module software systems, asynchronous programming, and UI

    CPSC 312

    A-

    Functional and Logic Progamming

    Prolog, Haskell, principles of symbolic computing, applications to artificial intelligence

    CPSC 221

    B+

    Basic Algorithms and Data Structures

    design and analysis of algorithms and data structures, searching & sorting algorithms, graphs, concurrency

    CPSC 320

    A-

    Intermediate Algorithms

    design and analysis of algorithms, models of computation, choice of data structures, graph theory

    CPSC 420

    Advanced Algorithms

    Artificial Intelligence

    CPSC 322

    A

    Introduction to Artificial Intelligence

    problem-solving, planning, state/action models, graph searching, natural language

    CPSC 422

    Advanced Artificial Intelligence

    COGS 200

    Introduction to Cognitive Systems

    A-

    cognitive psychology, linguistics, cognitive neuroscience, philosophy, artificial intelligence

    COGS 300

    Intermediate Cognitive Systems

    Computer Infrastructure

    CPSC 121

    Models of Computation

    A

    binary, boolean algebra, logic circuits, proofs, sets & relations, finite state machines

    CPSC 213

    Introduction to Computer Systems

    B

    software achitecture, operating systems, I/O architectures, hardware, assembly code, multi-threading & asynchronous programming

    CPSC 313

    Computer Hardware and OS

    B+

    instruction sets, pipelining, code optimization, caching, disk storage, virtual memory, execution time of programs, operating systems

    CPSC 317

    Internet Computing

    B+

    computer networking, basic communication protocols, network infrastructure & routing, distributed applications

    CPSC 304

    Introduction to Relational Databases

    CPSC 404

    Advanced Relational Databases

    Communications

    ENGL 111

    Non-Fictional Prose

    A-

    reading and analyzing non-fictional writing, including essays, reports, articles and memoirs

    ENGL 112

    Univeristy Writing

    A-

    study and practice of research based writing, including summaries, comparative essays, persuasive essays, and research papers

    CRWR 200

    Introduction to Creative Writing

    A-

    practice in multiple genres of writing, including fiction, nonfiction, poetry, lyrics, screenplay, and stageplay

    CRWR 213

    Writing for New Media

    A+

    practice in writing for new media, including podcasts, blogs, websites, games, and online environments

    Life & Physical Sciences

    BIOL 111

    Introduction to Modern Biology

    A-

    scientific method, genetics, evolution, population growth, ecosystems, infectious diseases, cells, cancer

    CHEM 121

    Structure and Bonding in Chemistry

    B

    fundamentals of bonding theorieis and structural chemistry

    PHYS 101

    Energy and Waves

    A+

    fluids, harmonic oscillator, travelling waves, standing waves, sound, and interference of light waves

    PHYS 102

    Electricity, Light and Radiation

    A-

    optics, electricity & magnetism, electric circuits, radioactivity

    Math & Statistics

    MATH 100

    Differential Calculus

    B-

    derivatives of elementary functions, applications and modeling: graphing, optimization

    MATH 105

    Integral Calculus

    B

    antiderivatives, infitite series, partial derivatives, maxima & minima, discrete and continuous random variables

    MATH 200

    Calculus

    B

    analytic geometry in multiple dimentions, partial and directional derivatives, chain rule, maxima & minima

    MATH 221

    Matrix Algebra

    B+

    systems of linear equations, operations on matrices, determinants, diagonalization of symmetric matrices

    STAT 200

    Matrix Algebra

    A-

    inferences about means, variances, and alysis of variance using computers, problem formulation, interpretation

    STAT 302

    Introduction to Probability

    A-

    basic notions of probability, random variables, expectation and conditional expectation, limit theorems

    Interests


    Web Development

    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.

    Web development has been a hobby of mine for years. I have created websites as well as web apps professionally, academically, and just for fun. I am proficient with using HTML5, CSS3, JavaScript, and jQuery to create websites. And I have used RESTful APIs, PHP, SQL, Oracle, Firebase, Typescript, Angular, and nodeJS to create web apps.

    User Interface Design

    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.

    Artificial Intelligence

    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.

    Game Development

    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.

    Values


    Education

    "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.

    Entertainment

    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.

    Equality

    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.