Experiences

iOS Software Developer

May 2019 - Present
Conservis, Minneapolis MN
  • On a scrum team of nine people building new flagship application from the ground up.

  • Client was losing customers due to legacy objective-c application being too hard to use. Implemented simplified workflow feature in Swift with a new UI, data layer, and business logic, that tied into legacy code, in order to begin the process of decoupling UI and business logic. Team Increased test coverage from 0% to 8% implemented black box testing to assure changes to legacy code did not break old UI and workflow. Received positive feedback from users.

  • Team was having trouble with code hygiene and formatting. Implemented SwiftLint into flagship project and included it in our CI/CD pipeline and proposed rule set to team. Slowly turned on rules and refactored code. Sped up code reviews by reducing the number of comments and improved code readability.

  • UI bugs for smaller devices in different languages were getting released to production semi frequently. Lead discussion in solving this problem and decided on using Fastlane's snapshot as a manual job to our CI/CD pipeline that generates screenshots in French, Spanish, and English for QA.

iOS Software Developer

Aug 2014 - May 2019
Arux Software, Minneapolis MN
  • Responsible for developing and maintaining iOS applications.

  • Built application around MVC pattern and then pivoted towards using MVVM for new features and redesigns. MVVM helped decouple business and UI logic, avoid large view controllers, and allowed for easier testing.

  • Cross functional team was having trouble keeping track of tasks and progress. Did research on the agile methodology and proposed it too the team. Used Github projects, stories, stand-ups, refinements, and retrospectives to better keep track of work and progress. Resulted in better communication, server side work getting done faster, and helped improve estimates on time to complete work.

  • Improved application stability and reduced bugs by adding unit tests to current code, wrote tests for reported bugs, and used dependency injection in order to facilitate testing new code.

  • Clients required data persistence due to unpredictable network connectivity. Researched and compared Core Data and Realm. Core Data was chosen since it is a solution from Apple and persisting data across different platforms was not needed.

  • Improved application security before transitioning it from the B2B application store to the general store. Added API secrets along with obfuscation, masking, and honey pots.

Personal Projects

Odds Of Catan - Built and designed iOS application used to keep track of your probabilities of getting resources in Settlers of Catan. Used Swift, UIView animations API and the MVVM design pattern. Find it on github.
Personal Website - Designed and built personal website, ericcollom.com, using CSS, HTML, and Bootstrap.

Technical Strengths

These are the list of technologies that I have worked with during my professional career.

Proficient In - Swift

Familiar With - CSS, HTML, Ruby

Frameworks & APIs - Core Data, Cocoa Touch, Core Animation, XCTest, Alamofire, Bootstrap, Resful, Sinatra

Tools - Fastlane CI/CD, XCode, Git/Github, Sketch, Atom

Awards

Thesis Award, University of Minnesota, Morris, Morris MN

Award for exemplary writing and presentation of original thesis paper “Applying Genetic Programming to Bytecode and Assembly”.

Publications

Scholarly Horizons: University of Minnesota, Morris Undergraduate Journal

2014 Vol. 1: Iss. 2, Article 4.

Applying Genetic Programming to Bytecode and Assembly.

  • Professor submission only: representing top level work seen over professor's career.

  • You Can Find It Here