Skynet in Go and Clojure

August 23, 2015

Codingame

Codingame is a platform (one of many, but the one well done, with a great implementation) where you can practice your algorithmic and problem solving skills on a nice set of selected problems. In this post I will make an analysis of the same problem solved in 2 different languages - Go and Clojure. Emphasis on the language constructs rather than the algorithm itself (which is a simple breadth-first graph search).

Continue reading →

How to get Groovy or critical character of professional software developer

July 29, 2015

The title of this post might sound a little bit confusing, let me explain.

Lets start from the second part of it "Critical character of professional software developer".

Continue reading →

Understanding the problem

July 21, 2015

Understand your problem first in order to choose the right tool. So whenever you need to choose a new tool for the product or just study it, it is better to ask yourself the following base questions:

  1. what are the use cases this tool is better suitable for or another way - which problems this tool promises to solve
  2. what are the limitations/constraints of the tool (memory, cpu, data model, flexibility, etc.)
  3. what are the trade-offs made and why in order to get the benefits/advantages the tool provides (as there is no a free lunch)
  4. do you need all of the features of the tool or only a smaller subset of it, i.e. are you ready to pay extra for the features you are not using
  5. how the tool is different or similar to other tools from the same category (to link together all the pieces of the knowledge you have, to help your brain to build stronger connections)
Continue reading →

Gradle 'Getting Started' template

July 19, 2015

Gradle is an alternative building tool to the widely used Maven. In this post I would not describe what Gradle is and why you should switch to it. It is already very well explained on the official web site gradle.org, personally it feels more concise, developer friendly and productive build tool comparing to Maven.

Although official web site has a nice and good enough user guide documentation, it still might take some time to build all the necessary pieces together. So, here I share my Gradle 'Getting Started' which contains all the minimum necessary parts for every product you would like to build to include.

Continue reading →

Is programming language important?

July 12, 2015

Should we as developers to focus more on the language we work with or on more fundamental knowledge and skills? Everyone there to choose his own path in IT career. Is it worth to aim to become "JEE Architect", and limit yourself only to one technology and company? Balance between making money and keeping yourself professionally fit.

In software development - language is only a small part of the bigger picture:

Continue reading →