TECHNOLOGIES
Java - This is my primary and favorite langauge. Most projects in which I participated or created are written in it. I consider myself intermediate - experienced Java programmer, as I have used it to create web, desktop and cli applications.
Git - When it comes to version control system, choice is rather obvious now. I have used Git extensively both in my work and personal projects.
Mercurial - I had opportunity to work with Mercurial only in my work
Maven - If we talk about build systems I prefer and have the most experience using Maven. I use it by default in every jvm project.
Spring - Nowadays Spring is most widely used that'why Java Developer should know how to use it but I cannot say that the philosophy of Spring is my favourite
SQL - Most applications, in which I needed to store data in a persistent manner take advantage of relational database. Mostly, I used MySQL and PostgreSQL on a server-side.
Testing - Unit testing in Java with JUnit4,5 using assertion libraries: Hamcrest, AssertJ. Mocha when it comes to TypeScript - Chai as assertion library
JavaScript - I consider myself intermediate JS developer. My minimalist approach, which is to avoid frameworks in favor of small libraries, is constantly helping me to get deeper understanding of the language.
TypeScript - after discovering TypeScript I often prefer using it instead of JavaScript in medium and large project when complexity become an issue.
HTML5/CSS3 - I was learning it from stratch always preferring using pure html and css over ready-made solutions to find out what hides behind the scenes.
Angular - Working with AngularJs, Angular2+ at work and for personal projects. Angular gave me the same feeling as Spring - big framework with lots of dependencies, dependency injection, lots of tools and huge community - It's ok with big projects but in smaller one I started to use Vue.js
Basics of:
- Docker
- Jenkins
- Python