Hassan Faghihi

Hassan Faghihi

FullStack Developer / Photographer

My name is Hassan Faghihi, a Software Engineer with Full-stack experience, I am also a photography enthusiast; Currently, working as a full-time remote Full-stack developer, and we consume .Net Core and Vue in our company to implement our micro-services and micro-frontends application.

I also have history with Java & Unity Game Engine; I also read books or article about other languages too, although I have never put them in work.

My experience is including implementation of Windows services, web application, incoming and outgoing web services, working with Image and Graphic class, Mutli-thread application, IO and simple file Streaming, SQL and NoSQL Databases, Cache Management, simple API Gateway, simple Microservices, ... .

I have also faced and worked with different design patterns, system architecture, project structure, coding style, software methodology, people and thoughts.

I also have enough knowledge about basics of router, network, containers and Windows server configuration, including IIS, DNS, Active Directory, etc... to be able to host my own websites including this (faqihi.ir) self-introduction.

Work Experience

For Companies

  • Full-stack Developer
    @ Mores software
    Remote,  Dec 2021 - Present

    Mores Software company rose from the "Pishtazan Segal Mehr" company around the idea of providing SaaS (Multi-Tenant), SCM (Supply Chain Management) system. The new system is based on micro-service and micro-frontend architecture, and, as a monolith version of the software already existed, it also needed integration before fully re-writing each service. The company approach is to use agile methodology to perform its tasks. The software teams consisted of 2 5-7 people teams, and several solo-workers all working remotely on different services such as Invoice, Warehouse, Accounting, Product, Persons, Tenants, Scopes, Identity, and so many other services which currently can be counted up to 50 services. The company also undertake the power of AWS services, docker, CI/CD, Code Quality Tools, customized CLI, and so on to perform these tasks without failure.

    Link: No website for visitors exists
  • Backend Developer
    @ Javid Group | Tazminchi Team
    On-site & Remote,  Oct 2020 - Dec 2021

    Javid Group is a big enterprise-holding company, and by the time I joined, they worked in different areas, but with their focus on the financial field. After I joined the team, a new idea caused a lot of changes in this holding, and the Tazminchi brand was born. Now the focus of the company is on the safety of the trading system, by guaranteeing trade by providing an environment in which both the seller and buyer can trust; this includes the required software, logistic team, 24/7 support, payment gateways, and many other related ideas built side by side, which let both companies growth, and guarantee the safety of trading for the benefit of people.

    Link: Javid Group: javid-group.com | Tazminchi: tazminchi.com -- Links Do Not Exist Anymore
  • Backend Developer
    @ Kilo
    Remote,  Apr 2020 - Jun 2020

    Kilo was a programming company in which they mainly worked on software used by Travel Agencies and Flight Ticket Selling companies. I start my job with integrating Web API services of other companies into their system, and create a unique language to talk to them all, unfortunately due to no payment, after two months, I forced to change my job.

    Link: kilo.website -- Link Does Not Exist Anymore
  • Backend Developer
    @ Omidan Hozoor Javan
    On-site & Remote,  Oct 2019 - Mar 2020

    Omidan Hozoor was one of the companies working in beauty, health, and psychology fields. The company owned two software teams, and there were some other teams working on different areas, such as design, content, pod-cast, motion, etc. Our team worked on several projects, in which I worked on the backend and providing data using APIs. Although the project failed due to Corona pandemic and misunderstanding of the project manager, it was a starting point for me to switch between technology (.net framework to .net core/standard) that I now use in my current work.

    Link: omidanhozoor.com -- Link Does Not Exist Anymore
  • Full-stack Developer
    @ Ravis
    On-site,  May 2015 - Oct 2019

    The "Ravis Andish Chehelsotoon" known as "Ravis" or previously as "Farasoo", company is a leading company in travel industry, they provide software for travel agencies, including online flight, tour, and hotel reservation or management system. My job in this company is to implement other company services, or provide one, research and providing new features, work on sub-systems, and solve complicated programming issues. Some of the popular system, with everyone access to projects of this company are including: en45.com (local) / eng45.com (international), alaedin.travel, and ravis.ir

    Link: Ravis
  • Windows Form And Service Programmer
    @ Faradid
    On-site,  May 2014 - Mar 2015

    Once I took my Bachelor of Science, I start working for "Faradid Rayan Afzar" Company. The very beaning task I received was to modify a graphical chart (Gaunt Chart), they required some features, and also some parts of the chart were buggy, once I finished with the chart, I received various tasks to perform and provide sub systems and components of the bigger system. The reason I left was, since the company had lots of unpaid money in hand of governmental organization, and it was about to get bankrupt, so they decide to disband it.

    Link: Faradid
  • Java Web Programmer and Content Manager
    @ BEDKA
    On-site,  2011(~8Month)

    My very first job started with "behin Dade Kavan'e Arian" (BEDKA) company as a part-time worker. Which at first started with content managing, including HTML/CSS work, and then end with writing JSP, Spring, and Hibernate code in JAVA. The reason I start this work was to put the knowledge we earned into practice. The reason I left, was because the manager didn't seem to want to pay me, after six months.

    Link: bedkaco.com -- Link Does Not Exist Anymore

Self Employment

  • Micro Projects
    2005-2012

    In 2015 I first learn how to material C# to create ASP.NET Web-Forms Application, I had no knowledge of OOP programming, or C# basics, yet, I just get started. Once I finish my classes, I start working on register based feature to hide access to a specific folder within Windows NT, After that, I found out that Game Net folks require a Multi-Realm Launcher for their WoW(World of Warcraft) Game, so they can switch between the servers they play into, without modification of game core fails. another project was a difference checker, put two directories under checking to find differences. since then, I also wrote 2 game involved with my NIIT classes,and as last project, it was a template provider for a old game known as "Uplink - Hacker Elite", it was a paint like application, provided user with drawing, shaped objects, properties, import, export, so the user could create what he desires, and import it within the game.

    Link:
    Directory Lock 2 Sync
    Multi-Realm Launcher
  • Personnel Management
    2016

    This project was provided do to need of some friend, it was involved with Java, Spring Core, Hibernate, and some file-based database, it also takes advantage of AngularJS for its user interface, provided the manager with calculation of user work times, on each project they had, depending on their work cards...

    Link: Personnel Management
  • Ashiane
    2017-Now

    It was a project I worked on since my education years, first I wrote it in windows forms, with so complex models that NHibernate hardly handled though during the process caused discovering of so many bug that I report back to DevArt model creation software (Entity Developer) team, which is used for developing of ORM models such as NHibernate. Then I leave the project behind, so at the pointed time, again I think about it, so I thought it as a vast project which can target all audience, and as a website, so I rent servers, configure clustered database, and start the project with .Net WebAPI 2 and AngularJS, due to some issue, I stop the project, and then got involved with some tiresome job, which took me more than just 6 months. After a long time, again I started the project, and it went slowly (due to my limit time out of the company). In 2019, in the 4th or 5th month I stick to project hardly, and I rewrote the UI using Angular 7, in the 7th month the user input UI for entering house information was done. The Interface is still incomplete, but it's close to the end of phase 1.
    About The Project: This project will provide user with ability to search for homes with a very complex model scenario, this project also consumes MongoDB as a database.
    Ashiane was one of the biggest challenges I took beside the Gabriel project at Ravis.

    Link: Ashiane.House
  • Koken
    2018-Now

    What I did about koken? well, nothing. this project is not about programming as you was reading, it's about server configurations... As you know, I do photography too, and at some point I felt the need for a website, but I was involved with so many, so I thought I can search for a free template and I shall use it, so I find koken which is great, it was in PHP, and oh god how many years passed since I touched PHP... I didn't also want to start installing all kind of services on my server, so I launched an IIS hosted version of PHP, and configured my DNS servers, getting domain, configuring firewall, directory access, Routing, SSL Certificates, etc...
    It is not my first time, but it was my project, so I thought I can mention.

    Link: hassan.faqihi.ir
    ** Built by KOKEN - NOT ME

Volunteer Activities

  • Photography
    2016-Now

    Although it didn't have much of income for me, and now I mostly don't think about it professionally (the money) if I find time for, still its several years, that I call my self a photographer, and I was inspired since I got my first camera on 2016.

Education

Universities

  • Azad University of Khomeini Shahr
    2011-2013

    It was last university I ever attended, and I received "Bachelor of Software Engineering" degree, my teacher put some conditions, and declared if you do not have any of these cases you better go start working instead of wasting your time here.

  • Shahid Mohajer University of Isfahan
    2008-2010

    This is the place I received my "Associate of Software Engineering" degree, and it was one of the strictest places in most curses, but still it was academical and not practical. the thing I liked about this university was that one teacher who left, but had many things for me, it was the beginning of game engine era for my country, and he was one of those who started with graphical engines, so he said those who want to research and earn my best grade, shape a team, and come to me, so I gave them an engine name, so they'll research it. I found no one, so lonely, I started working with "Unity Game Engine". it was the greatest experience in my life as a programmer. and I never forget this sentence he declared: "every one can do anything, but someone should give them the name, so they can follow it" and it was true, although it took me year, or more to learn some of it, if no one mentioned it, I'm still looking around knowing nothing.

Courses

  • MongoDB
    2017-2018

    It's some year that NoSQL got popular that every programmer knows hear the name, and know a basic maybe correct or incorrect description about it, to tell you. Long ago I wrote an incomplete project about Real Estate software using windows forms, and I left it at the ending point, the requester didn't follow, the university exam began, and a lot of things happened that discouraged me, even people said it's a waste of time. So I left it behind, I was using complex structure with inheritance and parent child models, which somehow I managed to pass it to NHibernate ORM, and it was handling it for me, After years when I wanted to start my project as web based project, I again wanted that complex model, but I was unsure if I should use that packages, I was going for a bigger audience and as a service that should serve all from one server... so I did some little research and I choose MongoDB, I partially take course that provided by mongodb website, and until now I happen to take:

    • M101N: MongoDB for .NET Developers
    • M102: MongoDB for DBAs
    • M001: MongoDB Basics
    • M103: Basic Cluster Administration
    • M121: The MongoDB Aggregation Framework
    • M201: MongoDB Performance
  • Oracle Database Fundamental
    2014

    There is a popular company in my city, using oracle for many things, so the name of oracle got popular, and was cool to learn it, so I just attend the course, the course was about:
    Learning the fundamental of Oracle Database, and also how to query its data, also knowledge of how to program in database level.

  • NIIT (Software Engineering)
    2008 - N/A

    I never finish this course fully, every quarter, less student attended, and some classes hardly get shaped, and I never got notification for past 5th semester. it was including Office, SQL Server 2005, C#, Java, Object Oriented, Data Structure, XML definition and validation, JavaScript, and Application Database Connectivity, ...

  • ASP.Net 2.0 Web-Forms
    2005

    Right after Dreamweaver course I start with "ASP.NET 2 Web-Forms". It was the entry point of my knowledge to use C# language, and the subject was about "Understanding of creation of server side web application using available components and Framework (Web Forms) via ASP.Net"

  • Dreamweaver
    2005

    It was my first time using HTML for more than just A and Table tags, and the subject was about "Understanding of making layout and design HTML web pages Using Dreamweaver".

Self-Investigation

  • Android, SignalR, ASP.NET MVC, Angular/JS, Fax, etc...
    2015

    After I start working as a professional, I was told to work with many things I didn't hear about, or I tried to avoid. and I always tried to find a way if it was possible. I wrote a complex chat system using signalR, which after two years get limited and got used in en45 website. I was told to work with MVC, it was a short period, and I almost forget a lot of methods, I was told to write a fax management system ( My Article), which used by HaliTour Travel Agency, but since they never start to pay, we left the system behind, the system required optimization due to huge amount of incoming fax per day, so it may not work anymore, but yet they never pays. I got involved with AngularJS framework, I managed to write simple pages and simple directives on my own. Newly, I was told to learn Android, but they never requested a new software or modification of their own. I was also asked to do Server Administration stuff, such as make a server ready to be using, DBA admin stuff, such as SQL Server Email configuration, or learning about Mirroring, Network Manager stuff such as working with basic configuration of Central Phone System, or Router...

  • Spring-Boot
    2016

    I was starting with Personnel Management project, it was long time since I worked with Java and I wanted to remember some of those grate enterprise spring framework matters, it also would worked better for me as a resume, if I was about to find a job outside my country as it was based on Open Source stuff.

    Link: Spring
  • Spring-Boot
    2016

    I was starting with Personnel Management project, it was long time since I worked with Java and I wanted to remember some of those grate enterprise spring framework matters, it also would worked better for me as a resume, if I was about to find a job outside my country as it was based on Open Source stuff.

    Link: Spring
  • NHibernate
    2015

    As I mentions before I start with NHibernate due to never finished project which was about Real Estate Agencies. During the period not only I learned the framework, I managed to find bugs within the IDE I worked with.

    Link: Hibernate
  • Spring-MVC
    2011

    When I was at BEDKA, not knowing the JSP itself I was told to work with JFS, and not a week passed, that they said they need me to work with spring framework and migrate a JSF based project to Spring due to lack of performance on weak (Pentium III) servers and the fact that, that university wouldn't spend money, but had power to put them under pressure. So I start searching all stuff about spring; without knowing that lot of them is part of JSP, it was one of my hardest experience.

    Link: Spring
  • ExtJS 2
    2012

    When I was at BEDKA I was requested to learn one of the DOM management frameworks between ExtJS and JQuery, but it was around the time that I asked for my wage, and I left the company. I was attending "Azad University of Khomeini Shahr" that my friend had a server and happen to have CCProxy application which did not have good web based user manager, so I start learning ExtJS, and after filling a big notebook, I could write a simple application, I was using PHP as the host, and IO manager.

    Link: Sencha
  • Unity 3D
    2009

    I was learning how to program inside a game engine which works with physic, rotation, movement, scaling, graphics, sound, animation, creating objects, and makes components, how to work with time and delta time.

    Link: Unity

Miscellaneous

  • Being Awesome
    1989 - Till Death

    As I worked on projects seeing thing that comes handy, getting to be used by millions of people, or at least have effect of my work on them, I get inspired to learn more, and to do more

My Address

Some Allay in Ejare-dar Str, Tehran City, Tehran Province, Iran Country

Mobile Number

+98 (913) 219-8895

About Me

I love to work, so don't be shy, I am just an email away.

Persian Introduction click here معرفی نامه فارسی