E-commerce Lead Resume
Flower Mound, TX
TECHNICAL SKILLS
Programming Languages: Objective - C, Python, Java (OCP and OCA ), Swift, Ruby, MIPS/Assembly, C/C++
Operating Systems: Comfortable with Unix (Linux and macOS) and Windows 7
Version Control: Proficient with Git. Oversaw onboarding my department s new developers at HEB Administered HEB s iOS Mobile Team repositories. Administered MonkeyMoto/GearHousePros/AGVSPORTUSA s repositories Administer personal projects in DVCS, such as GitLab, GitHub, and BitBucket
Programming: Xcode, Jetbrains’ Suite (IntelliJ, PyCharm, RubyMine, AppCode, etc.), SublimeText, nano, vi.
PROFESSIONAL EXPERIENCE
E-Commerce Lead
Confidential, Flower Mound, TX
Responsibilities:
- Running a “one - man” department, encompassing both IT/IS responsibilities, including but not limited to:
- Developing internal tools in Python to reduce manual effort and enable faster turnaround time for B2B (business to business) purchase-order generation.
- Developing web-based tools in JS and Adobe Illustrator for customers to customize and order Motorcycle race suits.
- Inheriting, maintaining, and updating the four public facing websites for our company, hosted across multiple platforms, each with a different software stack.
- Working with external contractors to facilitate the development of our B2C (business to consumer) / eCommerce portal.
- Administering: Dropbox, Evernote, Outlook, Zoho, GoDaddy, HostGator, DigitalOcean, eBay, WordPress, BigCommerce.
- New and notable exposure to the following concepts:
- JavaScript, HTML, CSS, being the point of contact for vendors and contractors, being responsible for making IT/IS decisions that impact the whole company
iOS Developer
Confidential, San Antonio, TX
Responsibilities:
- Developed HEB’s iOS eCommerce app that utilized data from Core Data, RESTful APIs, and RSS feeds to drive in-store and eCommerce sales.
- The eCommerce API team was not effectively communicating API changes to my team, leaving us to discover integration issues in production:
- I learned how to set up a API testing environment (Postman) and taught the team how we could utilize it to monitor the REST endpoints “in vitro” for consistency and keep the API team accountable for communicating changelogs.
- I learned how to set up proxies (Charles) for both the iOS and Android teams on our development devices. I taught my teammates how to use this tool to monitor and mutate the requests so that we could inspect the traffic to/from the phones to ensure the integrity of the API team’s data “in situ”.
- Continuously maintained app after launch to address performance, bugs, and UI tweaks, as well as deliver new features with an Agile approach.
- Team switched to Agile in 2016. This was a massive cultural shift for the team, (both the business and development sides). At first, we had to be mindful to stick to Agile to avoid reverting to our Waterfall habits until we saw the fruits of our labor. We found great success in this new framework because we were able to build trust between the developers and business side by adhering to the Agile philosophy and ceremonies.
- Development produced results that more closely met a well-defined business need in much less time. The various Agile “Ceremonies”, such as the Sprint Review, allowed the business to see the benefits of a well-groomed backlog and a development team with agency in the Sprint Planning. These constant, small victories engendered trust between the teams and enforced the methodology’s efficacy, which led to a self-fulfilling loop of improvement.
- Sprint Retrospectives provided a constructive environment to address any shortcomings of the teams and plan out action items to fix them, as well as a place to recognize and praise people for their contribution to the Sprints. I believe that this Ceremony proved to be one of the most beneficial of all, since it forces teams to occasionally stop and acknowledge the success of the individual as directly responsible for the success of the team.
- Administered the iOS and Android teams’ continuous integration, version control, and code-review servers
- I learned how to set the project up properly in Jenkins and Fastlane (iOS CI build tool) to allow for continuous automatic delivery of builds to our QA team and integrated Crashlytics to allow production analytics and bug tracking.
- I set out to gather feedback and enshrine a well-defined Git “manifesto” for the iOS team, based on the feature-branching strategy, with a consistent naming scheme, so that our version control history was easy to read and maintain. The goal was to reduce the “bus-factor” by making it simple for any of us to navigate the repository and configure the CI build server to deliver the proper branches as needed.
- Before we ultimately switched to GitLab, I set up a code-review servlet (Upsource) on our CI server to help the team perform higher quality, asynchronous code reviews, before committing the code to our development branches
- These actions resulted in a much smoother workflow for our team and a much tighter feedback loop with the QA team. In the following months, we reduced the production crash-rate per “user session” on iOS by 95%: from ~2% crash-rate to under 0.1%
- Worked closely with the visual design/marketing teams in daily meetings to deliver high quality experiences for end users
- New and notable exposure to the following concepts: macOS, Objective-C, Swift, Ruby, JSON, REST, RSS, Agile, Continuous Integration and Deployment
Developer
Confidential, San Antonio, TX
Responsibilities:
- Implemented and maintained an integration server to transfer batched e-commerce data between legacy systems.
- I learned about a submodule of Spring, Spring Batch, which appeared to have all the tools we needed. I presented my findings to the team and we adopted the framework. In doing so, we avoided having to reinvent the wheel and were able to focus our efforts entirely on fulfilling the business logic needs of the project.
- During my time in the department, I was very intrigued with Git and spent a good deal of time exploring it, both while working on professional and extracurricular projects. I noticed that many of my junior colleagues had issues conceptualizing and using Git properly, so I organized a lunch-and-learn to help the department grow in their understanding of the VCS tool.
- This later evolved into an informal “class” which I held every six months for the new-hires, which I enjoyed thoroughly.
- I earned both Oracle’s Java OCA and OCP s during my time in the department.
- New and notable exposure to the following concepts:
- Java, Spring (Core and Batch), Git