With a wealth of experience in PHP projects spanning PHP3 to PHP7, I have a strong background in developing websites using MVC patterns in custom frameworks. My day-to-day responsibilities include implementing new features utilizing OOP techniques.
Boasting years of experience in SQL/MySQL, I have developed a strong proficiency in various aspects such as E/R diagrams, relational models, advanced queries, configuration optimization, index optimization, and integration with PHP using PDO and Mysqli.
I began writing HTML at 12 years old and have used it in all my web projects. HTML is relatively simple to use.
With years of experience, I have honed my skills in raw CSS. I am proficient in fonts, Google fonts, layouts using floats, tables, flexbox, and responsive media queries. However, my weaker area is animations, as I do not often use them in personal projects.
Having successfully completed several projects with TypeScript, I appreciate the advantages of static typing while recognizing its occasional challenges. Ultimately, the decision to use TypeScript depends on the team and the project requirements.
Having delved into Node.js, I have utilized it as a backend service with Express and APIs. As an essential frontend tool, I have gained significant experience in npm, module bundlers, Babel, TypeScript, and other related technologies.
I have experience creating EC2 instances with elastic IPs to support Java Tomcat applications, as well as using S3 to host static websites. I have also worked with Lambda serverless functions, Cognito for identity management, and API Gateway.
My experience with C# comes from developing mobile games. Although my knowledge of the .NET Framework is limited, I am highly interested in learning more about it.
I have developed a few small games using the Unity engine. These 2D mobile-optimized games incorporated physics and arcade logic. While it is not my specialty, I am confident in my ability to create additional games.
Drawing from my background in C# and OOP, I am accustomed to statically strong-typed languages. My academic training provided me with Java experience, and I am eager to continue advancing my skills in this domain.
I have experience creating BASH scripts for software deployments and system maintenance tasks.
Though my experience with PostgreSQL is limited to academic projects, I am familiar with SQL and eager to work with it in production.
I have explored Python extensively during my academic training and implemented numerous algorithms. However, I have yet to use it in any professional projects.
With a strong affinity for React, I have successfully completed numerous projects using this technology, including exploring hooks. This website is a testament to my proficiency, as it was built entirely with React and GatsbyJS.
I have migrated entire websites from classic PHP server-side rendering to modern NextJS-powered React applications featuring SSG, SSR, and ISR capabilities.
I greatly appreciate Tailwind CSS for its seamless compatibility with React, making it my preferred choice over 'CSS IN JS' libraries.
I have mainly used React Router for static routes and basic routing implementations.
Creating a simple REST API with Express and Node is quite manageable and works well for small services. However, my experience with advanced features is limited, which might lead me to explore other options, like NestJS, for more complex projects.
I've used Bootstrap in some projects, but I don't like to use it for every project. It's useful but can also add significant load to a website.
Though relatively new to testing, I have diligently honed my skills in accessibility compliance, best practices, and user experience testing, leveraging userEvent companion to enhance my proficiency.
I have experience using Material UI with React for an academic project that also incorporated AWS Lambda and serverless services.
This website was created entirely with GatsbyJS. I love this tool and would like to build more with it in the future.
I only used GraphQL because GatsbyJS required it, and only for the client-side. It was a bit confusing at first but became easier once I understood it.
Having experience with other PHP MVC frameworks, I'm familiar with the core concepts and can adapt to Laravel. While I'm currently expanding my knowledge in Laravel, further hands-on practice will enhance my proficiency.
Having crafted numerous regular expressions, I've developed the expertise to tackle complex pattern-matching tasks, demonstrating a strong command of this powerful and versatile tool.
Debian Linux was my main desktop OS for years. I gained a strong Linux background without being a sysadmin expert.
I have experience connecting via SSH and handling SSH keys.
I configured Webpack configs to make some plugins work. After using create-react-app, Angular, and Vue, I relied on it less.
Arch Linux is my main system on my laptop, reflecting my Linux background and preferences.
I usually worked with PHP-FPM when using PHP and Nginx.
Subversion was the standard when I worked at Panaworld for 8 years.
I worked with LESS extensively because Bootstrap was too bloated.
I've used Docker extensively for personal projects but not in an enterprise environment.
Nginx has been my preferred choice for web servers. I have more knowledge about Nginx than Apache HTTPd.
I am comfortable working with branches, commits, merges, and conflict resolution. I have used both local and remote repositories, and collaborated on shared projects using tools like GitHub. I have also conducted code reviews to improve software quality.
I used Rsync for backups and deploying static websites.
Glamor is a useful tool for CSS in JS. I used it on this website.
I've used Composer to pull libraries and for autoload.
I used CentOS when it was the only option for dedicated servers. Later, Debian became the standard.
I used Firebase once for saving a form using their free tier.
As an accomplished web stack specialist, I possess extensive experience in the field, allowing me to tackle complex web projects and deliver high-quality solutions.
With extensive experience in crafting responsive websites, I am well-versed in utilizing CSS and media queries to ensure optimal user experiences across various devices and screen sizes.
I possess a strong grasp of OOP concepts, including composition, inheritance, polymorphism, interfaces, coupling, cohesion, and SOLID principles. This expertise allows me to effectively design and implement maintainable, scalable, and robust software solutions.
I used Netbeans as my IDE for PHP for many years.
Though I'm not fond of SEO due to its risks, I was responsible for technical SEO in a company that required top optimization, so I have extensive knowledge, including UX benefits.
UI Design & UX
I have honed my skills in UI and UX design through years of hands-on experience, including my tenure as a product manager, which enables me to create intuitive and visually appealing interfaces.
I am proficient in using VIM for coding, although I may not know all the advanced tricks. I find it particularly useful for editing configuration files inside Linux operating systems or Docker containers that have vi/vim installed.
I have a solid understanding of fundamental concepts and best practices for designing, implementing, and consuming RESTful APIs. I have expertise in creating routes, resources, and HTTP verbs, as well as authentication and authorization of users in a REST API. I have experience with various data exchange formats and tools, including Axios and Fetch API, and am knowledgeable in error and exception handling for REST APIs.
With practical experience in implementing these principles, I am able to create scalable, maintainable, and flexible software solutions. I am passionate about clean architecture, have read Robert C. Martin's books on the subject, and have a strong knowledge of SOLID principles and their practical application.
With experience in creating multiple 2D mobile games, I have a solid grasp of game development fundamentals and can effectively apply these concepts to various projects.
I possess a strong foundation in working with social media APIs, including those of Facebook, Twitter, and the now-deprecated Google Plus. I can effectively integrate these APIs into various applications to enhance their social features.
I am comfortable with the fundamental concepts and procedures of this software development approach. Although I don't have extensive experience in implementing TDD, I am motivated and excited to continue exploring this approach to software development. I have some practical experience and have used tools such as Jest to perform unit tests, and feel confident in creating unit tests and writing code that meets test requirements.
I have gained experience in using Visual Studio through working with C# during the development of Unity games, enabling me to utilize the tool for various tasks and challenges.