Ahmet Shapiro-Erciyas

Ahmet Shapiro-Erciyas

Seattle, WA, United States
Hire Ahmet
Scroll To View More
Ahmet Shapiro-Erciyas

Ahmet Shapiro-Erciyas

Seattle, WA, United States
Member since September 4, 2016
Ahmet has over four years of industry experience in Java. He has led internal AngularJS training at Target and has developed iOS apps with 6,000+ downloads. He’s solved a unique problem of estimating a user's current location within buildings that cause weak satellite signals through his Sky Walker application (iOS). He's also a United States Certified Chess Master (top one percentile). He is currently seeking iOS or Angular roles.
Ahmet is now available for hire
Portfolio
Experience
  • Java, 6 years
  • GitHub, 3 years
  • iOS, 2 years
  • AngularJS 1.5, 2 years
  • Swift, 2 years
  • Firebase, 2 years
  • Redux, 1 year
  • Angular 2, 1 year
Seattle, WA, United States
Availability
Part-time
Preferred Environment
Linux/iOS, Xcode, IntelliJ IDEA, GitHub
The most amazing...
...thing I've coded is the skyway navigation application that generates routes based on an A* search algorithm.
Employment
  • Senior Software Engineer
    Target
    2016 - 2017
    • Developed an assortment data-filtering tool which utilized memorization for caching commonly queried data using AngularJS.
    • Created REST service endpoints in Java and Spring that provided forecasting data for product assortments.
    • Refactored and migrated a coupled front-end codebase (jQuery and AngularJS) into a reusable and tested AngularJS app which improved scalability and code longevity.
    • Led a comprehensive AngularJS 1.2 awareness course for interested engineers which included senior engineers as well as architects to further promote deep understanding around AngularJS topics such as the digest cycle, controllers, views, services, states, unit testing, and more.
    • Led a ten-week Clean Code (Robert C. Martin) book club to promote robust code production and maintainability. Some of key topics covered were the single responsibility and open/closed principles, objects vs data structures, and how they play their roles in procedural vs OO design, and more. These were important subjects as it allowed our team to write more concise and easier-to-understand code/tests as a result of the modularization and decoupling of our code base.
    • Designed migration plan from AngularJS to Angular 2.
    Technologies: Java, JUnit, Spring, MongoDB, AngularJS, Jasmine, Protractor
  • Software Engineer | Architect
    Sky Walker | Minneapolis Skyways
    2015 - 2016
    • Designed and developed a skyway navigation app for the skyways of downtown Minneapolis (in total 13 miles long).
    • Handled the numerous design challenges presented in the app design and came up with a number of innovative solutions. More details can be found in my portfolio.
    Technologies: Swfit, Google Places API
  • Software Engineer
    Thomson Reuters
    2012 - 2016
    • Ensured data consistency across local and external databases by developing automated content audits which provided saving costs in manual labor with an internal rate of return of 68.3% over 5 years.
    • Developed a content search tool with content management functionalities such as filtering and pagination in AngularJS.
    • Built REST endpoints that provided legal document data via Groovy which utilized Spring and Hibernate frameworks.
    • Completely migrated the front-end of an old legacy application which used Java Server Pages and now it uses AngularJS.
    • Built new content management applications (included marshalling and batched content audits) as part of a team using OO best practices and Agile methodologies to create a maintainable and reusable code base which provided content management functionalities for multiple groups of internal clients.
    • Performed code reviews and provided feedback for colleagues throughout different projects on a regular basis.
    • Collaboratively gathered requirements from multiple groups of internal clients through sprint planning meetings; also demoed at sprint review meetings.
    Technologies: Java, Groovy, JUnit, Mockito, Spring, Hibernate, AngularJS, MySQL
Experience
  • Sky Walker (Minneapolis Skyways) | Skyway Navigation App (Development)
    https://itunes.apple.com/us/app/sky-walker-minneapolis-skyways/id1166102666?mt=8

    Designed an app for the skyways of downtown Minneapolis (13 miles long).

    Design Challenges and Solutions:
    1. Well-known algorithms that produced the closest route (i.e. Dijkstra’s) took ~15 seconds.
    - Solution:
    Improved the route generation time to ~1 sec.

    2. Bad user location accuracy due to weak satellite signals
    - Solution:
    Used the pedometer of the device to calculate the user’s current location based on the distance that they’ve traveled, and to use the device GPS only when the reading is within 5 meters of accuracy; the user could also long-press anytime to update their location.

    3. General user ignorance of where North actually was.
    - Solution:
    Use the magnetic heading of the device to make the map view always point out where the user needed to be heading; so if the user rotates their device, the map on the screen will still point in the right direction.

    4. Confusion about the skyway route since they didn’t always start from the second floor and users often missed a semi-hidden gateway which would lead to the user distrust.
    - Solution:
    Different levels within the route were labeled with different colors. This way the user knows to look out for an escalator or elevator when the route’s color changes.

  • Tickler Among Us | Game (Development)
    https://itunes.apple.com/es/app/tickler-among-us/id1254844313?mt=8&ign-mpt=uo%3D2

    Created a real-time multiplayer, rapid-touch iOS game

    Design Requirements and Technical Details:
    1. Real-Time Player Interaction
    - Uses the Firebase real-time database to allow clients to keep an open socket connection to the back-end server which allows players to send and receive their game inputs in real time.

    2. Search Through a Large List of Games
    - Implements a filter for games by a keyword that is updated on each keystroke.

    3. Views with Minimal Memory Consumption
    - Uses unwind segues for easy deallocation of memory for unused views.

    Additional features include background audio during gameplay and game winner animation.

  • Recipe Manager (Development)
    http://aerciyas-recipe-manager.s3-website-us-east-1.amazonaws.com

    A sample Angular 2 web application to create, read, update, or delete recipes as well as add recipe ingredients to a grocery list.

    The back-end uses Firebase to persist recipe and ingredient entities. Email sign-in required.

  • Angular Change Detection and the OnPush Strategy (Publication)
    Out of the box, Angular provides two different change detection strategies: Default and OnPush. Each strategy has its own advantages, but sometimes it is easy to miss a nifty optimization opportunity if you stick to the default strategy. In this article, Toptal Freelance Software Engineer Ahmet Shapiro-Erciyas walks us through the available change detection strategies and shows how to use them in any Angular project.
Skills
  • Languages
    Java, JavaScript, Swift
  • Frameworks
    AngularJS 1.5, Angular 2, Mockito, Protractor, Jasmine, Redux, JUnit, Hibernate, Spring
  • Tools
    Xcode, IntelliJ IDEA, GitHub, Git, Maven, NPM
  • Libraries/APIs
    Node.js
  • Platforms
    Firebase, iOS
  • Storage
    MongoDB, MySQL
  • Misc
    Heroku Deployment
Education
  • Bachelor of Science in Mathematics and Computer Science
    Hamline University - Saint Paul, MN, USA
    2007 - 2012
I really like this profile
Share it with others