<About me/>

Hi 👋! I'm Armando José Peña Tamayo, a Software Engineer specializing in frontend development.

I mainly have experience with Angular and Node.js. I enjoy collaborating with teams and strive to write clean, and efficient code.

I'm also interested in Game Development using Unity, and creating engaging digital experiences.

I stay updated with the latest web development trends and share my knowledge on my blog. If you're interested in collaborating or have any questions, feel free to reach out. Let's create something amazing together!

Personal picture at nightArmando Peña

<Work Experience/>

  1. FullStack Developer @ Confidential Conglomerate

    -

    As a Semi-Senior Fullstack Developer, I have been working on a comprehensive project that involves developing and maintaining two Angular-based frontends using Tailwind CSS: one for content administration and another for user-facing interactions. My responsibilities extend to integrating the backend for frontend (BFF) architecture using Lumen and managing dynamic content through Squidex CMS. Additionally, we use Keycloak for authentication processes. In this role, I have been responsible for adding new features to enhance functionality and user experience, fixing bugs to ensure smooth and error-free operations, and making significant improvements to the UI and UX for better engagement. I have also focused on code refactoring to improve maintainability and overall performance. A significant part of my work has involved performance optimization, particularly through image optimization and refining search and sort algorithms. On the SEO front, I have enhanced the website's search engine visibility by adding alt information to images, incorporating meta keywords, and improving the semantics of the HTML structure. One of the main challenges in this project has been the frequent changes in development team members, which led to variations in code style and quality over time. To address this, we implemented code style guides and linters to ensure consistency and conducted daily standups to discuss and resolve issues promptly. Another major challenge was the implementation of Squidex, which does not support reference data sorting. This limitation required extensive investigation and the development of custom solutions to meet project requirements.

    AngularTailwindSPA
  2. Frontend Developer @ Cuban Engineer

    -

    As a Frontend Developer, I worked on a Single Page Application (SPA) built with Angular for a CV generator tailored to developers and IT professionals. The project involved handling extensive career-related data. A significant challenge was that the Angular version in use was outdated, and many dependencies were deprecated. My primary responsibility was updating Angular from version 10 to version 15 and addressing deprecated dependencies. This task required substantial effort and numerous unit tests to ensure development security. By replacing or updating deprecated dependencies and refactoring old code to meet modern standards, I improved the performance for the First Contentfull Paint FCP and total load time by 15%. Additionally, I implemented a cascade versioning system in Git to manage version updates, which enhanced backward compatibility and reduced merge conflicts.

    AngularSPAnpm
  3. Frontend Developer @ Wassermeloni

    -

    In this project, I modernized a company's website framework by updating the Angular version within a Ruby on Rails application, a task complicated by the server-side compilation process and numerous broken unit tests. I upgraded Angular from a very old version, meticulously fixed deprecated dependencies through trial and error, and undertook extensive refactoring. By applying Test-Driven Development (TDD) principles, I addressed around 800 broken unit tests. Additionally, I implemented a continuous integration and continuous deployment (CI/CD) pipeline, improving deployment time and reducing CI/CD costs by 50% through efficient caching and optimized testing. This project also involved enhancing the development experience, improving backward compatibility, and reducing merge conflicts with a cascade versioning system for git branches. Security and code quality were bolstered by replacing or updating deprecated dependencies and refactoring old code to meet modern standards. This project highlighted the importance of regular software updates to prevent technical debt, resulting in a more secure, maintainable, and efficient application.

    AngularSPAnpm
  4. Mobile Developer @ Imagined Earth

    -

    I led the overhaul of a mobile application built with Ionic and Angular 12, inherited from two prior development companies, resulting in significant legacy code issues. I refactored the bad code, addressing memory leaks, uncached data, and unnecessary API calls, reducing authentication load times from 7 minutes to 3 seconds. I added new features such as Google Maps integrations, in-app sales, and advertising, and redesigned the mobile app UI. I also improved backend API performance using Laravel, added new API routes for app compatibility, and deployed versions on Google Play and App Store. Implementing a debouncing algorithm cut Google Maps costs by 90%. Enhancements included fixing navigation and accessibility issues, reducing error messages, and integrating push notifications, which improved customer retention and reduced server costs and downtime. The main lesson was the importance of quality over cost when hiring a software development company.

    AngularIonicGoogle Maps

<testimonies/>

profil

Armando is always available to give aid and effective ideas for the good of the project. He is an excellent teammate you won't regret working with!

Reynier PérezSoftware Engineer
profil

I had the pleasure of working with Armando on a recent project, and I am continually impressed by his exceptional skills and dedication. His expertise in Angular has been instrumental in ensuring the maintainability of the code. Armando's willingness to share knowledge and provide constructive feedback has contributed to a collaborative and supportive team environment. His contributions have made a noticeable impact, and I am confident he will continue excelling in future projects.

Betty GutiérrezTeam Lead

< most used technologies />

<featured personal projects/>

Buzz Quest screenshot

Buzz Quest

"Buzz Quest" is my first completed and deployed game, marking my foray into the world of game development. This project was a rewarding dive into software engineering, where I embraced the role of a developer bringing an idea to life. Throughout the development process, I experienced significant learning and growth. Utilizing Unity as the game engine provided a robust platform for creating an immersive experience. I also ventured into 3D modeling with Blender, gaining valuable skills along the way. Image editing was accomplished with Photoshop, while audio editing was handled using Audacity. Each tool contributed uniquely to the game's overall appeal. Deployed on itch.io, "Buzz Quest" served as an educational journey, teaching me the intricacies of game development. From conceptualization to deployment, every step was an exciting adventure. Are you ready to explore "Buzz Quest"? Let the adventure begin!
UnityGame3D
Programmer survey web app

JavaScript Level Quiz

This project involved creating a single-page application (SPA) that quizzes users on their knowledge of JavaScript, with questions ranging from junior to senior levels. The main challenge was ensuring the integrity of the quiz by preventing users from cheating and managing data to provide accurate feedback. The application was built using Angular and Material Design, and it was deployed on Firebase, which also served as the database for analytics. The quiz helps users gauge their proficiency in JavaScript and identify areas for improvement by providing detailed feedback. The quiz has been used by over 100 developers and features a collection of random programming questions, each with several possible answers. It aims to give students and junior developers a clear understanding of their skill level and guide them on what to focus on next in their learning journey.
AngularHTML/CSSTypeScript
2D game based on feudal alloy

Zablek's Siege

Project Overview Zablek's Siege is a 2D hand-drawn platformer featuring NPCs, a dialog system, an inventory, and multiple levels. Although the project remains unfinished, it provided significant learning opportunities and skill development. Technical Skills and Tools During the development of Zablek's Siege, I gained proficiency in Unity and C#, essential for game development. Additionally, I improved my skills in Photoshop and Adobe Fresco for drawing and animating sprites, as well as creating sound effects. Design Patterns and Best Practices I learned and implemented key design patterns such as Singleton, Strategy, and Observer. These patterns were crucial for managing the game's architecture and improving code maintainability and scalability. Lessons Learned One major takeaway from this project was understanding the challenges of solo game development, especially for RPGs. Balancing a complex project with limited free time highlighted the importance of project scope and realistic goal-setting.
UnityC#

<Contact Info/>

Lets get in contact!

Have any ideas or just want to say hello?