Philosophy

The Dwarven Principles

Our definition of engineering philosophy, the guiding ideas that shape how we think and work, helps us ensure the core values and deliver top-grade software.

Learn more

Craftsmanship

Well-crafted software
We humbly demonstrate our expertise and experience through well-crafted software. We aim toward perfection with every piece we produce. We take pride in hight quality products we deliver. We do not tolerate preventable defects.
Quality pays
Quality is always the top priority. Quality problems overwhelm everything else. When quality isn't managed, the entire project is unmanageable. Good things will take time. Crafting high quality software requires efforts, disciplines and proper methods. Software development is intellectual work.
Mind the Details
Details matter. We believe small details equate to big success. Thus, creating a product that charms users involve adjusting, refining, and perfecting, over and over again. Attention to details makes all the differences and creates memorable user experience.
The Boring Solution
Technical decision isn’t so much about which tool to pick than what problem to solve. When in doubt, go with the boring solution. A boring solution means that you're using simple vocabulary everybody can understand and follow along.
Think long-term
Good codes and good processes require good brains, thus we want to avoid burnouts. We discourage rushing and working overtime. We believe in well-balanced and working sustainably, so we can stay a happy bunch of sane workers.
Applications Need Solid Foundations
Much similar to building a house, software products rely on a solid foundation. A product doesn't stop when it's launched, it starts when it launches. There will be works which run on for weeks, months, even years. Be it the never-ending maintenance or extensions, the product's foundation stays the most crucial. Make sure we lay a solid foundation for every piece of software.
Nothing is permanent
Software moves fast. New technology has enabled us to create new things. The technology you used yesterday might deprecate today. Make sure you understand both the old technology and the new one before buying into the next new thing. New technology needs to provide actual values over existing solutions.
Minifesto

The Agile Minifesto

We've been uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value what we called "Minifesto".

Running lean
Lean philosophy regards everything not adding values to the customer as waste. In order to eliminate waste, one should be able to recognize it. Partially done work, extra processes like paperwork and features not often used by customers are waste. Rework or unnecessarily complex solutions are waste. Waiting for other activities, teams, processes is waste. Managerial overhead not producing real values is waste.
Deliver as fast as possible
Make it work. Perfect is an enemy of good. Look for perfection, but not yet. First do it, then do it right, then do it better. Any sufficiently complex system cannot be built out of design, it has to be evolved. The shorter the iterations, the better the learning and communication within the team. The sooner the end product is delivered without major defects, the sooner feedback can be received, and incorporated into the next iteration.
Aim for simplicity
Simplicity is complicated. Simple is harder than complex. We have to write code for humans not machines. We want readability. Readable means Reliable. It's easier to understand. It's easier to work on. If it breaks, it's easier to fix.
Effective > Productive
Being productive is about occupying your time—filling your schedule to the brim and getting as much done as you can. Being effective is about finding more of your time unoccupied and open for other things besides work. We don’t believe in busyness. We believe in effectiveness. Know your priority and do things that matter.
Fail fast, learn often
Don't be afraid of starting all over again. Evaluate your work constantly. Don't be afraid of throwing to the rubbish a project you've been working on for the last few months. When you start from scratch, innovation comes organically inspired by previous experiences. Evaluate your work constantly.
Culture

Engineering Drive

We build a company where software engineering could shine, innovative products are shipped and change the world for the better.

Systematic Discipline

Software engineering is an engineering discipline that’s applied to the development of software in a systematic approach.

Not applying software engineering methods results in more expensive, less reliable software, and it can be vital on the long term, as the changes come in, the costs will dramatically increase.

Engineers are not commodities

In every software, the engineering team is one of the most important factor to make it successful. Software is more of an artisanship, and software engineers aren’t a replaceable cog.

People have an assembly line mindset left over from the industrial age. Don’t believe the one-size-fits-all interview process with whiteboarding problems. These serve to grind away the individuality and make us feel like an assembly line worker.

The best idea wins

If you have a great idea and the will to make it work, you can create great changes. Nothing is off limits — we’re constantly looking for improvements in our people, our processes, and our products.

All voices are equal here — we hire people to have opinions and perspectives. If your idea makes the most sense, that’s what we’ll do, regardless of your role or seniority.

Tech Index

We apply cutting-edge technology that matter

Technology
  • Go
  • Elixir
  • Swift
  • Flutter
  • ReactJS
  • TypeScript
Platform & Deployment
  • Docker
  • GCP/AWS
  • Kubernetes
Architecture
  • Microservices
  • Serverless
Emerging
  • Blockchain
  • Hyperledger
Practices
  • Agile
  • Tech Radar
  • CI/CD
  • Container-centric
  • Code Review
  • Automation

Agile at Dwarves

We quickly respond to changes in the industry and feedbacks from customers without derailing a year's worth of plans. "Just enough" planning and shipping in small, frequent increments lets your team gather feedback on each change and integrate it into future plans at minimal cost.

Continuous Improvement

Story, Planning, Sprint

Daily Standup

Retrospective

Lean Thinking

People first.

Value-oriented.

Eliminating waste.

Delivery Pipeline

Continuous Exploration.

Continuous Integration.

Continuous Deployment.

Innovation

Space and time for creativity.

Validate with customers.

Pivot without mercy or guilt when the hypothesis needs to change.

Work with us

Tech Radar

The Dwarves have a spinning radar. This radar is how we assess and adopt new technology. Throughout the years, we observe the tech industry and pick out the most promising tech to put into the radar to begin the assessment process.

This urges us to learn the newest and the best technology out there to enhance the output quality, speed up the development process, also to bring the best pieces of software to life.

Everyone is encouraged to gather into small focus groups to discuss and study a particular topic. The below format could be found originated from ThoughtWorks. We organize the topics using two categorizing elements: Quadrant and Ring.

Check out the repo dwarvesf/radar to learn more.

The quadrants consist of:
  • Languages and Frameworks
  • Techniques
  • Tools
  • Platforms
Our radar has four rings, starts from the middle:
  • Adopt: proven and mature to apply
  • Trial: ready to use but not completely proven
  • Assess: things to explore & watch closely
  • Hold: things that neither fit us nor we’ve had a good experience with

We also empower innovations by contributing

Open source software

We believe that OSS are good for everyone. By being open, they will empower the development of technology and help businesses to deliver innovative ideas.

Playbook

It details how we make successful web and mobile products. It's filled with things we've learned based on our own experience and study of others' experiences.

Our apps

Some free apps and utilities from our team for creatives and professionals, these Mac apps will make even the best Mac better than ever.

Have the same DNA and want to build world-class products?

Join us