★ Essential software development
During my career I have met with Python, Perl, ASP, ActionScript and Rails for shorter or longer periods, but I work most quickly and efficiently with PHP (16+ years of active, continuous practice starting from purely procedural PHP 4 up to object oriented PHP 7).
I am mainly familiar with SQL-based relational databases (mostly MySQL, but SQLite and PostgreSQL too), but used non-relational databases (mainly MongoDB) too. I use databases on a daily basis, and I think I have a bit of sense for query optimizations, but I’m not a Db expert.
I usually take advantage of Bootstrap, SASS/LESS and jQuery when building sites. I am familiar with Blade, Twig and Smarty templating engines.
Lately for my own recreation, I’m trying to catch up with JS, ES6 and Typescript, but professionally, I prefer to work together with frontend developers who are much knowledgeable in this field than I am.
My first dive into PHP frameworks started with CodeIgniter almost from its initial release, and I have kept using it till 2012-2013. Made a lot of custom solutions and a CMS/E-commerce engine with the help of it (the engine is still used as a Central European webshop base by OfficeShoes with 600.000-1.000.000 daily requests, and also by one of the biggest Serbian gadget shops, Pokloni with 35.000-50.000k requests per day).
After CodeIgniter has become out-of-date and archaic, I have moved forward to the absolutely lovely Laravel (4.0 at the time when I first encountered with it), and it remained my base web framework of choice. Accordingly, if I’m in a need for a microframework, I prefer Lumen.
⋆ Other frameworks
Had slight contacts with Symfony, CakePHP, Yii, Yii2 and Phalcon as well. Mainly in a form of fixing bugs or refactoring old code.
★ Other development related practices and proficiency
⋆ Content Management Systems
I have worked with ExpressionEngine, Joomla, Textpattern, a little bit with Drupal. During the past years, I’ve got quite familiar with Drupal’s inner working.
⋆ Version Control
Git of course, but worked a lot with Subversion in the past as well. I never got familiar with Git’s CLI (apart from some basic commands), so I’m using GitKraken as a client.
I am using Linux both as a professional and everyday operating system, particularly a Debian 9/Cinnamon based build. I am not an expert by any means, but I know my way around it, and use both the GUI and the CLI with ease and confidence.
I am acquainted with a part of the devops stack, but I’m far from calling myself certain or self-reliant. I have the most experience with building Docker/Vagrant containers, setting up basic Kubernetes clusters on GCP, and using Jenkins. Also, currently I’m running and maintaining a LEMP-based virtual server for my hobby projects (and I am versant with LAMP too).
⋆ Software Development Methodologies
I am the most familiar with Waterfall (who isn't?), Agile/Scrum, Kanban and a bit of XP.
⋆ Development Environment
The development environment I’m the most comfortable with is based on Debian, and consist of PHPStorm (with Code Sniffer, Mess Detector, Xdebug), GitKraken for a Git client, and Docker for application containers.
I do automated unit testing with PHPUnit, and lately I’m trying to get into Codeception.
I am quite knowledgeable about different search engine optimization techniques and constantly experiment with them as a hobby.