Mikayel Aghasyan
Verified Expert in Engineering
Software Developer
Yerevan, Armenia
Toptal member since July 20, 2022
Mikayel has about 20 years of experience in software development, working on various projects, including Windows desktop apps, web back-end systems, and mobile apps. He excels in C, C++, Java, Objective-C, and Swift. Mikayel always strives to deliver the best possible results to the business without compromising quality.
Portfolio
Experience
- Software Development - 20 years
- Object-oriented Programming (OOP) - 18 years
- iOS - 13 years
- Java - 12 years
- Software Architecture - 10 years
- Spring Boot - 7 years
- Spring - 7 years
- Swift - 5 years
Availability
Preferred Environment
MacOS, IntelliJ IDEA, Git
The most amazing...
...thing I've developed is a freehand drawing engine implemented in OpenGL ES 2.0 for the iOS platform, which provides a smooth, variable-width drawing experience.
Work Experience
Senior Software Engineer
Steven AB
- Set up externally sourced data warehouse infrastructure with AWS Lambda and AWS Athena, which could be used for several purposes such as accounting and reporting.
- Managed the Mastercard Digital Enablement Service (MDES) project that involved the Apple Pay and Google Pay integrations.
- Contributed actively to the product business decisions and implementation.
iOS Developer
Tabbed Inc.
- Developed features of the iOS app with UIKit and SwiftUI.
- Helped with back-end development (Firebase and Node.js).
- Developed a helper tool for interaction with the NCR system.
Software Architect
Team Solutions
- Set up a framework for building reactive systems with other core team members.
- Took part in the design and kickstarting of several projects as a core team member.
- Contributed to the design of a universal QR payment system.
Software Architect
IUNetworks
- Analyzed requirements of a large enterprise system and participated in its architecture and design.
- Contributed to the architecture and implementation of a DSL-based reactive event sourced framework.
- Implemented Camunda BPM engine integration with our proprietary framework.
Software Architect
Catches
- Launched the project's back end and iOS application.
- Set up the AWS infrastructure with AWS CloudFormation, including VPCs, networking, load balancing, databases, and file storage.
- Led a small team of back-end, front-end, and iOS developers.
Team Lead
IUNetworks
- Managed a mobile app development team in a large company.
- Designed and managed the implementation of a single sign-on service based on OAuth 2 specification.
- Initiated several mobile app projects, including a mobile operator client app and e-wallet.
Software Developer
ShowMe
- Refactored a large codebase to make the code more maintainable and increase the app's performance.
- Added several features to the app, attracting many new users.
- Rewrote a freehand drawing engine in OpenGL ES 2.0 since the old version was developed in OpenGL ES 1.0 to support variable width curves. It resulted in increased performance.
- Implemented the GridView library for iOS just before Apple released UICollectionView.
Software Developer
BIGBEK
- Developed and launched the first version of the restaurant reservation and ordering client app with integrated Bitcoin payments.
- Initiated a few and contributed to developing several additional mobile apps.
- Analyzed and discussed project requirements with the clients. Negotiated estimations and planned accordingly to satisfy the clients with the results and timelines.
Software Developer
AtTask (now Workfront)
- Developed a work and project management system for an iOS client application.
- Implemented a networking layer for communication with the REST API.
- Optimized large table view scrolling performance by implementing low-level cell rendering.
Senior Software Engineer
Telegate Armenia
- Contributed to a document search and indexing engine library and a set of applications for the library.
- Developed a web page crawling application and implemented several features.
- Implemented an effective HTML parsing, classification, and indexing feature.
Mid-level and Senior Developer
Lycos Armenia
- Worked actively on a shopping search and product comparison system. Implemented many features in all layers of the system.
- Implemented table, tree, and tree-table components in pure JavaScript with the column resizing, reordering, and freezing features.
- Took technical leadership in developing a product and offer management tool for internal use, a Java desktop application based on Eclipse rich client platform (RCP).
Junior and Mid-level Developer
Boomerang Software
- Developed several features of WebShop, the Windows desktop software for creating dynamic websites and online shops.
- Built several features of a web version of WebShop.
- Worked actively on a web application for project and document management and collaboration.
- Created a web browser cookie manager for Internet Explorer.
Experience
App Steven
https://www.getsteven.com/I contributed to many features on the back-end side and implemented a few integrations with external services. In addition, I managed integration with MDES MasterCard Digital Enablement Service (MDES), developed its back end and API, participated in the development of ApplePay integration, and set up a data warehouse infrastructure used for several reports and other purposes.
Catches App
http://catchesapp.com/As the only developer initially, I created product MVP, back end, API, and iOS app. I also designed and set up back-end infrastructure in AWS using AWS CloudFormation with an isolated private network, load balancers, back-end instance autoscaling, and databases.
ShowMe Interactive Whiteboard
https://www.showme.com/I developed many app features and refactored a large codebase to make it more maintainable and performant. My most exciting and challenging contribution was a complete rewrite of a drawing engine in OpenGL ES 2.0, which involved a lot of math. Another notable thing is a grid view library that I developed in a week. A couple of months later, Apple announced a new UICollectionView in the next major iOS release, which had almost the same API and look as the one I created.
Education
Master's Degree in Informatics and Applied Mathematics
State Engineering University of Armenia - Yerevan, Armenia
Bachelor's Degree in Applied Mathematics
State Engineering University of Armenia - Yerevan, Armenia
Certifications
Node.js, Express, MongoDB & More: The Complete Bootcamp 2022
Udemy
Lightbend Scala Language Professional—Level 2
Lightbend, Inc.
Reactive Architecture: CQRS and Event Sourcing—Level 2
Lightbend, Inc.
Reactive Architecture: Building Scalable Systems—Level 2
Lightbend, Inc.
Reactive Architecture: Distributed Messaging Patterns—Level 2
Lightbend, Inc.
Reactive Architecture: Reactive Microservices—Level 2
Lightbend, Inc.
Reactive Architecture: Domain Driven Design—Level 2
Lightbend, Inc.
Reactive Architecture: Introduction to Reactive Systems—Level 2
Lightbend, Inc.
Skills
Libraries/APIs
REST APIs, iOS Native Libraries, CocoaPods, OpenGL ES, POCO, POCO C++, SWT, Eclipse JFace, Java Servlets, Microsoft Foundation Class (MFC) Library, Win32 API, AWT, Protobuf, PromiseKit, React, Node.js, Stripe, Stripe API, Microsoft Foundation Classes (MFC)
Tools
XML Interface Builder (XIB), IntelliJ IDEA, Git, Xcode, Docker Compose, GitHub, Amazon Athena, Camunda BPM, AWS CloudFormation, JFace, Eclipse RCP, Apache Tomcat, Microsoft Visual C++, Amazon Virtual Private Cloud (VPC), Jira, Jenkins, Kafka Streams
Languages
Java, Swift, Objective-C, Java 11, SQL, XML, Scala, Domain-specific Languages (DSLs), C, C++, JavaScript, Active Server Pages (ASP), HTML, CSS
Frameworks
Spring Boot, UIKit, iOS SDK, Cocoa Touch, Spring, Hibernate, JSON Web Tokens (JWT), JUnit, Spring MVC, Vert.x, Swagger, OAuth 2, Jakarta Server Pages (JSP), Apache Struts, PassKit, Core Data, SwiftUI, Combine, gRPC, Angular, AngularJS, Express.js
Paradigms
Object-oriented Programming (OOP), REST, Event Sourcing, CQRS, Test-driven Development (TDD), Clean Architecture, Agile, Microservices, DevOps, Model View ViewModel (MVVM), Unit Testing, Distributed Computing, Functional Programming, Actor Model, BPMN, Scrum
Platforms
iOS, Mobile, Apache Kafka, MacOS, Amazon Web Services (AWS), Docker, Firebase, AWS Lambda, Android, Linux, Ubuntu, Java EE, JBoss, Amazon EC2, Blockchain, Google Cloud Platform (GCP)
Storage
JSON, MySQL, PostgreSQL, Databases, SQLite, NoSQL, Relational Databases, Amazon S3 (AWS S3), MongoDB, MariaDB
Other
Software Development, Full-stack, Full-stack Development, Architecture, Mobile Applications, Apple Design, Reactive Systems, Software Architecture, Domain-driven Design (DDD), APIs, Back-end, SDKs, Web Services, API Integration, Automatic Reference Counting, Technology, Mathematics, Applied Mathematics, Mathematical Analysis, Discrete Mathematics, Cloud, Message Bus, Amazon RDS, Single Sign-on (SSO), Team Management, Negotiation, Planning, Optimization, Search, Indexing, Enterprise Java Beans (EJB), Applets, Autoscaling, Elastic Load Balancers, Load Balancers, AVFoundation, CI/CD Pipelines, Carthage, Bluetooth, User Interface (UI), User Experience (UX), Cloud Computing
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring