Skip to content
/ team Public

Birds eye view of our mission, what we do and a typical day at CauseCode

License

Notifications You must be signed in to change notification settings

causecode/team

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Engineering practices, values and mission

Mission

As an engineering team our mission is to solve complex problems using the right technology and work on things that will make help us become a better version of ourselves.

What that translates to is

  1. Practicing SCRUM with a focus on delivering value for our customers
  2. Extensions, scripts, tools, blogs and discussions that will help us improve as a team

Our promise to other team members?

We deliver code that works and is maintainable. We are constantly looking for ways to improve.

1. Discuss

Each member in the engineering team is focused on understanding the requirements and we catch most of the ambguity during the discussion phase.

2. Think about the user and the product

During discussions, implementation and testing we keep the user at the center and make sure the feature being developed is going to be useful and wow the customer.

3. Quality Code

Code quality is really important to us and it goes beyond pretty code.We promise each other to deliver code that is losely coupled, well organized, very readable, easy to review and we've made sure it has basic quality checks like CI checks pass, linters are giving a green light and static code analyzers don't complain.

We've used the best industry practices in writing and organizing the code. And if we disagree or have a new pattern that we would like to use. We've discussed it with other members and collectively want to move to this new pattern/standard. Think discussions on things like space vs tabs, absolute vs relative imports and more :)

4. Code Review

Promise each other to make sure our code output results in a high quality PR with a description that looks similar to this template and has enough details for any team member to understand what the deliverable is all about and review it.

Each of is committed to taking time out to review code delivered by others and make sure we deliver high quality code as a team.

Practices

1. SCRUM

We use best SCRUM practices to make sure everyon on the team is in sync and focused

2. Stick To Release Schedules

Our release schedules are like public transport schedules. The release has to go out at the time it was scheduled. Whatever doesn't make it to the current release goes to the next.

We work towards keeping things on schedule and release as often as we can. Typically once every week.

3. Refactor

Refactor messy code that is in the direct contact of the changes you are making.

Schedule larger refactors if they are bigger effort. The intent is always to leave the code better than it was before!

Avoid changes that fall outside the above. Discuss when in doubt.

4. Testable, incremental units

Write units of code that testable and do one thing and on thing alone.

5. DRY (Don't Repeat Yourself)

Watch out for signs of duplicate code and reconsider the design when this happens.

6. Power Developer

Constantly look to improve one's usage of IDE extensions, commandline tools, Code Snippets, Keyboard Shortcuts and more to deliver better code faster.

7. Fearless

Leverage version control (Git) to create temporary branches to make changes, quickly see them in action and be fearless. See the code in action instead of wondering what the change might do or whether it will work.

About

Birds eye view of our mission, what we do and a typical day at CauseCode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published