face Created with Sketch.

About Me

Hey, I'm David! I’m a fourth year Software Engineering student at the University of New Brunswick (UNB). Writing code is more than just a job to me — it’s part of who I am. What I like most about web development is I get to express my creativity and share it with the world. I'm driven by the idea that code is not a purely technical skill but also a medium for art.

Although I’m in working towards a degree in software engineering, my skills in web development are almost completely self-taught. I first started writing code in grade 10 (2010) as a freelance web designer and web developer. Since then, I’ve continued to grow my programming skills and I now have over five years of experience building websites and web applications both professionally and in my spare time.


Sept 2013 - Now

University of New Brunswick

Bachelor of Science in Software Engineering, Year 3

“The UNB Bachelor of Science in Software Engineering (BScSwE) program is a joint program of the Faculty of Computer Science and the Dept. of Electrical and Computer Engineering. The BScSwE program is one of 14 Software Engineering programs accredited by the Canadian Engineering Accreditation Board (CEAB), and the only CEAB accredited Software Engineering program in Atlantic Canada.”

(source: http://www.unb.ca/fredericton/jp/swe/index.html)

areas of interest

Full-Stack Development

React.js & Redux, Express.js, Node.js, MongoDB

I believe that component-based architecture is the future of web development and React and Redux are currently the most attractive option out there. I like using Express with Node, and MongoDB on the server side of things because using JavaScript throught the entire system makes communication between the client and server seamless.

Internet of Things

The Internet of Things interests me because I believe it is the perfect niche in which software engineers can thrive. Students of computer science (CS) rarely get to work with physical hardware in their course work, and students of electrical & computer engineering (ECE) rarely get the chance to write higher-level code. What makes software engineering different is that it’s a hybird degree of CS and ECE, giving students in-depth knowledge and practice in both hardware and software.

Machine Learning

I believe the greatest applications are ones that can think for themselves. Making smart software that can be proactive with its users enables greater usability and an optimal user experience. Although I am a novice in this area of computer science, I’m eagar to learn more about it and to start building software that implements this concept.

Project Management

Ultimately, I would love to be a project manager. Even though I like getting my hands dirty and writing code, I believe I’m on a tragectory for project management because of my broad knowledge of languages, frameworks, tools, and technologies. I also have a unique set of skills including problem solving, programming, design, hardware, and workflow, which will allow me to be an asset in all parts of a given project from start to finish.

UI/UX Design

I believe good software starts with a good user interface and user experience, but many programmers have almost no concept of UI or UX design, which results in sloppy interfaces that are hard to use. The benefit in having both design and coding skills is that I know the limitations and capabilities of the medium for which I’m designing. I like UI/UX design because it is expressive, and it allows me to combine my artistic and technical skills in single project.