Software Development Experience

Senior Design Project – Thales Group Proof-of-Concept Android App

Lead Software Developer

Jan 2016 – Jun 2016

Description: A proof of concept Android application that would allow users to monitor business operations, like fleet performance.

Technologies: Android, Java, Spring, REST, MPAndroidChart

Part 1 – Focus: Usability Design & Implementation Design (Winter Quarter)

  • Actively participated in architectural discussions that led to the use of the Model-View-View Model architecture for eased view and application logic testing
  • Constructed sequence, class, and activity diagrams for the planned application flow and proposed features
  • Served as the main liaison to the System Architect at Thales who advised us on our implementation design and briefed us on how we should make requests to Thales’ cloud architecture. (This approach was ultimately scrapped for a mocked RESTful backend using Spring.)
  • Played an active role in our bi-weekly sprint report presentations to our client and class over the course of both quarters

Part 2 – Focus: Implementation (Spring Quarter)

  • Delegated development tasks and directed integration efforts during sprints
  • Laid the foundations for the class that made login and coverage data requests to our mocked RESTful backend
  • Implemented login functionality and used Android’s AccountManager class for on-device account creation and token authentication
  • Played a vital role in the discussion that finalized the data visualizations on the Operations dashboard
  • Completed the Operations dashboard, which, using mocked coverage data from the backend, displayed five line charts that identified how many airplane data payloads were lost each day for each coverage area and allowed users to select a data point to see detailed information for the specified day (Graphing Library Used – MPAndroidChart)
  • Fine-tuned and populated the Operation dashboard’s detail page, which listed all of the airplanes that lost a payload on the chosen day
  • Refactored code for clarity and wrote documentation


placeholder image

Project in Human Computer Interaction & Evaluation – Web-based Exergame Tracker

Software Developer

Apr 2016 – Jun 2016

Description: A web-based administration system that would allow doctors and trainers to track the exercise data of their Leukemia patients.

Technologies: Spring, MongoDB, AngularJS, HTML, CSS

  • Participated in architectural discussions that determined what technologies would be used for the backend and front-end
  • Played an active role in backend development discussions and supported backend development efforts that were being spearheaded by another team member:
    • Made the REST controllers make use of the service layer classes, which interacted with the MongoDB database
    • Constructed the model classes and added missing operations to the service layer classes
  • Provided direction for development efforts that led to the creation of a message queue based on the client’s requirements
  • Developed a python script that was used to remotely update the Spring-based server on the client’s physical server, which I previously set up
  • Wrote documentation that described our architecture and why specific technologies were chosen
placeholder image

Software Design II – Final Project

Software Developer

Feb 2016 – Mar 2016

Description: An extensible board game server.

Links: GitHub

Technologies: Java, JavaFX

  • Collaborated with 6 students in order to design and build an extensible board game server, which included a networking component and the following built-in games: Chess, Checkers, Tic-Tac-Toe
  • Actively participated in architectural discussions that led the game-related classes to ultimately use a Model-View-Controller architecture, in addition to participating in discussions related to how the networking component of the project would interface with the game architecture
  • Proposed the creation of a standard way to construct grid-based game boards, which was implemented and used by each game
  • Designed and implemented the custom game board implementation (BoardGameGridPane) and the base game gui class (GameGUI); Contributed to the development of the Chess game plugin
  • Participated in five presentations over the course of the project that explained how we went about the project
  • Wrote documentation for the custom game board implementation and the base Model/View/Controller classes


placeholder image

Mixagram

iOS Developer

Oct 2014 – Feb 2015

Description: A mobile app for the iPhone that allows users to combine short video clips with music.

Technologies: Objective-C, iOS, PBJVision, Facebook Pop

  • Laid down the foundations for the recording and preview screens based on the given design specifications
  • Analyzed the documentation and code of the outsourced music and video clip mixing engine in order to integrate its functionality into the recording screen
  • Reverse engineered the iOS camera engine, PBJVision, in order to record individual clips so that they could be paired with music and be merged with the aforementioned engine
  • Developed the progress bar and processing music animations using Facebook’s animation framework, Pop
  • Developed a custom radial value picker control, which is used to control the song and device’s microphone audio levels
placeholder image