Code Monkey home page Code Monkey logo

jarvis_data_eng_johnnyleung's Introduction

Johnny Leung . Jarvis Consulting

I graduated from Queen's University in Kingston, Ontario, with a Bachelor of Computing (Honours), specializing in Software Design. Now I am eager to apply what I have learned both in school and in my work to a challenging, dynamic, and teamwork-oriented role.

Currently, I am working as a Data Engineer at Jarvis Consulting Group. I am expanding my skill set at Jarvis by exercising agile development methods and periodically learning new technology. More specifically, I have been working with my team in an Agile/Scrum development cycle and have developed applications with Linux, PostgreSQL, and Java. I have a passion for writing clean, efficient, and high-quality code, and I hope that my work at Jarvis shows that.

What excites me about software development is the limitless potential. I can create anything I want or can think of–from trivial applications like a music downloader to a large-scale, graphical operating system with millions of lines of code like Windows. I can turn any small idea I have into potentially the next Twitter, Facebook, or YouTube; the only thing limiting me as a software developer is my creativity and drive.

I sincerely hope that the skills, passion, and work shown here make you want to learn more about me. If so, I look forward to speaking with you.

Skills

Proficient: Java, Linux/Bash, RDBMS/SQL, Agile/Scrum methodology, Git, Data Structures, Algorithms

Competent: Python, Docker, Maven, Google Cloud Platform, Windows/Powershell, Waterfall methodology

Familiar: C, C#, C++, HTML, PHP, CSS, Javascript, Node.js, Vue.js, UML, Artificial Intelligence

Jarvis Projects

Project source code: https://github.com/jarviscanada/jarvis_data_eng_JohnnyLeung

Linux Cluster Resource Monitoring App [GitHub]: Developed a Linux Cluster Monitoring Agent (LCMA) that is used to record hardware specifications and resource usage (e.g. CPU/Memory) in real-time. The Jarvis Linux Cluster Administration uses it for a Linux cluster of nodes/servers running CentOS 7. Crontab triggers are used to collect data from the host machine every minute, which is then stored in a Relational Database Management System database using PostgreSQL (PSQL). Bash scripts are used to create, stop, and start the PSQL Docker instance for data collection. SQL queries are used to analyze and present the collected data; they can find the average memory a node uses over a time interval and detect server failures.

Core Java Apps [GitHub]:

  • Grep App: Developed an application to replicate the Linux grep command, which recursively searches for a specified text pattern in files in a given directory and outputs matched lines to a file. The IntelliJ IDE was used with JUnit testing, and methods were written using the Java 8 Lambda Stream API. Maven was used for packaging the application into a JAR file. A Docker image of the application was made and is available on Docker Hub.
  • JDBC App: Developed a customer-order-processing system programmed in Java 8 and using the Data Access Object (DAO) pattern. It is connected to a PostgreSQL (PSQL) database that runs inside a Docker container. Java Database Connectivity (JDBC) is used to connect the application with the database. JDBC is also used to allow the user to run queries and perform all 4 CRUD (create, read, update, and delete) operations on the database. The database contains basic sales information, which includes customers, orders, salespeople, and products. PSQL was used to create, populate, and query the database; Maven to compile and build the project and manage its build dependencies; a Docker container for deploying the database; and DBeaver for database testing and verification.

Highlighted Projects

Conway's Game of Life [GitHub]: Developed an artificial intelligence project that simulated constantly-evolving artificial life, with a live graphical display. Written in Python.

Connect Four with Reinforcement Learning [GitHub]: Training a reinforcement learning agent to play a game of Connect 4, with a visual simulation. The agent utilizes the deep Q-learning algorithm to learn after every game against either a human or another agent. Written in Python.

Learning Management System: Developed a web application for Queen’s University’s drama and music department, which is made up of 80+ staff. Allows users to build an annual list of course offerings, track instructor teaching history and administrative service, calculate workload, and update/modify the database. A year-long project that involved group work, design and code review meetings, delivery of complete software specification and design, and applying the waterfall process to plan, manage, and track the project. Required frequent communication with the customer and supervisor through progress updates, oral presentations, and formal meetings. Used HTML, CSS, JavaScript, Node.js, Vue.js.

Professional Experiences

Software Developer, Jarvis (2021-present):

  • Exercised Agile/Scrum methodology on a daily basis with team, both as a member and a lead
  • Implemented Gitflow framework for collaboration and project planning
  • Personally developed various software applications using Linux, PostgreSQL, Bash, RDBMS, Docker, Maven, and Java

Test Automation Developer, National Bank of Canada (February-June 2022):

  • Provided support for the planning and overall integration of test activities in projects implementing IT solutions in Agile mode
  • Developed automated application tests using NBC's frameworks embedded in continuous testing (CT)
  • Supported and assisted (onsite/offshore) parties involved in testing, coordinate team activities, and act as a coach to help resources master QA activities
  • Suggested and influenced the definition and development of QA practices and processes
  • Helped implement test automation tools in a DevOps environment and recommend other appropriate tools
  • Ensured the quality of deliverables and that deadlines are met while managing risks
  • Monitored QA activities daily including developing and executing tests, managing irregularities, and providing progress report

Teaching Assistant, Queen's University (2020-2021):

  • Worked closely with students via email and Zoom calls to provide individualized attention and assistance
  • Collaborated with instructor and other TAs to ensure efficient operation and delivery of courses
  • Created a friendly, open environment for students during hosted office hours, where students could get help, study, work on assignments, share concerns, talk with others, or simply hang out

Education

Queen's University (Graduated June 2021), Bachelor of Computing (Honours), Software Design

  • Dean's Honour List (2019-2020): The Dean's Honour List for undergraduate students in the Faculty of Arts and Science recognizes those students who have achieved an academic year GPA of 3.50 and above, based on the combined GPA for all courses taken in the Fall, Winter and Summer terms.

Miscellaneous

  • Learning REST APIs - LinkedIn Learning (2021)
  • Learning JDBC - LinkedIn Learning (2021)
  • Java: Automated API Testing with REST Assured - LinkedIn Learning (2021)
  • Watching tech channels on YouTube (Linus, Marques Brownlee, etc.)
  • Casual gaming
  • Watching movies/shows

jarvis_data_eng_johnnyleung's People

Contributors

eternaldragonx avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.