Decisions 7
Mark Esser
/ at /
A developer and project manager from our team X says the following about our use of Rails at i22:
"We use Rails to build stable and flexible backend systems. Rails is extremely good for managing data structures and quickly setting up new systems. It is the perfect base for most use cases."
I asked the same Team X member why the team prefers to work with Ruby on Rails, rather than Python and Django:
"Because Python is a scripting language and from my point of view not suitable for building stable web services. Python is for me rather good for scripts and fast small tools. Not for stable business applications. And if I want it fast I prefer Go."
Mark Esser
/ at /
A developer from our team BitFlip says the following about our use of Kotlin at i22:
"We use Kotlin to develop an MQTT broker with microservice architecture, including a JavaScript client module for type-safe communication from the front-end, and shared code between the front-end and back-end. What do we particularly like about Kotlin? Kotlin is a state-of-the-art language with a focus on conciseness, security, and efficiency. It can be compiled to Java bytecode, JavaScript, and natively, and is completely compatible with the ecosystem of whichever platform you choose."
Mark Esser
/ at /
A senior developer from our OneTeam says the following about our use of TypeScript at i22:
"We use TypeScript in more complex projects to benefit from type safety to compile time. The TypeScript code we write is compiled into plain JavaScript for the browser. Type safety allows errors to be detected when the code is written, rather than when the page is opened in the browser. So there are fewer runtime errors and you work more efficiently. It also contributes to code readability."
Mark Esser
/ at /
A senior developer from our team Shoplifters says the following about what the Elixir Squad is currently working on:
“The Elixirsquad is currently working on the implementation of new features for our e-commerce platform such as a compatibility search for SmartHome devices from different manufacturers. Not all of the products listed here can actually be ordered via the connected store systems, but rather serve as a general planning aid for the end customer when selecting products. However, finding and identifying planning errors and bugs and working out a solution for them is also a constant item within the team.”
I asked the same Shoplifters member what is the greatest potential of Elixir and Phoenix:
“Elixir and Phoenix provide us with powerful tools to investigate the topics mentioned. Despite the rather dynamic nature of the language at first glance, the ecosystem provides us with powerful tools for static analysis to identify even the not quite obvious module dependencies, even in a complex system like our platform backends, and to develop strategies for solving problems based on this. At least that's where the potential lies from a developer's point of view. The economist will like the fact that Elixir allows a relatively compact programming method, which can do without unrecoverable error handling to a large extent and can nevertheless work fail-safe and error-tolerant, if one keeps to basic rules in relation to the "process supervision".
Finally, I asked him what advice he had in store for Elixir newbies:
„Elixir is not an object-oriented language, even if it has adopted many syntactic elements from Ruby, the semantics behind it are quite different. Please take this to heart, and don't try to find a substitute for objects and classes in processes and "actors".”