Who stands under Platanus?
Briefly said, Matouš Borák.
For your convenience, you can download my formal CV first, in English:or in Czech: . Some more info follows in the bullets below:
- I am over my 30s (too lazy to change the age here every year:)
- I graduated in physics at the Faculty of Mathematics and Physics of Charles University in Prague, at the climatology and meteorology department in particular
- after my studies I worked for three years as an IT security consultant at Hewlett-Packard, Prague
- since 2007 I am freelancing as an independent developer and consultant
- I worked on a number of individual projects, from simple small apps to a long-term software development in a big international team
- at the same time I study again, psychology this time, I am also a participant in a Gestalt psychotherapy training and am running a private psychotherapy practice
- I am a long-term and enthusiastic partner of the TARAKAN street-art project
- a few years ago I went through a programmer's burnout but I stood up again, stronger than before and grateful for such an experience
- I like to read, talk to people, search for the meaning, climb the mountains and exercise chi-kung and taiji, among others
Technologies that I embrace and use
the Ruby world: Ruby, Ruby on Rails, RSpec, Cucumber
Foremost, it is the Ruby language and the Ruby on Rails web development framework that still keep me a happy programmer. I find the Ruby community inspiring and attractive, due to its enthusiasm and the emphasis it puts on the ongoing and conscious good code quality watching. Whenever I have to deal with other technologies at work, I still keep myself developing in Ruby for my own "evening" projects.
the Java world: Java, Java EE, Spring framework, Hibernate
A classics that is still almost exclusively demanded by big companies. For me it is now, frankly speaking, mostly a stable way to make the living when there are no other options. I like Java's versatility and coverage of every-imaginable-technology-out-there. What I dislike is its often clumsy bloatedness which, in my opinion, does not suit well the 21st century any more. And also its relative vulnerability to overengineering and general attractiveness for technocrats.
development approaches: agile development, BDD, TDD
Compared to the classic approach to software development: analysis → design → implementation → testing → verification, the ones above have in my opinion some clear advantages. What I take from them is especially the iterative style of work, close cooperation with the customer and continuous application testing.
other languages: PHP, Perl
If circumstances still force me to implement something in PHP, I tend to use the great framework called Nette. Perl used to serve me well for my single-purpose scripts as well as some webs in the past until I finally swapped it for Ruby.
operation systems: Linux, Unix,
I work on Linux all the time and am confident in some other Unix-like systems. I do not use Windows unless I have to for the purposes of the project. I admire the beauty of Apple systems but so far am not using Mac OS. There is Android running in my smartphone and from time to time I am hacking it too.
databases: SQL, MySQL, Oracle DB, MongoDB
A good knowledge of SQL goes without saying. I used to resist the NoSQL trend until a recent project and since then I happily appreciate some of the great features of NoSQL databases.
security: PKI, digital signature, secure development
I use my experience in the Public Key Infrastructure field wherever possible. When developing web applications, it is important for me to think of and apply secure coding practices to avoid opening security holes (SQLInjection, XSS, XSRF, ...).