Home » Software Development (page 10)

Software Development

10 Software Documentation Best Practices

Perform documentation as required (e.g. %10 of total production time). No documentation is never a good solution as much as excessive documentation. It may include code documentation, requirement specifications, design documents, test documents, user manuals etc. Those documents are needed to be managed and shared also, by using version controlling tools and/or web based platforms. Code documentation is important. Best ...

Read More »

Learning to Learn

I’m not good at many things. Let me rephrase that. I’m not naturally good at many things. There are many people who are smarter than me, process things quicker and overall just have a better aptitude for almost everything I do. I’ll freely admit, I’ve been pretty successful in my field and in life in general. (At least according to ...

Read More »

Fast Feedback

Writing good software is all about getting feedback, quickly. Does it compile? Does it function? Does it build? Does it deploy? Does it do what the customer wanted? Does it actually work? Every step of the way we have feedback loops, to improve the software. The faster these feedback loops are, the faster the software improves. Builds Don’t you hate ...

Read More »

Why TCP is evil and HTTP is king

Nitpicker corner: If you tell me that HTTP is built on TCP I’ll agree, then point out that this is completely irrelevant to the discussion. I got asked why RavenDB uses HTTP for transport, instead of TCP. Surely binary TCP would be more efficient to work with, right? Well, the answer it complex, but it boils down to this: Huh? ...

Read More »

Factories: Good and not so Good Reasons to Use One

I remember the time when I first started to extensively used Factories in my code. And boy is it embarrassing to even think about that code today. The only thing reducing the embarrassment somewhat is the fact that I see similar antipatterns in lots of code I’m not responsible for as well. Lets go over some examples why you might ...

Read More »

Dealing with Net Negative Producing Programmers

In his ‘Productivity Variations Among Software Developers and Teams‘ post Steve McConnell mentions: Researchers have found 10-fold differences in productivity and quality between different programmers with the same levels of experience and also between different teams working within the same industries But the difference seems a lot more than that. Those studies must have missed or overlooked something! Oh wait, ...

Read More »

Why Domain Driven Design (DDD) is so great

This article aims to describe why I think that DDD aids you tremendously in creating robust and flexible applications. Today we got several cool frameworks and libraries that we can use. ORMs, WCF, ServiceStack, SignalR, WebApi, IoC etc etc. Just thinking of all can make any serious developer go crazy of joy. All those tools is so great that we ...

Read More »

The Myth of the Super Programmer

I received an email this past week that disturbed me. Basically the author of the email inferred that most of the topics I talk about in my blog posts and Pluralsight videos are relatively easy topics, but that I had hypocritically suggested that interviews should be hard and should be designed for “real programmers” or super programmers. Essentially the point ...

Read More »

Pattern oriented programming

Ever since the “Gang of Four” book, everyone and their uncle is an expert in patterns. Software is all about patterns – the trouble is, it seems very little of note has happened in the intervening 20 years. Why patterns are good Patterns help because they let us talk about code using a consistent language. Patterns make it easier to ...

Read More »