The professional site of

Justin Time Hutchins

Resume

About


A student at the University of Michigan, pursuing a B.S. in Computer Science. I'm a passionate creator who loves learning new technologies and languages. I especially pride myself on writing clean and maintainable code that relies on test driven development. Currently exploring different aspects of computer science, but looking to gain experience in the field of computer security. Besides programming I spend a lot of time listening to music, reading, enjoying art, and writing.

Profile Picture

Education


University of Michigan logo

University of Michigan, Ann Arbor
Class of 2022, Honors Program
L.S.A. Computer Science B.S.
G.P.A.: 3.5/4.0

Experience


Software Engineer Associate

Learning A-Z

August 2020 - Current

Learning A-Z Website
  • Navigated a code base of over 80,000 files to diagnose issues, locate problematic code, and develop an effective solution while increasing the quality of the existing code. Created detailed bug reports using FogBugz issue tracking software.
  • Followed an efficient workflow, using Git and GitLab to create branches with proposed fixes and open merge requests to patch changes into the product. Successfully merged 26 branches after undergoing code review by senior engineers.
  • Participated in weekly code inspections with a team of 7 engineers of varying experience to refine clean code practices.

Software Engineer Intern

Learning A-Z

May 2020 - August 2020

View on GitHub
Learning A-Z Website
  • Implemented a user-facing search feature using object-oriented PHP patterns, AngularJS components, complex MySQL statements, Solr full-text search indexing, and Git for version control. Project consisted of 1,300 lines of code across 21 files and included unit tests developed with the PHPUnit framework that reached 88% line coverage.
  • Communicated frequently with a mentor and a team of 90+ engineers to learn the existing product codebase.
  • Researched web application technology stacks and presented findings in a live demonstration that outlined how to stand up the LAMP stack on a Digital Ocean server in 10 minutes using Git and GitHub for development and deployment.

Writer

Arts at Michigan

University of Michigan

Feb 2019 - Current

Arts Ink Website
  • Write weekly blog posts for arts, ink. that focus on art related topics in a clear and concise manner.
  • Maintain positive interactions with readers and promote audience growth in order to cultivate a reliable reputation and draw consistent readers.

Stacks Assistant

Law Library

University of Michigan

Jan 2020 - Mar 2020

Law Library Website
  • Worked closely with a small team to complete large reshelving projects by shifting hundreds of books.
  • Performed equipment checks on printers, computers, and scanners throughout the library.
  • Completed a variety of tasks, such as collecting books from drop off boxes, sorting and shelving returned books, and doing routine library checks for misplaced material.

Projects


Library System

June 2020

Independent

View on GitHub
  • Built a full-stack library system with user accounts, book management, and search functionality, with an emphasis on using practical security measures such as prepared statements, password salting and hashing, and account validation.
  • Used object-oriented PHP for APIs and interfaces, MySQL to store user and book information, AngularJS to display books and fetch data dynamically, HTML for static elements, and CSS for styling.
  • Relied on internal APIs for searching and managing the library database and utilized an external public API for dynamically generating book information when adding new books.

Pipeline Processor Simulator

April 2020

EECS 370

  • Simulated a six stage, eight register pipeline processor with an instruction and data cache that runs 32-bit assembly instructions based on the ARMv8 assembly language.
  • Used data forwarding to resolve data hazards and speculate and squash to resolve control hazards, using methods such as predicting always taken, always not taken, forward not taken and backwards taken, a one bit global predictor, and a two bit global predictor. Returns the optimal branch prediction method that minimizes the number of cycles per instruction of the program.
  • Determined the optimal block size, number of blocks per set, and set-associativity for both the instruction cache and data cache to maximize their respective hit rates during the lifetime of the program.

Coordinate Path Finder

December 2019

EECS 281

  • Calculated time efficient, near-optimal and optimal solutions to the Traveling salesman problem (visiting given coordinates and returning to the starting point) using algorithms and heuristics such as Arbitrary Insertion, Nearest Neighbor, and Branch and Bound.
  • Utilized Prim's and Kruskal's algorithms to produce Minimum Spanning Trees that connected over 10,000 unique coordinates under constraints.

Error-Log Interface

November 2019

EECS 281

  • Designed and programmed an interface to manage error log data files with search and retrieve functions and developed an excerpt list for easier organization and efficiency.
  • Coded using hash tables and various sorting algorithms such as Merge Sort, Quick Sort, Insertion Sort, and Counting Sort, while analyzing and optimizing time and space complexity.
  • Scored 100% on the final project submission, determined by rigorous tests, thorough debugging checks, and strict time and space complexity constraints.
  • Wrote 20+ detailed test files that included up to 40,000 error log entries in order to stress test and debug edge cases.

Extracurricular


Michigan Hackers

Security Team Lead

April 2020 - Current

Michigan Hackers Website
  • Worked together with the executive board and ~20 other team leads to plan and host virtual events.
  • Prepared for and competed in multiple Capture the Flag competitions with a team of 10 members.
  • Developed weekly practice challenges and presented solutions in live demonstrations to teach new members about web security, app security, and forensics.

Core Team Member

Jan 2020 - April 2020

  • Joined the Security Team, working with 15+ other members to learn and practice security concepts in the Linux environment.
  • Worked with the Interviewing Director to gain practical interviewing experience, as well as insight into the application and interviewing processes of large tech companies.

Skills


© Justin Hutchins 2020