Experience
I have been writing software for quite some time now. I have built data-driven web apps, mobile apps, and PWAs using frameworks or from scratch. I've built and consumed both RESTful and GraphQL APIs. I've set up SQL based databases like MySQL, Postgres, and sqlite, and also used NoSQL databases in production like MongoDB.
I've used all sorts of frameworks like Express, Django, Laravel, Codeigniter, and Rails. I am familiar with most front-end frameworks such as React, Vue, Svelte, and Angular. Also have used full stack frameworks like Gatsby, NextJS, and RedwoodJS.
I've set up VPS on various cloud providers such as Digital Ocean, RackSpace, AWS, GCP, Azure, and Slicehost. I've managed domains and DNS. I've used PaaS and BaaS like Elastic Beanstalk, Heroku, and Digital Ocean App Platform. I've deployed SSG and SSR apps on Vercel and Netlify. I've had created Docker images and used containers. I like Docker Compose to setup all my networking and volume for data persistence.
I also like to contribute to open source projects that I use, as a way to give back to the community. Over the years I've contributed to dozens of OSS, some which are used by hundreds of thousands of developers and companies worldwide.
Though I enjoy tinkering with programming languages and frameworks, I don't randomly choose a shiny new technology for production projects. I always outweigh the pros and cons, and the longterm goal of the project. Effectively what's important to me is how can I ship out code the quickest, safest, and most efficient given time and budget constraints.
My experience, past education, and continued self education helps me understand the importance of data structures and algorithms to optimize both space and time. Understanding design patterns, SOLID, and architectural styles, and utilizing tools like eslint and prettier to enforce consistency to produce maintainable code, which is the most expensive part of software development since typically we read code more than we tend to write.