Skip to content
View AndreiSoroka's full-sized avatar
🐢
1
🐢
1

Block or report AndreiSoroka

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
AndreiSoroka/README.md

Hi there 👋

My name is Andrei Soroka.

I've been developing since 2012, taking on roles across the spectrum in tech: from backend and frontend development (with a focus on the latter) to DevOps, Product Ownership, Team Leadership, and Technical Leadership.

Important

Important Note for Potential Employers Considering Test Assignments (Click to expand)

I'm open to discussing test assignments under the following conditions:

  1. Your Company Is Exceptional - Let's talk more about it and make a short call before 😄
  2. The Task Is Unique, Not Routine - I appreciate challenges that are out of the ordinary. While I'm capable of working in various styles and patterns (you can check my GitHub for examples), I'm not interested in standard business logic tasks.
  3. Opportunity for New Experiences - I'm all for trying new things. If it's something I haven't done before, like working with a new technology or framework, I'm interested. However, I'd prefer to avoid revisiting familiar ground.
  4. Short Assignments Only - I'm willing to consider brief tasks that won't take up too much of my time.
  5. Public Sharing of the Assignment - I reserve the right to publish the assignment and its outcomes because it involves my time.

Question: Points 3 and 4 imply that you won't be able to fully showcase your best code, is that right?

Answer: Any "best" code you have becomes outdated within a couple of months. And what is the best code without code review and team collaboration?

Please don't misunderstand me. I'm not trying to be difficult. I'm just trying to be honest and transparent.

Let's connect and discuss how we can collaborate!

Best, Andrei Soroka


2023:

Fun fact: In 2023, I completed a couple of test assignments in different styles. For the first one, I quickly put something together, but for the second, I aimed to craft what I considered the best code for that year.

(Click to expand)

Chat

I decided to log my process of development. Just read it before you start judging me. 😄

Unlike the previous task, I just started doing it, without thinking through the work.

Cart component

In this task, I wanted to show how the development and testing process can be automated. I went a bit overhead and just enjoyed it :) Aside from the fact that the last time I worked with React was in 2018 (and even then, infrequently, and now it's 2023).

I also decided to try out FSD. It took me a while to really appreciate it, especially after finishing this task.

P.s. I understood FSD only after a few more projects, but not here.


2019:

(Click to expand)

Weather History Canvas

This was an interesting task since I wasn't allowed to use any libraries.


2018:

(Click to expand)

I don't remember when it was...

Concentration game

It was just a fun task. Nothing special.

15 puzzle game

  • Code: GitHub Repository
  • Demo (2 hours, branch master): 15-puzzle-game
  • Demo (3 hours, branch redux): 15-puzzle-game-redux
  • Stack: React, Webpack
  • Description: A classic 15-puzzle sliding game, implemented in React. The game involves moving tiles in a grid to organize them in order, with one tile missing.

This task was unique as I had a time constraint: of 3 hours. And I'm not primarily a React developer. So, with the documentation by my side, I demonstrated my ability to work with it.

Crypto-currency calculator

The task specified that the calculations should be error-free. The catch, which one could easily miss, was that for Bitcoin, you need to use 8 digits after the decimal. Try executing console.log(0.3 - 0.1) in the browser, and you'll understand.


Pinned Loading

  1. cart-component cart-component Public archive

  2. chat-app-react-node chat-app-react-node Public archive

    test assignment

    TypeScript

  3. concentration-game concentration-game Public archive

    Concentration, also known as Match Match, Match Up, Memory, Pelmanism, Shinkei-suijaku, Pexeso or simply Pairs

    Vue

  4. openexchangerates-calculator openexchangerates-calculator Public archive

    Crypto-currency calculator in vue.js (data from openexchangerates.org)

    Vue

  5. 15-puzzle-game 15-puzzle-game Public archive

    JavaScript

  6. weather-history-canvas weather-history-canvas Public archive

    JavaScript