Barcelona, Spain


Good code solves only existing issues, without extra universality, doesn't contain anti-patterns and covered by tests to be able to evolve.

Full-stack programmer.

Rust programmer since 2015. My favorite language.

Angular/JS fan and developer since 2011 (from pre-1.0 stage),
PHP backend programmer since 2004. Like to write clean OOP code with unit-tests.

Technologies, apps and services I have experience with: SOA, REST, AngularJS, PHP, Ionic, D3, Jasmine, Protractor, Twitter Bootstrap, MySQL, PostgreSQL, Redis, Beanstalk, Mandrill, PayPal, Stripe, AWS APIs, Git, Travis CI...

Things I'd like to get more experience with: AI, HTML5 Media (audio, video, canvas).

Things I don't want to work with: MS SQL, CoffeeScript.

Very passionate to work with Rust.

I think unit-tests are essential for code evolution. There is no code without need to evolution. TDD helps to build modular and easy maintainable system. Time, spent to writing tests is much less than time that will be spent to debug.

Have a lot of experience with caching (also with semaphores, preventing dog-pile and race condition effects). I wrote an PHP-wrapper for Redis, published on redis.io and successfully working with high load, getting thankful feedback from programmers who use it. Like to optimize performance of algorithms and applications.

Time of developer's work costs more than server's resources. Page must be generated fast, should have minimum full page reloads, minimum http-requests - all for user's comfort.

My favorite books are 'Clean code', 'Patterns of Enterprise Application Architecture' and 'PHP Objects, Patterns, and Practice' . Also, I like ideas of Miško Hevery.
I like and respect SOLID principles, hexagonal architecture, MVC pattern, and, especially, Separation of concerns (it's not all bookshelf, just most important for me).

Top Answers
1 2