Alessandro Iob
Verified Expert in Engineering
Software Developer
Alessandro is a top freelance architect and developer with a number of skills. He has designed and developed API services, games, process automation systems, fault-tolerant distributed systems, and multi-platform applications. Alessandro has also reverse-engineered PLCs and interfaced with refrigerator systems.
Portfolio
Experience
Availability
Preferred Environment
Linux, OS X, Docker, Kubernetes, Amazon Web Services (AWS), Azure, Python, Elixir, TypeScript, C
The most amazing...
...software I've built is a multi-platform, multi-user, multi-tier, fault-tolerant distributed platform for process automation.
Work Experience
Senior Back-end Architect and Developer
Mitsubishi Electric
- Helped the company build a new sales and project design system, designing and building the back-end application.
- Analyzed the system needs and solutions' design. Implemented the back-end services (Python and PostgreSQL).
- Handled the integration with legacy systems (SAP and custom internal system), including reverse-engineering databases and data formats.
Elixir Architect
The RealReal
- Served as the Elixir-side architect in charge of the migration from the internal eCommerce implementation to BigCommerce.
- Analyzed a vast Elixir codebase to detect critical issues and provide possible solutions.
- Recommended appropriate integration patterns. Provided reference implementations for the required integrations.
Senior Cloud Architect
Napster
- Helped the company move from an ad-hoc data-center architecture to a cloud-based one while improving all the platform metrics and reducing engineering pains and general operating costs.
- Handled inter-team communication and relations, moving from a siloed-centric environment to a more open and communicative one.
- Helped integrate a new CDN (Fastly). Evaluated, selected, and incorporated a new payment solution (Chargebee) and identification solution (Auth0).
- Evaluated, selected, and integrated logging and monitoring tools for the Google Cloud and the data center systems (Instana).
- Redesigned the partners' feed infrastructure, adopting Google Workflows and Cloud Run jobs as the main tools.
Engineering Lead
Endeavor
- Worked with the leadership and product teams to help define and implement multiple new product lines.
- Designed and implemented the internal libraries and generator tools to enable the fast creation of new microservices using Node.js, TypeScript, TypeORM, and Kubernetes.
- Supported out-of-the-box configurations for authorizations, DB migrations, Swagger docs, UI, and Kubernetes.
- Created and implemented the MVP for the company-wide data platform system using Python, Prefect, Dask, DBT, and Snowflake.
- Built an accounts management microservice used by multiple projects. Supported seamless joined accounts from AWS Cognito, Auth0, and major social platforms.
- Built and developed a payment microservice used by multiple projects. It supports various payment providers such as Stripe and Plaid, methods like CC and Wire, and flows.
- Designed and co-developed the talent management and booking service for the OpenStage project, including integration with external companies.
- Implemented the core front-end automatic testing functionality via Cypress.io to be used by the QA team.
Architect | Tech Lead
EY (Ernst & Young) - EY Global Services (Ireland)
- Helped design and implement a system used by thousands of users and clients to automate the audit of the edge funds.
- Contributed to this project, which allowed the company to acquire clients at a scale that was impossible before it—reducing onboarding times from many months to a couple of weeks and processing times from days to minutes.
- Managed relations and product buy-in with and for partners, execs, engineers, and end users—on-site and remotely.
- Helped the distributed team embrace and use sound engineering practices like proper documentation, code reviews, code and configuration revision management, and CI/CD.
- Worked as an architect for multiple products (WAMapp, Confirm, Comply). Helped the team interview and hire new managers and engineers.
- Single-handedly designed and developed a high-performing Docker-based pipeline and job processing system, initially to emulate an in-development enterprise system and later to completely sunset it and become the production solution.
- Achieved considerable savings in development and operational costs: the entire system can run from a laptop up to a cluster, allowing quick onboarding of clients and new auditors.
- Designed and developed an advanced, data-driven, and configuration-driven orchestration system able to handle all the highly-custom data processing flows.
- Designed and helped implement a data identification subsystem to identify, pre-process, and clean/fill heterogeneous and unreliable inputs.
- Ensured all systems passed strict info-security implementation, deployment, and legal checks.
Architect | Lead Developer
Johnson & Johnson - Health IT
- Developed a proxy REST service to transparently handle personal and medical data residency requirements for Salesforce services and medical appliances.
- Created a Node.js server running inside the Apigee Edge proxy system, taking advantage of all the provided functionalities for endpoint, target, and error handling.
- Architected multi-tenant data storage using the Azure Table Storage service.
- Fully documented the software using OpenAPI specs.
- Wrote a small custom data-driven stress test suite to validate implementation and performance.
Technical Screener
Toptal
- Conducted hundreds of technical interviews in a very selective environment, being a core team member for many years.
- Was exposed to all sorts of human, cultural, and technical approaches to a wide range of problems and projects.
- Developed my soft skills to a great extent; it was a mind-opening experience.
Platform Architect | Engineering Lead
Alive5
- Designed a scalable, plugin-based microservice architecture for an SMS, chat management, and payment system.
- Helped the team adopt best practices like code reviews, CI/CD pipelines, and automatic documentation.
- Developed the core framework implementing the proposed architecture using Node.js and TypeScript.
- Provided extensive documentation and guidelines to allow the team to continue the transition from the legacy application to the new platform.
- Designed and implemented a custom data store abstraction for DynamoDB and SQL-based systems.
- Implemented easy-to-use and scalable event sub-systems using Socket.IO and Redis.
Platform Architect | Engineering Lead
AuctionMobility LLC
- Helped the company transition from manual management of client resources to a fully automated system, allowing sensible gains in client onboarding, resource usage optimization, and reliability—all while reducing general engineering costs.
- Designed and developed a REST API service that controls the whole company infrastructure from automatic EC2 instances provisioning, application deployment, service monitoring, and incident notification down to DNS management.
- Designed and developed a distributed web socket service for real-time event filtering and propagation to the web, iOS, and Android client applications.
- Designed and developed a REST API service that automates client configurations and asset generation for back-ends, web, iOS, and Android clients with an internal distributed job queue and a lightweight asset proxy.
- Designed and developed a Node.js software development kit (SDK) for the CardConnect credit card processor API.
- Designed and developed a Node.js SDK for the Bill.com invoices processor API.
- Designed and developed many internal tools, like a SQL-like Redis querying tool for event analysis and management or AWS SNS integration.
- Integrated external services like payment processors (Stripe, CardConnect, NMI, and PayPal), DNS services, AWS services, email/mailing list services, push notifications (APNS, GCM), and proprietary API services.
iOS Game Developer
Kismik
- Founded my little game company to publish my games for iOS.
- Developed and published my first game, "Be2 - Escape from Pingland," which was featured in the "News & Noteworthy" section of the USA Apple App Store and almost all the other app stores as well.
- Created a custom game engine based on Cocos2D, with an integrated Lua scripting engine, in-app purchase support, level auto-reload from the external editor, a networked debugger, and control system scriptable in Lua.
- Developed a multi-platform custom level editor using Python and Qt. The editor can connect to a running game instance, whether a simulator or device and update levels and configurations as the game runs.
iOS Developer
Westwing Home & Living
- Integrated with the existing team and successfully converted and extended the company's iPad application to a Universal iOS 7/8/9 application using size classes, Auto Layout, and some magic.
- Implemented unit tests for UI and business logic to improve and perform extensive debugging.
- Worked in an Agile environment. Performed daily code reviews.
iOS Developer
Development Agency
- Developed an augmented reality catalog for a light manufacturing company (Linea Light AR).
- Handled catalog synchronization with a remote server, which optimized updates and enabled downloading of required assets.
- Implemented searchable catalog content. Used Realm.io for all database-related tasks.
- Handled positioning of augmented reality 3D assets on a 2D image acquired from the device camera.
- Implemented pattern scanning and linking to a product's 3D asset or catalog entry.
- Developed an action system to bind the MetaIO AREL scripting system to the internal application catalog API.
Software Architect | Developer
Freelance
- Developed a multi-platform mobile application using PhoneGap/Cordova and Sencha Touch for operational instructions consulting and report input and submission by machine operators.
- Developed an iOS application for the top soccer market news site in Italy.
- Designed and developed the API service for a luxury hotel auction site. Supported clustering and managed auth, real-time auction notifications via Socket.IO, Apple, and Google push notifications, payment processing, and back-office management.
- Developed a multi-user ERP system for offer management, final accounting, company analysis, data collection, and visualization from external sources, specifically accounting software, databases, custom APIs, web services, and PLC hardware.
- Reverse-engineered PLC code and developed data collection systems.
CEO | CTO
Startup
- Designed and developed a multi-platform (Linux, OS X, Windows, Solaris, IRIX), multi-user, multi-tier (native Python/Qt UI, central configuration server, distributed agents), distributed (nodes seen as a single API) platform for process automation.
- Managed a development team of six people scattered all over Europe.
- Managed large deployments of our system (>500 retail points) while developing custom solutions like electrical spike prevention, refrigerator control, and remote PLC configuration and data collection.
- Designed and implemented custom 3D visualization systems (using OpenGL) for real-time display of the operational status of production plants using data collected in real-time from the plants' PLCs.
- Developed a geographically distributed surveillance system featuring real-time video analysis for motion detection (with priority and inactive zones), sensors' data acquisition and analysis, and programmable custom response logic.
Software Developer | System Administrator
Freelance
- Developed software to optimize paper production planning and cutting for a paper mill company. Reduced the planning process time from five or six hours to five minutes while enhancing the paper/waste ratio to almost 97%.
- Created software tools used to control, integrate, and enhance the functionalities of not-interoperable systems like cash counters, electronic scales, and refrigerators.
- Pioneered and published several extensions and libraries on CPAN for the Perl programming language.
- Implemented IT basics and networks and taught programming courses held by European Community projects. Managed a few Windows networks.
Software Developer | System Administrator
Network Provider
- Developed dynamic websites and eCommerce solutions using Perl.
- Engineered network management and data collection utilities used to facilitate network and client administration and billing.
- Designed, configured, and administered database servers, web servers, file servers, proxy servers, and firewalls used by clients in both the private and public sectors.
- Configured and managed Linux, Windows, and Cisco networks. Also configured and managed international VPNs.
Software Developer | System Administrator
Freelance
- Co-developed a 2D graphic engine for the Commodore Amiga using a mix of C and Motorola 68000 assembly language. Used the engine to show advertisements and information.
- Collaborated on the development of software to serve as a driver for the Commodore Amiga to control a massive display used for showing information/advertisement during public events.
- Configured and administered MS-DOS and Windows 3.1 networks.
- Developed software to perform data extraction and analysis from proprietary databases using Perl.
Experience
Be2 - Escape from Pingland
https://github.com/alexiob/Be2This simple change opened a whole world of possibilities, as I was able to design levels inspired by games such as Breakout, Pitfall, Doodle Jump, and many others. And as this was an escape game, I used one of the best escape TV shows ever as a baseline for the plot: The Prisoner!
To implement all these design ideas, I had to develop a custom-level editor. Besides letting me draw the levels, it also let me implement Lua scripted logic for every single entity in the game.
I wrote it using the marvelous Python and Python/Qt wrapper/library: this choice gave me instant platform portability and a high-speed development cycle.
The game could be controlled from the game editor: level uploading, script tweaking, and many other things were possible almost in real-time.
The game becomes a little core wrapped by a Lua scripting engine with binding for almost every system functionality (graphics, sounds, music, in-app purchase, social functionalities) and a network-attached console to execute commands and load/save data from local or remote sources.
BidAway API
https://twitter.com/bidawayAuctions lifecycle, payment processing, real-time notifications (socket.io, mobile push notifications, email), CDN management, and more had to be implemented in the API service.
Eventually, over the years, the platform became https://bizaway.com/
Some of the features I developed:
• a persistent scheduler supporting distributed events
• an attachment management system that is resource-independent and can manage data on different CDN systems
• a few CDN drivers
• a protocol-independent mobile push notification service
• an authenticated socket.io server with bi-directional RPCs.
• payment processor system
• automatic and transparent database reconnection
• self-documenting APIs with fake data support
Devil Framework
http://www.python.org/about/success/devil/It was used to implement management and plant integration solutions for business groups like manufacturing, distribution, etc., with production and business units distributed all over the country.
The back end provided a unified environment for data collection, analysis, and archiving in a distributed system where each component was seen as part of a single "machine."
Configurations and plugins could be installed and propagated to any node of the system.
The system supported permanent and intermittent connections between nodes, and all data was transmitted over secure channels.
The graphical user interface was written using Python and the Python/Qt library. The UI was dynamically extensible using plugins, was an integral part of the distributed RPC and node discovery system.
The custom user interface forms and scripts could be developed using an interactive editor.
The system supported scripts and forms versioning.
ForthVM
https://github.com/alexiob/forthvmThis is a VM-as-a-library; it is fully preemptive, supports multiple cores, multiple processes. inter-process events, I/O interception, and custom dictionaries.
Skills
Languages
JavaScript 6, TypeScript, Python, JavaScript, Elixir, Objective-C, C, Domain-specific Languages (DSLs), SQL, Bash, Snowflake, SQL-99, Erlang (OTP), Lua, Assembler 68000, Perl, GraphQL, C++, Erlang, Smalltalk, Go, Swift, Assembler x86, Forth, Java, Python 3, SAML, XML
Frameworks
Phoenix, Express.js, XCTest, Core Data, iOS SDK, Ext JS, Cocos2d, Qt, Django, Web2py, Sencha Touch, RestKit, Flask, OAuth 2, Swagger, JSON Web Tokens (JWT), Phaser.io, Hapi.js, PhoneGap, Spark, Hadoop, AFNetworking, Zope, Flutter, Cypress, gRPC, Sails.js, Core Video
Libraries/APIs
Dask, Segment.io, Redis Queue, Stripe API, Socket.IO, Node.js, CardConnect, Stripe, HTML5 Canvas, CocoaPods, jQuery, PyQt, AMQP, Vue, Slack API, Pandas, Vue 2, Plaid API, SQLAlchemy, OpenAPI, Core Animation, Twitter API, Facebook API, Google+ API, SpriteKit, ØMQ, PySpark, Facebook SDK, Twitter SDK, OpenGL, REST APIs, React, Apigee, Twilio API, Auth0 API, Braintree API, BigCommerce API, Stripe Connect API, PayPal API, PubSubJS
Tools
AWS SDK, GitHub, Docker Compose, Auto Layout, Pytest, Xcode, Git, Ansible, Vagrant, VirtualBox, Packer, RabbitMQ, Docker Swarm, Plaid, Jupyter, AWS ELB, Subversion (SVN), NGINX, Adobe Photoshop, Mocha, Amazon Cognito, Adobe Sign, Terraform, Auth0, Instana, MongoDB Atlas, Fastly, Interface Builder, GitLab, Jira, LaTeX
Paradigms
Back-end Architecture, Test-driven Deployment, Microservices, REST, Functional Programming, Continuous Deployment, Agile Software Development, Continuous Integration (CI), Event-driven Programming, Cross-platform, Model View Controller (MVC), Asynchronous Programming, Object-oriented Programming (OOP), Unit Testing, Test-driven Development (TDD), ETL Implementation & Design, Event Sourcing, Agile, Azure DevOps, ETL, Agile Workflow, Lambda Architecture, Distributed Programming, CQRS, DevOps
Platforms
Linux, iOS, Docker, Amazon Web Services (AWS), Heroku, Amazon Alexa, OTP, AWS Lambda, Nerves, Kubernetes, Parse, MacOS, AmigaOS, Apache Kafka, Azure, OS X, Visual Studio Code (VS Code), Windows, PagerDuty, Google Cloud Platform (GCP), BigCommerce
Storage
JSON, Data Pipelines, Amazon DynamoDB, Elasticsearch, Redis Cache, Redis, Amazon S3 (AWS S3), SQLite, Realm, PostgreSQL, MongoDB, Cassandra, Memcached, EventStore, HDFS, Riak, Azure Table Storage, Datadog, Data Integration
Other
Prefect, Phoenix LiveView, Back-end, Billing Systems, NMI Payment Gateway, WebSockets, Network Programming, Unix Shell Scripting, ETL Development, ELT, Enterprise, Software Architecture, Apogee, Secure Containers, Code Review, Agile Deployment, Agile Sprints, Solution Architecture, Project Lifecycle, Interviews, Cloud Architecture, Full-stack, Trifacta, Trifacta API, Data Architecture, APIs, API Integration, Architecture, Technical Leadership, Open Source, Web Development, CI/CD Pipelines, FastAPI, SQLModel, Industrial Internet of Things (IIoT), Internet of Things (IoT), MinIO, EventBus, Distributed Systems, Charts, Augmented Reality (AR), Size Classes, User Interface (UI), Amazon RDS, Data Build Tool (dbt), Autopilot, Interpreter Design, Virtual Machines, TypeORM, SCADA, Chargebee, Pub/Sub, Cloud Migration, Google Pub/Sub, eCommerce, System Design, Frameworks, Data Structures, Algorithms, PDF
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