Our Philosophy | ReinventONE

ReinventONE

Our Philosophy

ReinventONE brings two decades of deep technology expertise to all aspects and stages of software engineering. But we do things a bit differently. Below we explore this in depth.

Secret Sauce

It all starts with our unique approach to Software Engineering — as a rigorous discipline, and as a skill to master. People who truly invest into the mastery of Software Craftsmanship are very rare, but you know when you meet one. Whether or not we, ourselves, are said craftsmans, is perhaps not for us to judge. But it's a concept that is an important ideal to strive for, and a key cultural value of the company. At ReinventONE we believe that knowledge is power. Staying on top of today's incredibly fast-paced technology requires a constant investment of time, energy, and experience. But we got this covered. When we develop software we think not just of the short-term delivery and immediate requirements, but of the entire software lifecycle that follows, including —

  • how to make sure software design is robust, modular and flexible, enough so that it can anticipate change

  • how to ensure that it can be easily horizontally scaled up, if and when needed, without investing in premature optimization

  • how to leverage a comprehensive suite of automated tests to ensure correctness now and in the future.

  • how to use modern code analysis tools, such as CodeClimate to analyse and find inefficiencies in code.

  • how to not reinvent the wheel, despite our name :)

The Ultimate Goal of Software Engineering can be defined, purely philosophically, as the ability to produce a working piece of software that is 100% correct now and in the future, and that it runs itself and requires no maintenance.

Unfortunately, this is only possible in theory. So we mitigate the risks by applying our immense experience as well as the intuition. But we also apply the same rigor we learned decades ago while studying Mathematics, to solving hard software engineering problems, such as scaling issues, calculating and mitigating operational risk, improving the development process, streamlining deployment, optimizing cloud footprint, but perhaps most importantly — building happy engineering teams.

Technology Stack

Our main focus currently revolves around helping companies with applications written in Ruby and C/C++, although we love our object-oriented BASH on occasion too. In the ruby world, we work on Rails applications, Sinatra, ActiveRecord or Sequel for ORM, and PostgreSQL on the backend.

We have wide-ranging experience building search using Apache Solr as well as the ElasticSearch.

We leverage Redis for many types of applications, memcached for caching and sessions, twemproxy and haproxy for connection pooling and automatic failover.

Infrastructure and DevOps

We love helping companies achieve the proud badge of "four nines", — meaning that a particular application component is fully operational 99.99% of the time, on average. In other words it can be "down" for only 53 minutes per year!.

Our team had built multiple fault-tolerant distributed applications in the past, and we have a spoken at RubyConf Australia 2015 on the subject of DevOps, without the "Ops" — a talk focused on creating redundancy at every layer.