Abhishek Deore

About

Computer Software Engineering graduate student at Arizona State University with 3.5 years of professional experience.

  • Birthday: 29 March 1995
  • City: Natick, MA
  • Age: 26
  • Degree: Masters

I'm a highly motivated and a passionate Software Developer. As a professional, I have mainly worked on Game Development in C++. However, I'm pretty comfortable and a quick learner when it comes to exploring new tools, technologies and programming languages. I like to play Chess, and I'm a strong Chess player. Besides, I also like to write blogs on Gaming. Feel free to reach me out for video game recommendations!

Skills

C++ 90%
Java 75%
Python 70%
Python 70%
PHP 60%
MongoDB 90%
SQL 70%
IDE & VCS
  • Visual Studio
  • Visual Studio Code
  • Qt Creator
  • Eclipse
  • Perforce
  • Git
OS & Build Tools
  • Windows
  • Linux
  • Docker
  • Maven
  • Ant
  • Gradle
Frameworks
  • .NET 5
  • Qt
  • Jersey (Java)
  • Kafka (Java)
  • Bootstrap
  • Django
  • AngularJS
Game Development
  • Anvil (Ubisoft)
  • Snowdrop (Ubisoft)
  • Dunia (Ubisoft)
  • Unity Editor
Debugging90%
Data Structures & Algorithms90%
Software Design 85%
Game Development 85%
Web Development 80%

Resume

Summary

Education

Masters in Computer Software Engineering

Jan 2021 - Dec 2022

Arizona State University, Tempe, AZ

GPA: 4.0/4.0

Currently pursuing the masters program, started in Spring 2021

Graduate Services Assistant

Web Application Programming and Security [Node.js, Java, Spring Boot, JavaScript] (SER 421, SER 422)

Software Developer

Worked as Software Developer on a Biodesign project, Python/C++/Qt

Relevant Coursework:

Advanced Data structures and algorithms, Software Design, Foundations of Software Engineering, Distributed database systems, Internet Enabled Embedded devices

Bachelor of Engineering, Computer Engineering

2014 - 2017

Pune Institute of Computer Technology, Pune, India

GPA: 9.30/10

Graduated with First Class and Distinction.

Relevant Coursework:

Data Structures, Principles of Modern Compiler Design, Computer Networks, Cloud Computing, Operating Systems and Design, High Performance Computing, Object Oriented Programming, Design and Analysis of Algorithms

Professional Experience

Software Engineer

MathWorks Inc., Natick, MA

  • MathWorks
  • Feb 2023 - Present
    • Engaged in the migration of backend API framework for Simulink.ConfigSet
    • Added unit tests for the frontend and backend for Simulink in C++ and MATLAB
    • Technologies used: C++, JavaScript, MATLAB, Simulink

Software Engineering Intern

DataChat Inc. Madison, WI

  • DataChat
  • May 2022 - Dec 2022
    • Rolled out a few major visualization beta features into production to improve chart loading performance
    • Re-engineered the error boundary system in React.js to specify the details of a chart loading error
    • Worked on maintenance of existing features in backend
    • Added unit tests and snapshot tests in Cypress and Jest for chart visualization features
    • Technologies used: Python, Javascript, React, Go, PostgreSQL

Senior Software Engineer

Agiliad Technologies Pvt Ltd, Pune, IN

  • ConneCT 3D Bag Scanner
  • July 2020 - Dec 2020
    • Worked on a High Speed CT scanning - Aviation security product, installed at 1200+ Airport security checkpoints.
    • Participated in backend tasks in Java and MySQL which included data migration, and database partitioning across multiple nodes on the intranet which decreased the load by 5%
    • Created a logging module in C++ to track UI actions, participated in code reviews, and system design documents for the features.
    • Enhanced the existing UI system to match with the modern UI design trends, which resulted in a strong positive client feedbacks
    • Technologies used: C++, Qt, QML, Linux, Java

Programmer

Ubisoft Pune, IN

  • Prince of Persia
  • April 2019 - June 2020
    • Worked as an AI Programmer, the core tasks were to implement, debug and maintain AI systems.
    • These systems were part of Anvil Game Engine, which is known for its massive open world games. Also contributed to Combat AI modules which involved positioning and AI fighting systems.
    • Some notable systems that I built
      1. A Fight States History System This system recorded all the combat moves a character/player has performed. This would then in turn was used for achievements system where it would trigger few achievements once certain move sequence was performed by player.
      2. Restriction Zones for NPC AI This feature was used so that the NPCs would patrol their associated restricted zones and if an enemy enters it, they would start fighting them. Also, once an enemy has left such zones, they would wait for the enemies to return for a specified timer, and would return to patrolling once the timer expired. This system also involved interaction with non-combat AI systems,
      3. Fight Achievements Tracking The main purpose of the system was to track all the combat specific events which would then used as a a means of statistics. This would give insight into what kinds of moves the player likes perform, at what location, and so on.
      4. AI fight targeting algorithm Built a Round robin algorithm to equally distribute enemies among different targets. e.g. if there are 2 targets and 10 enemies then each target would be assigned 5 enemies. This also takes into the account newly added or removed enemies and rebalances if needed.
      5. Apart from these tasks, I also worked on debugging issues in existing Combat AI / AI systems wherever required.
  • Starlink PC: Battle for Atlas
  • May 2018 - May 2019
    • The main tasks for the project were to port it on PC platform. The game runs on Snowdrop engine. The collaboration was with Ubisoft Toronto as a lead studio.
    • I implemented following features
      1. Developed a system to have keyboard and mouse inputs working for Windows platforms.
      2. Ported UI screens so that they could work with Keyboard/Mouse Inputs. This required deliberate efforts so that these newly added input methods wouldn't interfere with Controller based inputs.
      3. Scaling UI screens/menus to fit different screen resolutions.
      4. Dynamic UI button prompt system where the button prompts would update based on the last used input device.
    • My other duties included
      1. Leading newly hired junior programmers and training them.
      2. Debugging and Optimizing the gameplay systems.
      3. Reviewing and Collaborating with lead programmers at Ubisoft Pune and Ubisoft Toronto.

Junior Programmer

Ubisoft Pune, IN

  • Far Cry 5
  • July 2017 - April 2018
    • Collaborated with Ubisoft Montreal, Toronto & Kiev for AAA games, I worked with designers, artists & programmers during the collaboration. Worked on Arcade Player Progression system and Map Editor tool.
    • Was awarded as a Best Performer for the August 2018 quarter, for taking Initiative in providing various design changes which were accepted by designers at Ubisoft Montreal during Far Cry 5 Development
  • I developed following features on the project.
    1. Arcade Player Progression UI This screen appeared when a player finished a multiplayer match in Arcade. It showed the experience points gained by the player during the session, the current level and the next achieved level of the player, rewards earned on levelling up and current player badge.
    2. Level/Map Scripting Tool Port to Consoles The scripting tool lets map creators provide features to create custom missions in arcade along with map editing. This feature was initially developed for PC Map Editor Tool, then eventually planned for consoles as well. Following were the tasks for it.
      • Adding UI menus for the tool.
      • Adding Inputs for controllers.
      • Integrating with the existing gameplay system of the tool which was available for PC Map editor tool.
      • Debugging and polishing the implemented system.

Awards & Achievements

  • Ubilympics Chess champion, 2018 Won Ubilympics 2018 Chess tournament which was held at Ubisoft Pune, won all matches in the tournament.
  • Best Performer, August 2018 For taking Initiative in providing various design changes which were accepted by designers at Ubisoft Montreal during Far Cry 5 Development.
  • Advanced C++ Training, July 2020 Debugging techniques, C++17 Features, Template Meta-programming