I am a long experienced software developer, designer, architect and mentor.
I know how to develop and maintain projects with long living code base. I specialize in backends and Java.
I am self-employed as Byte Imagination.
I soaked into IT when I was a kid. It always fascinated me how all these electronic devices work, what makes them act as we want them to act. Computer games made me curious how to create colorful and melodious worlds out of nothing.
My journey began with Commodore 64 and Basic. As years passed by, new programming languages emerged, computers evolved and shrank into a size smaller than a finger, I became better and better in controlling them with Pascal, C/C++, Java and many others. Nowadays it's not only about programming a computer but also about making the still-getting-bigger software manageable and understandable not only by a processor but also by human.
I believe that being an outstanding software developer is to write not only clean code but also to design clean architecture keeping in mind standards, security and ethics.
At the end of the day, there is a client who the software is created for.
It is important to understand the need, the problem, the goal.
The only constant is change. Automating and testability come first.
Spreading the knowledge makes the software better.
From oldest version to the newest. Long living projects tend to stick with specific LTS version for years.
PostgreSQL, Oracle Database, MySQL. No matter the vendor, data is important.
Neo4j, mongoDB, Redis. Key-value or not, relations are not always tabular.
REST, SOAP, gRPC. Information exchange is the key.
HTML, CSS, JavaScript, Android, iOS. As close to user as software can be.
Spring, Spark, Angular, React. Reliable tools helps to make the job done.