Ustun Ozgur Software

Software is hard. We make it easy.

What We Do

At Ustun Ozgur Software, we produce beautiful, robust, well-architectured and fast applications.

We pride ourselves on understanding our customer's needs and offering solutions best suited for the task at hand. We have extensive experience building great software applications, and we offer end-to-end solutions, from inception of an idea to final product on the market.

At Ustun Ozgur Software, we have experience removing technical debt to bring mature but old applications to modern architectures and offer rearchitecturing services that will revive your codebase and company. Most software development comes to a halt after some time, due to rapidly changing requirements and the failure of software teams to accomodate change. We offer solutions to fix this.

For technical companies, quality and skillset of people is of prime importance; and we offer training services so that you can modernize the skillset of your staff. We offer tranining on software development, JavaScript, React, backend and frontend Web application development and databases.

Aliquid ut magni quas, magnam doloremque eum! Aliquam, sint enim facere illum quam eum saepe magnam ea numquam sed autem eius eos. Temporibus nam delectus, explicabo corporis perspiciatis doloremque quod quae repellendus doloribus? Saepe quaerat eius aliquam assumenda voluptas.

What We Believe in

Functional Programming

We believe functional programming is an important paradigmn that is being rediscovered and getting more mainstream. We are experts in functional programming and favor the paradigm whenever is possible.

Immutable by Default

Immutability forces engineers to re-think how they approach state in applications, management of which is the single-most source of complexity and bugs in computer programs. We are true believers in immutable by default architectures.

Fast Time to Market

Robust and bug-free code is important, robust, bug-free code that is developed fast is even more important. Prompt delivery of the final product gives our customers' the competitive edge on the market.

Domain-driven design

Most of the complexity in software arises because the implementers have vague knowledge on the domain they are building applications for. We believe computing brings tools to re-think how we understand the world and the domains we are implementing software for.

Object Oriented Done Right

Object-oriented programming has important assets, but is widely misunderstood and implemented incorrectly by the masses. OOP coupled with immutability brings abstraction benefits that FP cannot provide on its own. OOP done right is a vital part of our toolbox.

Computing as a Thinking Device and an Art

Steve Jobs once said computers are the bicycles for the mind. It reforms, shapes and takes our thinking abilities to territories previously undiscovered. We believe software development is not only a way of thinking about the world and a craft, but an art.

Meet The Company

We are a growing team based in Istanbul, Turkey, comprising Ustun Ozgur, and Serkan Ozer, both with MSc degrees in engineering from Bilkent University and University of Barcelona respectively.

We also have an advisory board whom we consult with on architectural and business decisions, consisting of Armagan Amcalar, Head of Software Engineering at unu GmbH, MSc Sabanci University and Mehmet Onsiper, MSc UC Davis.

What We Provide and Use

We provide the following services, with the related platforms:.

For rapid application development for MVPs, we use and recommend Django and Python for its built-in good defaults and widespread community support. Coupled with Django Rest Framework, building API's for CRUD apps is a breeze with Django.

We are experts in React, Redux and the ecosystem and have been using React almost since its release. React revolutionized how we build web applications, and we have helped multiple companies get products ready with React, and teams training on modern JS ecosystem. React couples nicely with Django for building both MVPs and enterprise applications in a timely manner.

For applications where microservice architecture is more apt, realtime connectivity is desired, or where performance is a higher priority, we prefer to use node.js and its ecosystem. It provides better performance thanks to its async nature, and the skillset can be reused on the frontend as well.

We believe node.js provides the best environment for building microservices thanks to the following builtins:

  • Async by default: Services communicate with each other via async mechanisms, and the whole ecosystem is built around that.
  • Ease of getting started and significant momentum: There is a Cambrian explosion of frameworks, libraries and ideas in the node ecosystem and we believe, while the pace of this progress can be daunting and tiresome to some, it is getting more mature, approachable and useful everyday and it is a safe choice to bet on JavaScript for the future.
  • Rapid prototyping thanks to fast startup and reload times: Compared to other popular dynamic languages like Python and Ruby, JS is significantly faster thanks to the competition in browsers and the wealth of ecosystem is immense. Compared to more heavyweight frameworks, the fast reload times of these applications make building microservices a breeze.
  • We favor cote.js to build our microservice architectures on node.js, a relatively unknown pearl in the node.js ecosystem.

For more ambitious and ground-breaking apps, we prefer to use Clojure, as it provides the best development experience for us on the server and on the client, combining high performance with rapid development. The interactive development environment, the immutable, functional but pragmatic foundations,coupled with the hosted nature of Clojure which provides the ability to use three significant platforms, JVM, .NET and JavaScript as compilation target makes it the best choice for significant application development.

We invest heavily in JVM and related technologies. Java is a safe and sound choice for enterprises; and we are looking a close eye on new technlogoies like Kotlin, which we believe will get widespread adoption in the future. We also make use of Microsoft's .NET as a viable alternative in enterprise settings.

Click the icons above to get information about the main tools we use. Other tools we regularly use and have production experience include Postgres, Redis, ElasticSearch and Datomic. See our technology overview whitepaper for more details.

Contact Us

If you are interested in transforming:

  • Your idea to a real, successful product
  • Your company to a modern software stack
  • Your staff to better software engineers,

We will be providing you the services to prepare you for the next world, the world understood, governed and made better by software.

[email protected]