Threads communication happens primarily by sharing access to fields and objects. Although extremely efficient, this form of communication is prone to errors such as thread interference and memory consistency. Synchronization...
The way we work is firmly grounded in Software Craftsmanship and Agile principles. We believe that software should continuously add value to the business with inherent quality that allows it to evolve along with the changing needs of the business.
Software Craftsmanship is at the heart of everything we do so we can continuously deliver value to the business with inherent quality. We understand that quality should not be a premium. We hone our skills through continuous practice. We constantly learn, teach and mentor in our team, our company and the wider software development industry.
We believe that a good process constantly delivers incremental value to the business and provides fast feedback. This allows us to inspect, learn, and adapt. We don't prescribe specific processes. We help teams understand their options and make their own choices - whether that is Scrum, Kanban, or a mix of Agile practices.
We understand that Continuous Delivery requires the organisation to be aligned in order to deliver value to stakeholders in frequent and small iterations. We are experts in release automation and setting up continuous delivery pipelines. We achieve continuous delivery through close attention to business needs, software quality, and XP practices.
Practices such as Test-Driven Development (TDD), Pair Programming, Continuous Integration and Shared Ownership are core to everyone at Codurance. This fits very well with our craftsmanship values. We are experts in these practices and use them with great effect. We run public training courses and community events to help our industry embed these practices.
DevOps is a culture that supports continuous delivery. We believe that release, operation, and maintenance of software are as much the responsibility of the software development team as building the building the features in the first place. We include production stability, monitoring, and maintenance features from the start.
Our focus is on JVM, .Net, Node.js, Mobile (iOS and Android) and Web Front-end technologies. We use automation tools such as Ansible, Puppet, Powershell, Jenkins, Team City, VS Team Services and Github. We excel at cloud deployment, especially using AWS and Microsoft Azure. All our craftsmen are polyglots covering many languages on these platforms.
Software Craftsmanship is at the heart of everything we do. We constantly hone our skills by teaching and learning from others within our company and the wider software development community.
We organise Socrates UK: a non-profit, international Software Craftsmanship retreat. Software craftspeople from all over the world, most of whom are thought leaders, gather to learn from each other and improve the industry.