Greg Wilson

Programmers tend to have strong opinions about what makes code easier or harder to understand. Until recently, though, those opinions have been based on self-analysis and received wisdom, i.e., on programmers thinking about what they themselves do, and (more often) on what the rest of the herd is saying.

DevOps is what happens when developers work hand-in-hand with the system administrators and other IT staff who are responsible for getting software into users’ hands and keeping it running. Discussion about it frequently centres on tools, but its core is a set of practices that are best understood as answers to a handful of key questions.

Programmers routinely use Stack Overflow as a brain extender these days, but there is still a place for long-form tutorials and well-organized reference guides. These can do more than inform: they can shape how a technology develops by guiding readers in particular directions, and simply by existing, they tell developers what their peers find interesting.

Angular 2 has grown steadily more popular since its release, and a growing number of books are now available to teach programmers how to use it. But building an application involves a lot more than just writing code: in order to be performant and maintainable, the application must have some over-arching architectural plan that ties its pieces together and gives direction to future growth.

Programmers have strong opinions on many things, one of which is the use of strong typing in programming languages. On the one hand are people who claim that strong typing makes developers' intentions clearer and catches errors before code is even run. On the other hand are those who say that strong typing makes code harder to modify, and that focusing on getting types correct distracts from focusing on getting the rest of the program correct.