Nima Taheri
Software Engineer
I have been a programming enthusiast since I was 12 years old. I started my journey by developing Delphi and C++ desktop apps. Then migrated to the amazing object-oriented cross-platform Java when I became an undergraduate student. Finally it has been 2 years that functional programming and developing Scala has caught my interest.

My main field of specialty is the development of well-tested scalable web backend ( 4 years ) but I also have a good experience with web frontend and desktop development, and every once in a while I code and assist mobile developers too.

As you see I am not married to any role or any programming language, my 1st priority has always been to get the job done. My 2nd priority is technical excellence, and by that I mean the design with the least repetition, and error.

I have a good sense of humor. I love working in a small casual and friendly team of passionate people who are doing something that contributes to the world.
Master of Software Engineering
Sharif University of Technology
2013 – 2015
Thesis: Towards more evolvability for software product lines
I extended C language to support delta-oriented programming which resulted in a language with better evolvability for development of Linux kernel
Bachelor of Computer Science
University of Tabriz
2009 – 2012
Ranked 1st in every semester
Scala Backend Tutor & Technical Problem Solver
Iran Internet Group
Aug 2017 – Mar 2018 (8 mos)

Created 8 hours of Scala video tutorials (publicly available) and held workshops for Snapptrip.
Helped SnappHitt's product manager to break down the requirements into fine-grained designs.
Coordinated the development team in India, reviewed all codebases, tracked project's progress, intervened and helped to solve technical problems.
Solved the issues with the encoding, streaming and playing videos.
Created a fully isolated test-bed for writing integration tests.
Initiated defining organization-level standards for all teams.
Senior Frontend Developer & DevOps Assistant
Tasvir Gostar Pasargad
Apr 2017 – Nov 2018 (8 mos)

Re-engineered stylesheets of the legacy website into a clean BEM architecture
Changed the website's look according to the new design and implemented new features by utilizing the best off-the-shelf libraries
Refactored Cordova mobile application codebase to gain better readability and modularity
Implemented new features on the mobile application with minimal code change
Enhanced build automation by integration new grunt plugins, and writing Python scripts
Contributed to several Cordova open-source libraries, that I had used in the mobile application
Java Backend Architect & Mobile/Web Developer Assistant
Apr 2016 – Mar 2017 (~ 1 yr)

Designed and developed the project's backend from the scratch according to the requirements using Java 8 & Spring framework
Setup a cluster of centOS nodes and distributed the load on them using HAProxy
Optimized data retrieval by minimizing the roundtrips to database, optimizing SQLs, defined appropriate indices/shard on tables
Used JOOQ to create type-safe, composable SQL queries
Used lombok and vavr to add a more functional, concise look to Java
Initiated the development of iOS and web-frontend
Interviewed applicants for backend and mobile job positions and assessed their technical skills
Scala Backend Developer & DevOps Assistant
Apr 2016 – Oct 2016 (~ 7 mos)

Designed and developed features according to the requirements using Play2, Slick & Postgres
CPU-profiled regression tests and improved the application's performance
Broke the backend monolith into 4 more managable micro-services
Reduced boilerplates in many places using macros and shapeless
Migrated complex CI bash scripts to Python, and setup Jenkins to automate the process further
Helped mobile developers to make better use of logging to ease diagnosis of reported bugs
Java Network Developer
Intelligent Information Solutions Center
Jan 2015 – Dec 2015 (1 yr)

Designed and developed the network module of a OSS system
Developed a reflection-based library to perform SNMP queries on network devices
Parallelized SNMP queries, which substantially boosted the speed of the network module
Developed an ansible-like engine to communicate with network devices through SSH
Intensely wrote unit tests for the network module to achieve a high degree of stability and evolvability
Publications and Technical Talks
Academic Paper
IEEE/IFIP Network Operations and Management Symposium
April 2016
A SDN-based VPN solution which substantially reduces the complexity and cost of management and network devices, and also provides better flexibility over controlling the connections.
Technical Talk
229th Meeting of Tehran GNU/Linux Group
Jan 2017
I talked briefly about scala compiler, how to write scala compiler plugins, make use of blackbox, whitebox and annotation macros, what is new in Scalameta 3.
Video Tutorial
Jul 2017
8 hours of video tutorials covering most concepts in Scala from intermediate to advanced
Amir Karimi
Software Engineer at Walt Disney Streaming Services
Amir directly managed Nima at ModernPal
When I interviewed Nima on March 2016, he had not developed a single line of Scala code; Now he is one of the few professional Scala developers in Iran that I know of. Nima is an independent, smart, result-oriented young man who has a knack for solving difficult puzzles. In terms of personality, he has a great sense of humor.
Behzad Mirkhanzadeh
Research Assistant at University of Texas at Dallas
Behzad was Nima's co-worker at Intelligent Information Solutions Center
I worked with Nima in the OSS project of Telecommunication Infrastructure Of Iran, Meanwhile we accomplished an extensive research work and published it in IEEE/IFIP NOMS 2016 Conference. He is one of the best and most skillful software developers I have ever seen. He implemented and designed the core module of the OSS which was very complex and challenging. His intelligence and hardworking attitude as well as great teamwork abilities make him an ideal software engineer, especially in stressful volatile environments. A company would be lucky to have him!
Ali Sarshad
Project Manager and UI/UX Designer
Ali directly managed Nima at Tasvir Gostar Pasargad
We met Nima when we were in a severe time constraint and in need of a developer who is able to evolve our website and mobile application. Nima is a professional and experienced software developer, who does his job with extreme care and patience. A person who can be counted on in tough circumstances.
Mahdi Azadbar
Android Developer
Mahdi was Nima's co-worker at Teska
Every time I think of a creative, talented and skillful developer, the first person that comes to my mind is Nima. He has a sharp vision in solving problems and sound knowledge in software development which enables him to learn and handle any new platform or language. Besides, Nima is very agreeable, has major commitment to his work and assists his colleagues by all means.
Mehdi Ebadi
Fintech Product Manager
Mehdi directly managed Nima at Teska
We always discuss and have debate over technologies and he is a big fan of the cutting-edge technologies. Nima learns very fast, Not just fast but deep. Meticulousness is another good trait of him, When there is a problem he inspects all dimensions of the problem to come up with a reliable solution. Nima is smart, accurate and open-minded in software development, which is in fact the most important skill. Concerning his personality, I should say, he is kind, calm and introverted yet he has two big wings to fly. He is also open minded in life and is always ready to think twice about his choices.
Hitt News
Iran Internet Group
Aug 2017
Hitt extracts the most important, credible news from various sources, summerizes them in less than 60 words and delivers to every user based on their interests.
Tasvir Gostar Pasargad
Apr 2017
The online media streaming and video-on-demand service of Tasvir Gostar Pasargad company which is the distributor of many Iranian movies and TV series.
Mar 2016
Healthypal is an application implemented for mobile and web that allows doctors, nutritionists, trainers to have a close relationship with their customers. Through Healthypal specialists give consultation, send out care/workout/nutrition programs, monitor their patients for after-care measures, supervise their physical activities, etc.
Apr 2016
Poolam is an expense management application for mobile devices. Customer signs a contract with his bank to receive Poolam e-receipt instead of plain text SMS whenever he made a transaction. Poolam then provides user with intelligent financial advices, useful statistics besides a nice view of transactions.
National Operational Support System
Intelligent Information Solutions Center
Jan 2015
An OSS for Iran's Telecommunication Infrastructure company to manage their network devices and services. In particular we focused on Provisioning MPLS VPN and VPLS services through OSS system and monitor the status and the quality of these services.
NPort, A GameNet Management Solution
Danger Gamenet
Mar 2006
NPort was a fully-featured gamenet management solution used in several gamenets in Tehran. NPort had a client-server architecture, and was implemented using Borland Delphi and Tcp Socket.
Honors and Awards
Ranked 24th in Nationwide Entrance Exam for Graduate Studies
National Organization for Educational Testing
May 2013

Granted Admission for Master's Degree of Science in Informatics
Université Joseph Fourier, Grenoble (MOSIG), France
May 2013
For personal reasons I preferred Sharif University over it.
Ranked 1st in Department of Computer Science
University of Tabriz

Ranked 1st
Alborz High School

Programming and Scripting Language
Scala (Play), Java (Spring)
Python, Cpp17, Javascript (React, React-Native), Bash
Android, iOS (Swift), Go, Php7
Markup Language
Html, Css3, Sass (BEM)
LaTeX, Jekyll
OS Administration
Linux (Ubuntu, CentOS)
Windows, macOS
PostgreSQL, MySQL
Oracle, MongoDB
Foreign Language
English ( Academic IELTS 2013 )
+ 98 912 761 59 48  Skype  Whatsapp