Scroll To View More
Ahmet Shapiro-Erciyas, Software Developer in Seattle, WA, United States
Ahmet Shapiro-Erciyas

Software Developer in 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
  • Swift, 2 years
  • AngularJS, 2 years
  • iOS, 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

    AngularJS, Angular, Redux, Protractor, Jasmine, Mockito, JUnit, Spring, Hibernate
  • Tools

    IntelliJ IDEA, Xcode, GitHub, NPM, Maven, Git
  • Other

    Maven Expert
  • Libraries/APIs

    Node.js
  • Platforms

    iOS, Firebase, Heroku
  • Storage

    MongoDB, MySQL

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