Application Development

The heart of what we do is software engineering. We love creating applications of any size for our clients. Aligned with your specific needs, we either work as a team on dedicated system parts or some of us participate embedded in your teams.

We like to approach application development with an engineering mindset where technological decisions are not just taken ad-hoc but follow a larger strategy. Especially should technology decisions take into account the non-functional requirements around cost achievable service level, implications on operations and the overall IT landscape complexity.

Application Development

We offer development experience in all layers, ranging from user experience design and frontend development to backend and network protocols. Our developers have worked across many industries and with a wide range of technologies and tools. For some topics we maintain a network of well trusted partners that share our mindset and know our way of working.

Architecture

At écociel we emphasize the idea of Principled Design and we understand Software Architects to be designers of systems who have essential responsibilities. We think that software architects are most effective if they formulate desired system properties that are derived from and hence support the business goals. Software architects are then able to motivate and rationalise implementation decisions they take together with the development teams.

Software Architecture in this sense is not explanatory drawing of “boxes and arrows” but the process of carefully shaping guidelines that ensure technical success.

Programming

We strongly believe that foundational knowledge is the key to growing to be a successful engineer. We admit we occasionally copy/paste some piece of code to deliver in time but we always push ourselves to later go back end explore why and how a certain technique works. We find that understanding foundations enables faster learning of new languages and tools and greatly helps to take decisions that are grounded in reasoning.

We love to code and we take pride in our craft!

Favourite Languages

Programming languages come and go. These are the ones that emerged as our favourites over time.

Rust

We think Rust hits a sweet spot between efficiency, productivity, and joy of use. For us, it is the language of choice for most situations, especially because it provides rather painless control over low level concerns and brings with it the best asynchronous IO / reactive implementation available today. If you want to learn about what Rust has to offer for developing highly performant solutions, reducing cloud infrastructure cost, or IoT projects, lets us know. We can help your team reduce Rust’s rather steep learning curve.



Go

For small prototypes or when some task becomes unwieldy in shell scripting, we like Go as a language with extreme productivity and a very short learning curve. Also,
in cases where the argument for Rust cannot be sufficiently made, we consider Go to be the language of choice that is hard to beat in all aspects.

Python

A must-have in the age of AI. Python is one of the languages that made it from the old days. We started using it in 2000, developing C-interfaces and Web sites. Then Machine learning and AI have brought it back to the news.



Kotlin

Some say it is the new Java. We like it because it is functional, but simple to learn. It is our choice when it has to be the JVM…



C

Our C history also dates way back to 1999. While an old language, we think it still shines due to simplicity of language constructs and versatility. We are glad we have it in our toolbox.

Distributed Systems

Understanding the challenges of distributed systems is essential for engineering modern software systems. We help development teams to succeed in scenarios, where services and data needs to span across continents or the globe.

Distributed Systems
REST

REST

We have been active in the REST community since the very beginning and over fifteen years of experience in applying Web architecture to enterprise integration scenarios. We help your development teams and architects to leverage the full potential of REST/HTTP for API design or highly efficient Web infrastructures.

Constrained Resources Computing

We like the challenges that come with reduced hardware options where one cannot only throw more CPUs at a problem to try solve it. Whether you are thinking about embedded systems, single board computers, edge computing or micro data centers, we have a dedicated internal stream that explores ideas we are happy to share and support you with.

Constrained Resources Computing

We design. We code. We teach.

Get in touch