How does my stack look like?
I’ve become a huge fan of one-way data flow and Redux-like architecture, also typed languages like TypeScript.
My current experience and skills in front-end include:
- Creating beautiful interfaces using only CSS. I can also convert existing animations to CSS to reduce rendering load;
- Full integration of front-end development using tools like Webpack to support features like automatic code reload, code minifications, multiple environment support;
- Good sense of design and UX, which came naturally as I have a considerable experience in graphic design;
- Knowledge and experience in many libraries of JS ecosystem like React, Redux, RxJS, Angular, Ionic Framework, Backbone, jQuery, Lodash/Underscore and whatever else that possibly be necessary;
- Desktop app development using Electron Framework;
- … and even mobile app development with the use of Ionic Framework.
To improve the development speed, performance and reliability, I have changed languages and frameworks already multiple times, from PHP to Ruby and now to node.js.
Luckily, my experience and lessons I learned while doing all those projects, will stay with me and be useful forever, no matter what framework I will use in the next project;
What I can do is:
- lead development of web apps in node.js/PHP;
- cooperation with APIs, remote data synchronizations, cloud servers, asynchronous workers;
- using different types of databases (like PostgreSQL, MySQL, Elasticsearch, Redis);
- dividing the servers into different machine nodes / docker containers; database sharding; load balancing;
- I can refactor existing applications, by improving code readability, separating concerns into separate functions and classes, splitting out the business logic from app’s views and controllers (DDD), and moving the app architecture into more event-based one);
- writing unit, e2e and integration tests;
During my time I have built and released tens of websites.
Thus, not only I have coded their back-end and front-end code, but often I also had to care about other things needed in a successful web application:
- Good planning of UI and thinking how it affects the UX;
- consistency in design and typography;
- search engine optimization;
- deployment to the server (using Docker, Ansible or Chef) and monitor its processes to avoid downtimes.
- Experience with hosting and deployment on Amazon Web Services and Google Cloud Platform
Any successful project needs strong brand identity and beautiful but usable designs.
Thus, I have keen focus on the design, UI and branding of the project:
- Good eye for clean and beautiful designs and knowing how it affects the user;
- I have a high level of proficiency with design and illustration applications like: Adobe Photoshop™, Adobe Illustrator™, and Corel Draw Graphics Suite™;
- I also have good drawing skills and coloring sense. I know how to use a tablet and could make illustrations and iconography for you too;
- I’ve designed numerous posters, banners, logos for my school and university events. As well as some other advertising and branding material for some local food joints. In past two years, I’ve often chucked my games to make space for design files on my HDD.