Scroll To View More
Ahmet Shapiro-Erciyas

Ahmet Shapiro-Erciyas

Seattle, WA, United States
Member since September 4, 2016
Ahmet has over five years of industry experience in Java. He's also led the internal AngularJS training at Target and has developed iOS apps with more than 8,000 downloads. A work highlight of Ahmet's is when he solved the unique problem of estimating a user's current location in a building; the building structure hindered the weak satellite signals that the Sky Walker app (iOS) needed. He's also a US-certified chess master (top one percentile).
Ahmet is now available for hire
Portfolio
Experience
  • Java, 6 years
  • GitHub, 3 years
  • AngularJS, 2 years
  • iOS, 2 years
  • Swift, 2 years
  • Firebase, 2 years
  • Angular, 1 year
  • Redux, 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
    2016 - 2017
    Target
    • 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
    2015 - 2016
    Sky Walker | Minneapolis Skyways
    • 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
    2012 - 2016
    Thomson Reuters
    • 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)

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

    Work Done:
    • Improved the route generation time to ~1 sec; previously the well-known algorithms that produced the closest route (i.e., Dijkstra’s) took ~15 seconds.
    • Solved bad user location accuracy due to weak satellite signals by using the pedometer of the device to calculate the user’s current location based on the distance that they’ve traveled; also to only use the device GPS when the reading is within five meters of accuracy. The user could also long-press anytime to update their location.
    • Solved general user ignorance of where North actually was via the use of the device's magnetic heading 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.
    • Cleared up the 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. Ensured that 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

    Here, I created a real-time multiplayer, rapid-touch iOS game.

    Work Done:
    • Implemented real-time player interaction by using a real-time Firebase 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.
    • Enabled the users to search through a large list of games by developing a filter for games by a keyword that is updated with each keystroke.
    • Created views with minimal memory consumption via the use of unwind segues for the easy deallocation of memory for unused views.
    • Developed additional features which include background audio during gameplay and game winner animations.

  • 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. An 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, Swift, JavaScript
  • Frameworks
    Angular, AngularJS, Spring, Hibernate, JUnit, Mockito, Jasmine, Protractor, Redux
  • Tools
    Xcode, IntelliJ IDEA, Git, Maven, NPM, GitHub
  • Libraries/APIs
    Node.js
  • Platforms
    Firebase, iOS, Heroku
  • Storage
    MySQL, MongoDB
Education
  • Bachelor of Science degree in Mathematics and Computer Science
    2007 - 2012
    Hamline University - Saint Paul, MN, USA
I really like this profile
Share it with others