Dmitry Grachyov, Senior Software Developer in Astrakhan, Astrakhan Oblast, Russia
Dmitry Grachyov

Senior Software Developer in Astrakhan, Astrakhan Oblast, Russia

Member since October 30, 2016
Dmitry has nearly a decade of experience developing .NET and JS applications, including founding and doing research for semantic-oriented IDE Acodemica, which helps beginning programmers to efficiently learn software development, and developing the South African Tourism website. He has a passion for solving complex tasks involving sophisticated data structures, time-consuming algorithms, and the design of big systems.
Dmitry is now available for hire

Portfolio

Experience

Location

Astrakhan, Astrakhan Oblast, Russia

Availability

Part-time

Preferred Environment

Cross-platform, Agile, Slack, JetBrains Tools, VCS

The most amazing...

...thing I've researched and coded is a rating algorithm calculating student competence level in solving programming tasks using a semantic-oriented approach.

Employment

  • Full-stack Developer

    2017 - PRESENT
    Hellocomputer
    • Implemented best practices in system design and performance for Umbraco CMS Web API, including Lucene indexing, load balancing, CDN, image cropping, multi-threading, and data model normalization.
    • Refactored the UI kit to support component reuse in multiple sections and portals for southafrica.net.
    • Optimized performance of the card and card deck modules to support scrolling of thousands of cards on desktops and mobile devices.
    • Built the menu, Contact Us bar and form, horizontal accordion, pills, article mosaic, cards, and transition effects for genlife.com.au.
    • Implemented GTM tracking and mail sending using Sparkpost and Send Grid.
    Technologies: .NET, Umbraco CMS, Angular Universal, Express.js, Node.js, ApostropheCMS, jQuery, Bootstrap, Sass
  • Founder, CEO

    2012 - PRESENT
    Semantic Technology, LLC
    • Created semantic-oriented IDE Acodemica for the web using Silverlight and WCF. It allows internet users to start learning programming in an interactive environment based on a semantic editor.
    • Created semantic-oriented programming language Semantic. It contains the core paradigms of mainstream high-level programming languages—structural programming, procedural programming, object-oriented programming, and modular programming—but does not have some features like exceptions, Lambda functions, or generics. That's why Semantic allows the programmer to switch program presentation to C, Pascal, Basic, Java, or Kumir syntax without needing program recompilation.
    • Researched educational technology to allow teaching and rating of programming competencies. Technology simulates the main teaching activities, from transferring knowledge and explaining tasks step-by-step, pointing out mistakes, and showing hints to detailed checking and rating of solutions.
    • Created an educational platform where teachers and schools can create and sell programming courses for major programming competencies or test students in solving programming tasks.
    • Created an educational web service for producing online courses for Russian startup company Edulance. The service allows the startup company to produce, advertise, and sell online courses in cooperation with online schools and individual authors.
    • Created a service called OkyLocky for creating and restoring complex and unique passwords.
    Technologies: .NET, C#, Silverlight, WCF, EF, MS SQL Server, PHP, Yii2, Active Record, MySQL, HTML, JavaScript, CSS, jQuery, Angular
  • Full-stack Developer

    2017 - 2017
    Amjad Ali (via Toptal)
    • Created a learning management system (web and mobile applications).
    • Created file sharing (using APIs of Dropbox, Box, scalable to Google Drive, and OneDrive as well).
    • Created push notifications for both web and mobile applications using OneSignal API and deep links.
    Technologies: PHP, Laravel, Angular, Bootstrap, Ionic 2, Dropbox API, Box API, Google Drive API, OneSignal API
  • .NET Developer

    2009 - 2012
    Astrakhan State Technical University
    • Created a semantic editor for abstract high-level programming languages using object-oriented design. The program was presented in memory as an oriented graph and saved to the file system as XML. The editor allowed only those actions that produce lexically and syntactically correct programs.
    • Created a static analysis tool which allowed users to search a semantic graph for semantic errors and save meta-information for future automatized refactorings.
    • Created a virtual machine that interprets programs as semantic graphs and transfers execution to .NET using IronPython DLR.
    • Created a framework that contains libraries to work with math, strings, files, random number generation, and system functions.
    • Created documentation about the language, semantic editor, and VM settings for students who are starting to learn programming in the semantic editor.
    Technologies: .NET, C#, WPF, IronPython, DLR

Experience

  • South African Tourism (Development)
    https://www.southafrica.net/gl/en/travel

    The official website for the South African Tourism organization, a multinational and multilingual tourism website, built with Umbraco CMS Web API and Angular Universal.

  • Generation Life (Development)
    https://genlife.com.au/

    The renovated site of the pioneer of Australia’s first truly flexible investment bond, Generation Life, who have been at the forefront of providing innovative investment solutions for over 15 years. The site was built with Apostrophe CMS, MongoDB, jQuery, and SCSS.

  • OkyLocky (Development)
    http://okylocky.com/

    OkyLocky is a service for creating and restoring complex and unique passwords.

    OkyLocky creates a complex, very strong password from two simple ones: Master Password, the single, most important, and secret password which the user needs to bring up once and remember; and Key Password, a word that does not require memorization (e.g., the site that you need the password for).

    The protected password appears after the user types two passwords. It will be unique and always the same. This means that user can recover the protected password at any time and anywhere by opening OkyLocky and repeating the combination of a Master Password and Key Password.

    OkyLocky does not store and does not transfer user passwords. Passwords are generated only in the user client and immediately deleted after exit or 60 seconds of being idle.

  • Edulance (Development)
    https://www.edulance.ru

    An educational web service for producing online courses. Schools, training centers, and individual coaches are the end users of the service.

    It was developed from scratch using PHP and Yii 2 Framework for a Russian startup company of the same name.

  • 8 Solutions (Development)
    http://xn--8-jtbamfws9d.xn--p1ai/

    8 solutions help to solve problems in different areas by collecting a lot of solutions and selecting the most optimal one.

    It is developed as a hybrid MVC/API application, using PHP Yii 2, Angular, and Bootstrap.

  • Acodemica (Development)

    An interactive platform for training competencies in programming and rating abilities and skills.

    It was developed by my startup company Semantic Technology, LLC, using a big set of technologies and languages after a few years of scientific research in semantics.

    It uses a semantic-oriented approach to build the educational language and IDE, which mimics the major actions of a real teacher: transferring knowledge, explaining tasks step-by-step, pointing out mistakes, showing hints, and making detailed checks and ratings of the solutions.

Skills

  • Languages

    HTML5, Sass, UML, JavaScript, CSS, HTML, PHP, C#, TypeScript, SQL, T-SQL, IronPython, Less
  • Frameworks

    .NET Core, .NET, Silverlight, Yii 2, Angular, Redux, Bootstrap, ApostropheCMS, Ionic 2, Laravel, Express.js
  • Libraries/APIs

    Windows Forms, REST APIs, LINQ, jQuery, Google Maps, Node.js, LinkedIn API, Twitter API, Facebook API, YouTube API, PayPal API, Gocardless API, SendGrid API, Box API, Dropbox API, Apache Lucene, Google Drive API
  • Tools

    Angular Universal, WebStorm, Microsoft Visual Studio, PhpStorm, NPM, Bitbucket, Git, DataGrip, Composer, Apache, Microsoft Team Foundation Server, Nginx, OneSignal, Jira
  • Paradigms

    Scrum, Modular Development, Agile, Procedural Programming, Object-oriented Design (OOD), Object-oriented Programming (OOP), Dependency Injection, Continuous Integration (CI)
  • Platforms

    Windows, Azure, Umbraco, Docker, Heroku, XAMPP, Windows Server, MacOS, AWS EC2
  • Other

    Algorithms, Systems Analysis, Windows Presentation Foundation (WPF), Content Delivery Networks (CDN), Architecture, Linux Servers, SparkPost, Data Structures, System Programming, IIS, Load Balancers
  • Storage

    Redis, Azure Blobs, Microsoft SQL Server, MySQL, MongoDB

Education

  • Master's degree in Information Science and Computer Engineering
    2011 - 2013
    Astrakhan State Technical University - Astrakhan, Russia
  • Degree in Computer Science and English
    2010 - 2012
    Astrakhan State Technical University - Astrakhan, Russia
  • Bachelor's degree in Information Science and Computer Engineering
    2007 - 2011
    Astrakhan State Technical University - Astrakhan, Russia

To view more profiles

Join Toptal
Share it with others