My Professional Philosophy

When taking on a project I take it upon myself to deliver a complete product carefully designed, implemented and documented down to the finest details.

Understanding the Users is the first and most crucial step in each of my projects. I approach the design from the users' perspective, providing them with the most comfortable user interface and the functionality that best matches their needs. I always start with the front-end design since I believe that the back end design should derive from the users' specifications and not the other way around. As I have learned over the years, the user interface plays a central role in the client satisfaction as well as in the product usability.

At a very early stage of each project I thoroughly study the client environment. A Wide Perspective of the organization and its goals, together with the knowledge and attention to the individual user, help me create optimal solutions for the integration of the organizational requirements and the user preferences.

Each problem I am given to solve requires its own particular tools, and at the start of each project I carefully select the appropriate tool to match the type of solution I am to provide.

Comprehensive Knowledge of the environment I operate in (hardware, machine code, operating system services, programming languages, applications, user-interfaces, communication protocols) results in an efficient design. One outcome of the latter is a quicker response time for the users and at the same time, a minimal load on the client computers and network connections. In other words: happier users and a reduction in the client's costs.

Paying Attention to Details is never underrated. Although small details do not make the whole, I have learned that they can cause much damage if not handled with care. I always make sure not to overlook the little details throughout the entire development process - from the requirement and design documents to the final packaging and delivery.

I employ a complete process that incorporates orderly methodologies and documents. In addition, I supply my client with regular reports as my work progresses so that we both keep tabs on the advancement of the project. Any unforeseeable circumstances can be detected as soon as they arise, and that helps both of us plan an optimal response.

Wherever suitable, I prefer the staged delivery methodology, so that the client can test first hand parts of the solution ahead of time. This also provides the client with the highest possible level of reassurance that the job is indeed progressing according to schedule and in accordance with their expectations.

I thoroughly test my software at all levels, from unit test all the way up to burn-in sessions with the client, in order to assure that my product be of the highest quality.

My solutions, as well as my methodology, are always aimed at meeting both the requirements and the underlying needs of my clients and users, and to that end, no task is too hard.