Afshin Mehrabani

Software Engineer

http://afshinm.name
afshin.meh@gmail.com
+353 83 810 3054

 


Afshin is a software engineer and an open source programmer. He started with programming and PHP web development when he was 12 years old. Later, he entered the Iran Technical and Vocational Training Organization. He was ranked first and has also bagged a golden medal in a competition on web development in his country. He also became a member of the Iran’s National Elite Foundation by producing a variety of new programming ideas.


Technical

  1. Python
  2. JavaScript
  3. TypeScript
  4. NodeJs
  5. Golang
  6. Rust
  7. MySQL
  8. Apache Solr
  9. Web Security
  10. Linux
  11. Terraform
  12. Chef
  13. InSpec

Experience

Etsy

Senior Software Engineer (IC 3.2), Dev Platform March 2020 - Present

Development of a local Developer VM solution using VirtualBox, Python 3 and CentOS 7
Development and maintenance of a self-service tool to manage Deverloper VMs (Python 3, TypeScript, Terraform, GCP)
Alerting and monitoring infrastructure with Grafana, Graphite and Nagios
Infrastructure as code (IaC) with Terraform
Configuration management using Chef and InSpec
Maintained CI/CD pipelines for Terraform
Contributed to open-source tools

Senior Software Engineer (IC 3.1), Provisioning August 2018 - March 2020

Designed and developed a self-service tool to manage Developer VMs (Python 3, TypeScript, Terraform)
Developed tools and automation for provisioning in datacenter
Deployed Cobbler and Koji in Google Cloud
Alerting and monitoring infrastructure with Grafana, Graphite and Nagios
Infrastructure as code (IaC) with Terraform
Maintained CI/CD pipelines for Terraform
Contributed to open-source tools

AYLIEN

Software Engineer May 2015 - August 2018

Working on designing and developing RESTful API for Machine Learning and Neural Network libraries, such as Keras and TensorFlow. API designed and developed using Python, MySQL, Django, ElasticSearch. Client-side of the application uses Angular.js / ES6 and Kubernetes, Docker to deploy and maintain the systems in the cloud.

Yara Information Technology

Senior Software Engineer March 2013 - May 2015

Worked on server-side RESTful APIs and bidirectional socket server for an online multi-player game using ASP.Net C# / .NET framework 4.x.

Also, wrote a web-based RESTful API with Python / Django and the client-side using Angular.js / ES6.

Visa Samaneh Asa

Software Engineer Feb 2012 - April 2013

Writing web-based platforms for Tehran online stock exchange. RESTful APIs written using C# and client-side with Angular.js and ExtJS.

Tadbir Pardaz

Software Engineer May 2010 - April 2012

Wrote a socket server (TCP server, C# and multi-threaded) for mobile stock trading platform. Also, contributed to a ASP.Net project which is the backend of web-based stock trading platform of Tehran stock exchange.


Education

Dublin Institute of Technology

Master of Science (MSc), Advanced Software Development 2016 - 2020

Upper Second Class (2.1) Honours. Dublin, Ireland.

Thesis topic: “Webpage Classification using page screenshots based on Open Graph Protocol”

Tehran Rayane’e University

Bachelor’s Degree, Information Technology 2011 - 2016

First Class Honours (16.66 / 20). Tehran, Iran.

Nemoone Hosseinian

Diploma, Math and Physics 2007 - 2010

Neyshabour, Iran


Honors

Web Design Competition - 1st place, Gold medalist

WorldSkills Apr 2009

Iranian National Skills competition, Web Design using PHP, MySQL, Apache, JavaScript and HTML5.

Youth Kharazmi Programming Competition - 4th place

Youth Kharazmi Competition Mar 2008

Youth Kharazmi competition in Programming with PHP and C#.

Speaker at Mozilla WebMaker 2014

Mozilla Sep 2014

This is the first Mozilla webmaker event in Iran. It will be hold right after the annual open source conference in order to absorb people who have are already familiar with open source.

Link: https://events.webmaker.org/#!/events/5513

Speaker at Open Web Platform Conference 2013

Open Web Platform Oct 2013

Speaking about HTML5 new features, Web Storage and how to create another thread in browsers.


Side projects

Grid.js

http://gridjs.io

Advanced Table plugin based on TypeScript (Open-source, MIT licensed)

Intro.js

http://introjs.com

Popular open-source JavaScript library to create step-by-step tours and guides.

Juggernaut - Neural network

http://juggernaut.rs

A neural network written in Rust that compiles to Web Assembly and can run in the web browser.

Motion.js

https://github.com/usablica/motion.js

MotionJs is an easy to use, cross-browser CSS3 library for creating animations in web. Open-source, MIT Licensed.

Scrollanim

https://github.com/usablica/kissui.scrollanim

Scrollanim is a CSS3 and JavaScript library to create stunning scroll animations that work everywhere.


Publications

360° Stance Detection

NAACL 2018

The proliferation of fake news and filter bubbles makes it increasingly difficult to form an unbiased, balanced opinion towards a topic.
To ameliorate this, we propose 360 Stance Detection, a tool that aggregates news with multiple perspectives on a topic. It presents them on a spectrum ranging from support to opposition, enabling the user to base their opinion on multiple pieces of diverse evidence.

https://arxiv.org/abs/1804.00982

MongoDB High Availability

Packt Publishing 2014

MongoDB is one of the pioneers in implementing the NoSQL concept by using “Document” as the infrastructure to save and restore data from a database. Using MongoDB in high pressure situations needs a predefined plan, and this book with its step-by-step approach can help you to make a highly available MongoDB server using the latest features.

Starting with the basic concepts and their implementation, you will study real-world use cases which will help you understand the practical aspects of MongoDB. Each step contains an in-depth presentation and several screenshots. This book teaches you all the tips and tricks to make a highly available MongoDB server using different clustering solutions. This book has a perfect balance of concepts and their practical implementation along with solutions to make a highly available MongoDB server in a production environment and under high throughput with clear instructions and guidance.

Getting Started with CreateJS

Packt Publishing 2013

CreateJS is a popular, well supported JavaScript library used for web advertising, education, gaming, and cartooning.The CreateJS suite consists of different libraries that are designed to work independently or together to create rich interactive content on open web technologies on an HTML5 canvas. In CreateJS, the EaselJS API provides solutions for working with rich graphics and interactivity and integrates well with its tweening library; TweenJS.

IntroJs Starter

Packt Publishing 2012

IntroJs is a JavaScript and CSS3 library, used to create simple step-by-step help pages or introductions for websites and applications to show the users new features or whole application parts quickly and concisely. Instant IntroJs is a reference to get started with IntroJs right away.


Afshin Mehrabani — afshin.meh@gmail.com — +353 83 810 3054