We are a small company, established in 2009, but we are very serious about what we do.
It started as a side-project, but things started growing, and we decided to go on full-time with this company.

Our team is composed solely of senior software-engineers, with strong background and large industry experience.
We know how difficult it is to work with cheap offshore freelancers, who can barely understand your requirements,
or with consulting companies, who hire unqualified people and charge expensively for them.

We know how it works, and our goal is to be the opposite of that. That's why we focus on high-quality services at a decent pricing.

We love programming, we know a lot about it, and we can certainly provide high-quality services that will impress you.

We are very proud of having delivered services to many customers, which among others include some Fortune 500 companies.

 

  • Unilever

  • IBM

  • Jaguar Land Rover

  • Bayer

  • NEC

  • Ricoh

We are mainly a Microsoft-based shop, and there's a reason for that.

Large companies have systems that have to be maintained for a long time, and that maintenance can be done by different contractors across the years, so it's important that you use something standardized that is popular for this general type of system, so you can always find somebody to maintain it for you. Microsoft.NET (C#) and Java are very popular for writing big business automation systems, so there are many contractors who can write big business automation systems in them, so they remain popular for writing big business automation systems.

It is also important that companies use something stable, and for most dynamic/scripting languages like Ruby or Python, 3 years is considered more than adequate notice to deprecate a language or library feature. With Microsoft.NET or Java, on the other hand, you can still run a 10-year old program without modification. This is often very important to people doing business automation.

The presence of a big corporation backing a language and the associated set of libraries and tools reassures decision-makers in large corporations that support is good and won't go away soon. Python, PHP, and Ruby are all originally hobby/academic projects, and have grown some amount of corporate support, but mostly from rather small firms that do not impress your typical Fortune 500 CIO. Microsoft.NET is backed by Microsoft, and Java comes out of Sun, which may have gone under, but is still backed heavily by Oracle, IBM, and others.

Having explained all that, we can list some technologies we use frequently:
Microsoft.NET, SQL Server, Entity Framework, ASP.NET MVC, ASP.NET WebForms, WPF (Desktop software), WCF, Winforms, Silverlight, HTML/CSS, Twitter Bootstrap, jQuery.
We can also handle Windows Servers / Infrastructure, Source Control Management (Git, Subversion, SourceSafe, Team Foundation Server), Android Development.

Why is abstraction important in Computer Science and Software Engineering?

Software itself is certainly abstract, and the discipline of producing software requires abstraction skills. Once you realize that computing is all about constructing, manipulating, and reasoning about abstractions, it becomes clear that an important prerequisite for writing good software is the ability to handle abstractions in a precise manner.
Abstraction is one of the fundamental principles of software engineering in order to master complexity. The removal of unecessary detail is obvious in requirements engineering and software design. Requirements elicitation involves identifying the critical aspects of the environment and the required system implementation constraints.

 

Abstraction skills are essential in the construction of appropriate models, designs and implementations that are fit for the particular purpose at hand. Abstract thinking is essential for manipulating and reasoning about abstractions, be they formal models for analysis or programs in a programming language..

 

In fact, abstraction is fundamental to mathematics and engineering in general, playing a critical part in the production of models for analysis and in the production of sound engineering solutions.

 

Jeff Kramer - Abstraction - the key to Computing?

Abstrakti

(Finnish): Process of generalisation to identify the common core or essence

Ethimology: From Swedish abstrakt; English: abstract

Abstraction:

  1. Be able to perform problem solving, conceptualization, modeling, and analysis.
  2. Ability to handle complexity, produce elegant models and designs.