Position: Back-end Developer
Company: it-dimension.com
Category: Node.js
Experience required: 3y
English level: intermediate

**Totem** http://totem.gdn/ is a company that specializes in blockchain-related solutions. The system is intended for Indie game developers and allows the use of in-game NFT items and player avatars in various games, as well as provides an API for game developers.

**﻿We are looking for an experienced Backend (Node.js) developer**

﻿Lately, we’ve been focusing on developing game engine plugins for desktop. Now we are moving on to the next phase - we need the game applications to be able to pull data from the API. We need a web application that will work as an Explorer combined with the Marketplace. It will allow users to browse the game items and see what new items have been minted recently, what items have been forged, and which of them are the most popular and most used. See who owned the item, what is its history, and have the ability to buy it.

**Who are we looking for and what to do in the project**
﻿We are in need of a backend developer who has understanding of how Blockchain works, what types of blockchain exist, and what is the server-side approach to interacting with Blockchain. Basic understanding of how NFT and tokens on blockchain function are also required. We need a developer who would implement an API, develop social networks authorization, work with a database, and maybe in the future use an optimal library to pull the data from the Blockchain, but not from the database. Understanding of how to interact with 3rd party apps (which will provide a database in our specific case) from JavaScript server code is required. 

**Requirements**
**Mandatory:** Node.js, JavaScript, TypeScript, REST, Express.js, Nest.js, Redis, WebSockets, Git, Jira, Docker, English (Verbal, Written), understanding EVM (Ethereum Virtual Machine) networks
﻿**Optional:** RabbitMQ, ElasticSearch, AWS (S3, CloudFront, EKS, Fargate), Kubernetes, Jenkins, Solidity, Go, Python

**What else is important for us**
Ability to keep in touch, maintain a dialogue, and have an interest in synchronizing work with the team. Since the team includes members from different countries - it is necessary to be tactful and not to take criticism personally. It is important to be able to defend one's point of view providing arguments, if there is an understanding that the position is correct or the decision is logical. The fact that the team members feel comfortable and are friendly with each other is really fundamental for us.

**Interactions**
Internal UA team communications are in Ukrainian, Russian, and English. There are daily stand-up meetings at the beginning of the working day. Sometimes developers have to communicate with Product Managers to clarify the tasks’ details. At the end of the sprint, developers participate in the Sprint-review meetings showing the progress made during the sprint. 

Local-level decisions are discussed with the Tech Lead of UA Team or developers from other teams. For daily communication on this topic - Slack is used. The internal UA team communications are on Telegram.


﻿﻿**The process**
﻿Interview in Ukrainian or Russian, whichever is more comfortable. The CV will be reviewed directly by the CTO of ﻿the company. ﻿Stages: ﻿﻿Screening with Iryna → Tech interview with CTO and Team Lead → Feedback and/or Offer.

**﻿The work schedule is flexible, remotely.**
﻿﻿
﻿If you are interested to continue the dialogue - please send your CV.
Talk soon ﻿😉