Ruby really is my favourite programming language, I love the clean syntax and the freedom that it gives you. Beyond debugging meta programming in gems far far away, I have no real trouble with solving problems in it. Many people say that it is too slow, but I have found that effective caching and background processing negates this for the majority of typical web apps.
Cloud and engineering
When to avoid the DRY principle
The Don’t Repeat Yourself principle is probably one of the most widely recognised software design patterns out there; most beginners in the industry will have heard of it, and more seasoned engineers will have taken it further and see its use in other design patterns such as Service-Oriented Architecture, Inversion of Control and Composability over inheritance.
Why be defensive about programming?
Programming style is often categorised by language or architecture, but the code style also can differ a lot within the same kind of architecture. Defensive programming is derived from the notion that very few things can be trusted when running a program, and adding more checks help to improve the stability of it.
4 Reasons Not To Adopt #NoEstimates In Software Delivery
The #noestimates movement is a subject that has generated a fair amount of controversy in the software development community since its inception, including within the team here at Made.
How To Create Cross-Browser Font Styles That Match The Design
Longstanding was the battle between designer and front end engineer in regards to having fonts render perfectly as per the design, and consistently between different browsers and operating systems. In even darker days, designers were lucky to get a custom font face.
Automating infrastructure provisioning with Terraform and Packer
Here at Made we’re always trying out new technologies that will automate repetitive tasks we need to perform on each new project.
7 Problems to Avoid When Building a Software Team
Building and maintaining a high performance software team is an ongoing effort. The challenges range from attracting great people in a highly competitive market, to providing interesting and challenging workloads, and putting together team structures and practices in which people can thrive.
Should Customers Pay for Bugfixes?
Whether or not you agree with the basic premise of this article, I’m sure you’ll be able to agree that any software project of a reasonable size will have bugs. The way these bugs are dealt with can often become an obstacle to forming a healthy relationship with the customer, and can even impede the software development process itself. There’s many ways to approach this issue, and I’m going to start with a common one.
The Building Blocks of Reliable Software
When solving requirements for a system, you should extract specific roles out into service objects. The lazy path is to solve problems directly where you encounter them such as in the controller, model or view (given you are using MVC of course).
9 Benefits of Test Driven Development
Test Driven Development is the practice of writing a test for a piece of required functionality, before writing any implementation code. This test should fail when first run, and then, you write the code to get it to pass. It doesn’t have to be the most perfect code, just so long as the test passes. Once it does, you can then safely refactor your code.