Category: Craftsmanship
-
The Software Craftsman
I just finished a book on software craftsmanship: The Software Craftsman – Professionalism, Pragmatism, Pride. It’s a good intro to what a craftsman does and what he should do. I enjoyed reading it. Throughout the book I kept nodding, saying “yes,” or “agreed.” It’s a good book for junior programmers. It can help you get…
-
Write Debuggable Code!
“One of the differences between a great programmer and a bad programmer is that a great programmer adds logging and tools that make it easy to debug the program when things fail.” [reference below] I’m sure you’ve experienced a good share of mystery/quiet/business-as-usual failures. Wouldn’t it be nice to have code that is smart to…
-
Fundamentals of programming
Almost all of us know the GoF patterns. Perhaps not all of the patterns. I forget them from time to time, but with more experience, I remember more and more. (I keep forgetting what a Memento is. :)) As important as they are, I think there are other, perhaps more important patterns and principles that…
-
The Top 10 Attributes of a Great Programmer
While looking at the top weekly links on dzone (good way to see what are the important things that happened), I came across a very intriguing entry: The Top 10 Attributes of a Great Programmer by Steve Riley. These always “get me,” but a lot of times they end up being just a quick browse. This one…
-
Writing Good Code
Is it because of pressure? Is it because you want to be faster than others? Or is it just because that’s the way you’ve been doing things and it has worked for you? I hope it’s not the case. I hope you take the time to do it right. Because if not, as the saying…
-
What makes a great software engineer?
Nicholas Zakas, the author of what I consider the best JavaScript book out there, is becoming one of my favorite bloggers! (I should let him know about that. :)) In his recent blog post, he talks about qualities of great software developers. It’s a great post. I highly recommend reading the whole post. Here’s my…
-
Make Quality a Requirement
As programmers, we want to finish things fast. We want to impress our boss. We want to be better and always finish before others. So we do. We finish things as fast as possible. Because the requirement was to complete the things that were on the list. Just make it work. What’s the end result?…
-
Quality and Speed
Uncle Bob wrote an excellent post, Speed Kills. Is there a tradeoff between speed and quality, he asks. If by “speed” you mean delivering working softwarequickly and repeatably release after release after release; thenmaintaining high quality is your only option. I couldn’t agree more. In the long run, the only way you can move fast…
-
10 Ways to "Stay on Top"
If you consider yourself a good programmer, great! But is this going to hold true, two years, five years from now? If you are not going to learn new things, I can safely say that you’re going to be “out of date.” If you want to stay still, you have to continue moving: being a…
-
Top 5 Attributes of Highly Effective Programmers
Ben Watson, whose blog I just came across, lists the following Top 5 Attributes… Humility Love of Learning Detail-orientedness Adaptability Passion I think this is a very good list. I think effective programmers are humble. Why? Because you have to be able to work well with others. Just from my experience, it’s hard to work…
Recent Posts
- The Software Craftsman
- Write Debuggable Code!
- Effective Programming: More Than Writing Code
- Fundamentals of programming
- Steve Jobs on Simplicity
Tags
2010 2011 abstraction advanced Books code concepts Craftsmanship design patterns encapsulation goals gof grasp immutability innerclass Java javascript jpa learning patterns practicing quality Quotes reading recommended reference solid tdd testing unclebob
Comments
Yes it does, thanks a lot for the info.
Good blog! I really love how it is simple on my eyes and the data are well written. I'm wondering…