ClinkIT SolutionsLead Architect
Oct. 2018 - Sep. 2019NCR - National Capital Region, Philippines⁍ I architected Trampoline to be serverless, multi-tenant and fully event-driven. The resulting system was fast, elastic, and resilient. It's also loosely coupled which means fewer bugs and faster development. In fact, 1 front-end and 3 back-end engineers built the core of the platform and an iOS application on top within a month.
⁍ I researched and applied a lot of technologies quickly to achieve Trampoline's architecture. Though I'm also new to said technologies, I still mentored my colleagues about them.
⁍ I developed 60% of Trampoline's back end by the end of my stay. There were two factors to this level of contribution. First was writing code that's easy to reason about and hence faster to produce. Second was having fewer bugs which means more time developing features. Both were the effect of leveraging on serverless technologies. ‣ Roles: → lead technical architect → senior back-end engineer • Project Types: → cloud application → software as a service (SaaS) platform → API back end
• Architecture: → serverless architecture → multi-tenant architecture → event-driven architecture (EDA)
• Cloud Providers: → Amazon Web Services (AWS)
• Designs: → system design → algorithm design → NoSQL database design → GraphQL API design
• Processes: → git workflow → software deployment
• Software Elements: → NoSQL → database as a service (DBaaS) → function as a service (FaaS) → GraphQL → cloud storage → identity & access management (IAM) → infrastructure as code (IaC) → application logging → high-level scheduler → publish/subscribe (pub/sub) messaging → push notification
• Languages: → Typescript → Node.js
• Frameworks: → Serverless Framework
• Databases: → Amazon DynamoDB
• Cloud Services: → AWS Lambda → AWS AppSync → Amazon S3 → Amazon Cognito → AWS Identity & Access Management (IAM) → Amazon Simple Notification Service (SNS) → Amazon CloudWatch → AWS CloudFormation
• Tools: → Node Package Manager (npm)
• Version Control: → Git