Custom development; although I have built up my experience over the years with Java. I am however also proficient in many other languages (Pascal, Delphi, C, .NET, Erlang). I feel most comfortable in development and design of enterprise Java back end components. Alternatively I am also experienced in front end development utilizing HTML5 technologies and web development frameworks. I have always nourished a passion for development of software solutions and I think this is one of the key differentiators when working on client accounts.
I can offer expertise and hand on development. I am keen for adapting new technologies quickly and efficient and am able to quickly make design choices and architectures.
In the past I have build up extensive experience in integrating various systems. This includes XML, Messaging and Restfull integration. I am passionate about creating solutions that add business value and which use the right set of technologies.
- Java. I have been using Java since version of its release. Before that time I was using the Delphi 4GL tool to deliver mostly Windows solutions. When Java and the Enterprise edition was released I chose to adopt to this platform due to its capabilities but also of its agnostic nature towards native platforms. From that time I have seen Java grow into a very mature and large programming environment which is very rich with frameworks and proven solutions. I am still very fond of developing solutions in Java however i also see that in some situations other languages like Erlang or Scala can really have its advantages.
I am very familiar with the Enterprise specification and applied this in many solutions using a variety of Application Servers. I am however most common with JBoss/Wildfly and Tomcat.
- C#. I have worked on several projects using the .NET platform for creating server as well as client side solutions. The last year I also used the Xamarin environment to create mobile solutions on Android and iOS using C#.
There is an ongoing debate on the extent to which the writing of programs is an art form, a craft, or an engineering discipline. In general, good programming is considered to be the measured application of all three, with the goal of producing an efficient and evolvable software solution (the criteria for “efficient” and “evolvable” vary considerably). Source WikiPedia
- Development. Creating custom solutions for clients often brings a challenge in finding the right degree of customization and applying the right technologies and frameworks. Making sure the solution is maintainable and does just enough what the client expects. Not overdoing it and reduce complexity as much as possible.
- Architecture, is the key component to the right solution. Without a proper architecture the solution will contain a high risk that the sustainability, complexity or flexibility will lack. I always aim to find the right architecture for the solution and see this as an art on it self. However the development, design and architecture will all need to be in balance to result in the desired solution.
- Design & Analysis. This forms the skeleton and the muscles of any good solution. Using analytic skills to determine what the user actually wants and why the users wants its is the core question to be answered. Once that is clear applying sound design principles to create a solution which exposes the proper quality of services either functional and non-functional.
A design pattern in architecture and computer science is a formal way of documenting a solution to a design problem in a particular field of expertise. The idea was introduced by the architect Christopher Alexander in the field of architecture and has been adapted for various other disciplines, including computer science. An organized collection of design patterns that relate to a particular field is called a pattern language. Source Wikipedia