Skills Programming Skills | Development Tools

Programming Skills

Scala

In recent year I worked a lot to learn Scala and get some real experience with functional programming. I have read bunch of books and articles [1, 2]. I have taken few courses and have done several tutorials [1, 2, 3]. I did some Scala side projects and have worked with Play Framework. I'm actively learning and pushing my career towards Scala stack. I like PHP, but sometimes I found it lacking in ways to practically abstract and express code that I'm writing. Scala on the other hand is much more powerful language and I fall in love with it at first sight.

PHP

I have nearly 8 years of commercial experience in PHP programming. My IDE of choice is PhpStorm and my development is based around Composer. I try to stay up-to-date with all new language features and latest libraries and I follow closely PHP 7 development.
Currently I work mostly with Laravel 5 framework, but I got a lot of experience with former Laravel versions 3 and 4, and also with CodeIgniter. I have some experience with Symfony 2 framework. WordPress is CMS platform that I know fairly well, but I've been working with others as well. When it comes to ORMs I used Eloquent and Doctrine.
Figuring out how things work and how they are built is one of my favourite ways to learn. Xdebug is my basic tool at development which allows me to debug and profile the code I write.

JavaScript

I have similar experience with JavaScript that with PHP. I have been mostly working with it on frontend, but I have some practice with Node.js as well. I have deep knowledge of jQuery library and other tools associated with it. I had written several internal plugins with it and some complex applications. I am experienced with frameworks AngularJS and Knockout which I use for more complicated frontend applications nowadays. I can set up complex Gulp or Grunt tasks to automate building of application assets.
JavaScript is the first language that got me into functional programming.

HTML & CSS

I'm pretty confident when it comes to working with HTML and CSS. I am not a graphic designer myself, so I use Bootstrap framework a lot. LESS and Sass help me to keep things simple and organized.

SQL

Most of the times I use relational databases when it comes to storing persistent data. I usually choose MySQL database for that. I can design pretty complex database structures that go beyond performing simple CRUD operations. From "NoSQL" stack I have some experience with Redis.

Development Tools

Project Management

Over the last couple of years I have used many project management applications and websites. Last year we have been working with JIRA which provided plenty of tools to help us working in Agile environment. We migrated to it after 2 years of managing projects and tasks with Podio. I use Trello for my personal projects and tasks management.

Testing

I have good command of various testing suites, unit and functional testing. I am familiar with other type of testing techniques such as A/B, load and stress testing.

System Administration

I am experienced user of Windows and Ubuntu. I like to automate as much as I can on my work and home environment. I like to bend it to my own needs. That caused me thinking, that I might be Windows/Unix power user. I am also competent in Linux Server administration. In everyday development I use Vagrant with addition of Ansible to make everything simpler and easily repeatable.

IDE

My favourite IDEs come from Jetbrains Toolbox. I have used so far: PhpStorm, IntelliJ IDEA and PyCharm. For editing smaller individual files I usually use Sublime Text.