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.
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.
These are the list of technologies that I have worked with during my professional career.
Award for exemplary writing and presentation of original thesis paper “Applying Genetic Programming to Bytecode and Assembly”.
2014 Vol. 1: Iss. 2, Article 4.
Applying Genetic Programming to Bytecode and Assembly.
You Can Find It Here