As software engineers, we have to make many decisions throughout the day. Defining and following certain principles makes it easier for us to make many of the decisions for challenges that have been solved previously. These are not set in stone, but they have stood the test of time. We would rarely, if ever, ignore a principle.
Before we discuss our principles in engineering, make sure you have understood our values of Enthusiasm, Openness, and Kindness. The page “Being Axelerant” in our Open Handbook is a good read to cover these values and more.
Further to our three core values, we value excellence in our engineering.
We have also talked about excellence in a blog post and many other places in our internal communications. In the knowledge industry, change is paramount, and striving to keep up with change is critical. Our pursuit of excellence allows us to do better in everything that we do.
At Axelerant, an engineering-focused company, we begin with strong fundamentals and aim to build a robust and useful solution for our customers. While we are focused on engineering, we are still solving problems for people.
We don't write code in a vacuum. We write code to solve problems for our customers using systems that their customers use, all of which will be maintained by our teammates.
Software development is not new. That means somebody might have already faced a similar problem and solved it. Use libraries whenever you can. Even though a library meets 70–80% of our requirement, we consider using it.
When we build websites, we do so with the expectation that they will need to be updated and changed over time. This is because the needs of businesses and organizations are constantly evolving, and their websites need to reflect that.
Life's too short to repeat things (I know I am repeating this but life's too short to find new maxims). Figure out a way to automate things you are doing repeatedly and frequently.
Being quick with decisions doesn't mean we are quick with that deployment. We test to make sure that our work, _works_. Then we verify our tests and get another opinion to make sure we tested the right thing and tested it well.
There's a very good chance you are not living in a remote jungle or a lonely mountaintop. That's because you have come to rely on the support (and comfort) provided by clusters of people in cities and towns. Why should our programming world be any different?