Efficient software solutions in Java (J2SE/J2EE)

Diese Webseite auf   Deutsch
Accesaţi acest sit în Română 

Skills

Here you can find a short enumeration of the software developing tools and technologies I worked with throughout my career.
Download the detailed list (as of yet only in German) as a Word document here and as a PDF document here.

Programming languages and integrated development environments (IDEs)
JEE/J2EE Application Servers
Programming technologies
Program libraries
Databases
Operating Systems
Utility tools and other programs

Principles

During my IT activity I developed a series of principles that serve as guidelines for me every day. In order for these principles to crystallize I had to come a long and rough way, with ups and downs, with right and wrong decisions (made by me or my colleagues). Essentially I got to these principles by synthesizing the positive and negative experiences of my activity so far. I will mention two of the most important here: efficiency and simplicity.

Efficiency

The main goal of the Computer Science is increasing the efficiency of information management.
Accordingly, we would expect the activities in this field be among the most efficient ones. To our big surprise, we notice that in the field of software development, people are often working much less efficiently than in many other fields. A lot of developers edit script files with Notepad or vi, they compare the contents of two directories manually etc. They seem to forget that in order to be able to develop efficient software, a programmer's work must be efficient in the first place. Only this way will he/she be able to hold under his/her control the immense quantity of work required by the development of a quality software.

Based on this principle I permanently try to find and use the most efficient software tools for each activity in my everyday work. I am aware that there is no universal software tool, only good tools for individual tasks: "The best tool for the job".

Simplicity

Motto: Less is more

Today, when we analyze the present economic and financial crisis, we can see what happens when people work with (financial and banking) instruments that they don't understand properly, because of their exaggerated complexity. In the field of software development the situation is often similar: software products of a uselessly high complexity are being "built", without taking into account the implications on the future project development: high maintenance costs, high effort necessary for the new team programmers to understand the code, error proneness, difficult refactoring and implementation of change requests, just to name a few. All this when exactly the same program could have been obtained with a substantially lower complexity.

That's why I constantly try to reduce the programming complexity as much as I can, by:


Programming languages and integrated development environments (IDEs)


JEE/J2EE Application Servers


Programming technologies


Program libraries


Databases


Operating Systems


Utility tools and other programs