Ashan Ghimire
Ashan Ghimire

Hey there,
I am Ashan Ghimire

Senior Software Developer from Nepal 🇳🇵

For the past eight years, I've been working as a software developer creating web and mobile applications. I'm currently focused on building scalable and maintainable backend systems using PHP and Symfony.

I hold a Bachelor's degree in Computer Science and Information Technology from Tribhuvan University, Nepal. I'm also a Pimcore Certified Senior Developer.

I enjoy learning new technologies and sharing my knowledge. In my free time, I contribute to open-source projects related to the tech I love, hang out with family and friends, watch movies and football, and play video games.

Ashan Ghimire portrait

Experience

A timeline of my professional journey and the skills I've developed along the way.

Symfony Backend Engineer

anyMOTION GmbH

July 2023 - Present

Developed high-performance RESTful APIs using Symfony and Pimcore. Contributed to Pimcore core development, enhancing backend functionalities. Optimized and refactored complex backend logic for better performance and maintainability.

Symfony Pimcore PHP REST API Elasticsearch Docker

Senior Software Engineer

Proxify AB

Nov 2021 - June 2023

Specialized in Symfony and Pimcore backend development, API design, and integrations. Contributed significantly to Pimcore core, improving backend systems. Implemented scalable and optimized backend architectures.

Symfony Pimcore PHP API Development AWS Docker

Senior Backend Engineer

Sastodeal Pvt. Ltd.

August 2020 - Jan 2022

Developed and customized Magento 2 Enterprise backend solutions. Integrated custom ERP/Finance solutions with Magento. Designed and implemented B2B2C backend platforms with high scalability. Led Magento Cloud deployment, backend performance tuning, and version control strategies.

Magento 2 PHP ERP Integration Cloud Deployment Elasticsearch Redis

Software Engineer (Backend Focus)

Javra Softwares

Sept 2019 - Apr 2020

Built Magento 2 PWA backend using React.js and Symfony APIs. Developed and customized Magento 2/Pimcore backend modules. Implemented Test-Driven Development (TDD) practices for backend reliability.

Magento 2 Symfony PHP TDD

Laravel Backend Developer

Initiative Nepal

Feb 2018 - May 2019

Developed robust Laravel-based backend solutions for various applications. Integrated and customized ERP, HRM, and CRM backend functionalities.

Laravel PHP ERP CRM

Junior Backend Developer

Mirror Grid

May 2017 - Jan 2018

Developed and maintained Laravel-based backend applications. Designed database schemas and optimized backend queries for performance.

Laravel PHP Database Design Performance Optimization

Technologies I work with

Programming Languages

These are the programming languages that I've worked on so far.
PHP PHP
JavaScript Javascript
Go Go
Rust Rust
TypeScript Typescript
Lua Lua

Among these languages, I have the most experience with PHP, Javascript, and Typescript. PHP is my breadwinner. I think it's becoming a very good language to write code on in the recent years.

On the relatively short time I've had with Go, I really enjoyed working with it. I love the simple structure without the fuss and I have borrowed many of it's concepts onto other languages as well.

Same with Rust. I have a project where I built a programming language using Rust and however many hours I spent using Rust was worth it in the end. I think learning rust made me a better programmer because the compiler forces us to think about memory and I've carried that thought forward to the languages that are not so strict about it.

I have also worked with Lua, but not in a production environment. I mostly use it for configuring neovim.

Beside these languages, I have familiarity with C, C++, Java, C# and Python. I have used these languages during my days at the university but didn't have a chance to use them in a production environment yet.

Backend Technologies

Backend technologies on the order that I enjoyed working on the most
Laravel Laravel
AdonisJS AdonisJS
Symfony Symfony
Pimcore Pimcore
Fastify Fastify
Express Express

I have worked with Laravel for a long time and I love it. I think it's the best PHP framework out there. I have used it for building APIs, web applications, and the very own blog that you're reading this on. My favorite part about Laravel is the Eloquent ORM. I also enjoyed working with AdonisJS because of how similar it is to Laravel.

Symfony is a beast. I especially love the way it handles dependency injections. I think the container is the best feature of Symfony. Besides the framework itself, the symfony components are the backbone of many other frameworks including Laravel. I'm not a huge fan of Doctrine, but when it's a Symfony project, you're kind of stuck with it. That's the only complain I have about Symfony.

If symfony is a beast, then Pimcore is a monster. I have worked with Pimcore for a long time and I love it. It's especially great for modelling complex data structures for different use cases.

Fastify is great for building APIs. I gave it a try when I was looking for a more performant alternative to PHP. I instantly liked the middleware approach and the way it validates request data.

I have also worked with Express, but I didn't enjoy it as much as Fastify. Maybe it's because I didn't have a chance to work with it for a long time, but I found it a bit incomplete. I mean the HTTP thing is great, but coming from laravel, I missed like 90% of the features that I was used to.

Frontend Technologies

Frontend technologies that I have worked on.
HTML5 HTML5
Tailwind CSS Tailwind CSS
AlpineJS
JavaScript Vanilla Javascript
React React
VueJS
CSS3 CSS3
Sass Sass
Bootstrap Bootstrap
jQuery jQuery

I put the frontend technologies in the order that I enjoyed working on the most. As I'm much more inclined towards backend, I might be a bit biased here, but I think the order is pretty accurate.

For obvious reasons, I have to put HTML at the top. However, good ol CSS on the other hand looses the battle against tailwindcss for me. For me, the best part about tailwindcss is I don't ship the stuff that I don't use and it's really hard to do it correctly with CSS.

I really enjoyed working with AlpineJS because of how easily it ties with backend rendered templates and provides a great way to add interactivity to the page without the need of a full blown SPA. Moreover, it powers technologies like Livewire which is pretty awesome on it's own.

Depending on the complexity of the project, I either go with vanilla js/alpine or react/vue route. Simpler projects do not need extra bloat and I'm always against adding unnecessary complexity to the project. But when the project is complex enough, I go with react or vue. I have used both of them and I like them both and I've suffered with both of them too.

Rest of the technologies are pretty much outdated and I wish to never use them again, but life isn't sunshine and rainbows and developers have tech debts.

Mobile Applications

Mobile applications that I have worked on.
React React Native
Ionic Ionic

I have worked with Android and iOS for a long time, but I don't consider myself a mobile developer. I have used React Native for building mobile applications and I think it's a great tool for building cross platform applications.

Before React Native really kicked off, I used Ionic for building mobile applications but I can't say that I'm following it these days.

Databases

Databases that I have worked on.
MySQL MySQL
PostgreSQL PostgreSQL
MongoDB MongoDB
MariaDB MariaDB
Redis Redis
Elasticsearch Elasticsearch

I mostly work with relational databases and I have used MySQL and MariaDB the most. I have also used Postgres in a few projects. I have used MongoDB on just one project in production. Redis and elasticsearch (opensearch these days) are almost in every project that I have worked on. I have extensively used elasticsearch for full-text search and in the last year or two really dived deep into the internals and even implemented my own little full text search engine.

Webservers

Webservers tat I have used
NGINX Nginx
Apache Apache

For the most part, I leave the webserver configuration to the devops team, but I have worked with Nginx and Apache in the past so if I really have to, I can work with them.

Message Brokers

Message brokers that I have used
RabbitMQ RabbitMQ
Redis Redis Queues

I have used RabbitMQ in scenarios that requires asynchronous processing and when I need to know for sure that a message is processed. I have used Redis queues in the scenarios where timing is critical but not the acknowledgement of the message being processed.

eCommerce

Tools used for building eCommerce platforms
Magento 2
Pimcore Pimcore

I've worked in large eCommerce projects built with Magento2 as well as with Pimcore eCommerce Framework. I also have worked in projects where both these technologies were combined and Pimcore was used as the source of data for Magento storefront. Although both of these technologies provide excellent feature rich solutions for what they do, they both realy heavily on pretty outdated technologies on the frontend which makes development very painful. But, as from a backend developers perspective, these tools provide a robust set of primitives as well as a lot of stuff out of the box for free which is pretty cool.

Developer Tools

These are some of the tools that I absolutely need.
Docker Docker
Git Git
Composer Composer
npm NPM
Lazygit Lazygit
Neovim neovim
fzf fzf
tmux tmux

I use docker for local development and deployment. I use git for version control and use composer/npm/yarn for dependency management. I absolutely love lazygit and I use it for all my git operations. Neovim is my editor of choice and am always optimizing my neovim configurations to bring the best out of my workflow. I usually work in virtual machines via SSH and tmux has been a saviour for me. With this workflow, I can quickly switch between different projects with just a few key-presses and it has made developing fun for me.

fzf has improved my workflow a lot. I use it for searching files and git history. I have integrated it in neovim so that I don't have to leave my editor to quickly search for files. I use it with telescope.nvim so it has a nice UI within the editor as well.

Recent Posts

Get In Touch

Have a project in mind or just want to chat? Feel free to reach out!

Leave a message

Name
Email
Subject
Message