Edward Rees

Web Developer, Mobile Developer, Programming Tutor, Sailor, Educator, DevOps Trainee, Solutions Architect, and more...

About Me

Who am I?

My name is Edward Rees. I grew up in Hong Kong and lived there for most of my life up until I moved to San Francisco in 2018. I graduated in Spring 2022 with my Bachelors of Science in Computer Science with a Minor in Psychology. I was in the 4+1 Dual Degree Teaching Program at the University of San Francisco, which led me to graduating again in the Spring of 2023 with my Masters of Arts in Teaching with a preliminary Single Subject Credential in Mathematics. I spent a year working before returning to the University of San Francisco to teach an Introductory Computer Science course in the Spring Semester of 2024, where I still am.
When I'm not programming or teaching, I'm often lesson planning or developing my curriculum for current or future classes. Additionally, you may find me researching technology to learn and use in various projects. When I'm in Hong Kong, you may find me sailing instead. You may also find me tutoring people in programming.

My Story

I began programming in 2014. I started with the simple HTML and CSS-web design. Shortly after, in early 2015, I began playing around with Swift, Python, and Java. Throughout 2015-2016, I took a course on Python that served as an introductory course to programming. I learned the basics of Java in High School over a year long course on Computer Science covering the main aspects of Java throughout the winter of 2016 to the summer of 2017. During the summer of 2017, I learned the JavaScript framework of React and it's application of React Native to help build the College Selector. In the summer of 2018, I learned basic TypeScript, the JavaScript library named Vue.js, played around with PHP and Kotlin.
I've taught and tutored Web Design, Python, Java, JavaScript, and C# to students varying in ages. During my Undergraduate years, I served as a Teacher's Assistant to our Introduction to C and Systems course, tutoring and helping University students increase their understanding of the C programming language.
Asides from tutoring and teaching, I've been deepening my own understanding of C++, Rust, Go, and various Web technologies. I've also begun exploring the DevOps space with using more Cloud Services and a VPC. Additionally, I've begun working with more Docker Containers and Virtual Machines to gain a stronger understanding of the operations side of DevOps. On top of that, I've been designing the system for a startup that I'm working on with a couple friends of mine. The system uses microservices, Docker, and Kubernetes to create a scalable and reliable system. In doing so, I'm learning more about Docker, Kubernetes, and more DevOps tools to help me support the startup.
In terms of teaching and pursuing education and becoming a teacher, I've often been asked why I made this decision. When I was in my first year of University, I realized how much I enjoyed explaining various concepts to my peers and teaching others programming concepts. I discovered my personal passion for education and helping others find their interest in Computer Science and programming, or on the flip side, helping others understand why programming may not be for them or why they don't enjoy it so much. I spent a year teaching Algebra at a High School in San Francisco, before transitioning to teaching Computer Science at the University of San Francisco.
I am now an adjunct professor at the University of San Francisco teaching Introductory Computer Science courses. I have created the curriculum, developed the assignments: quizzes, in class exercises, labs, and projects, developed the lectures, and implemented Project Based Learning principles in my class. Additionally, I have focused on teaching the Application of concepts on top of the foundation, in order for students to gain a stronger conceptual understanding beyond a procedural understanding.

What can I do?

Web Development

I can help you create a website's front end using HTML, CSS, and JavaScript. Furthermore, I can help create a back end using NodeJS, Bun, or Rust. Additional libraries for front end development include utilizing Bootstrap, Tailwindcss, React.js, NextJS, and Vue.js.

App Development

I can help you create a mobile application using React Native. Due to my limited Native Android and iOS experience, I can only help you create applications using React Native, but I can help guide you in the process of creating a mobile application regardless of the language of choice.

Programming Tutor

I can teach HTML5, CSS3, JavaScript, TypeScript, Python, Java, C, and C#. It depends on what you want to do. I can help you understand any of the programming languages I have experience with.

System Design

I can help design the backend system required for a given tech project. This includes suggesting the most ideal and optimum technology stack for a given product to reinforce stability and scalability in the future.



Programming Languages


Web Frameworks & Libraries

Mobile Development
React Native

Backend Libraries / Technologies

Operating Systems


Support My Friends & Family!