This story is about a stupid developer.
Once I had to write a complex SQL query so we can extract denormalized data from the database. This complex query had to deal with tree-like data structures and I’d never done anything like that before. So I asked Google and ended up with the
CONNECT BY statement.
Another developer had to review my code. Let’s call him Robert. Hint: he wasn’t the stupid one. Continue reading
We all know this metaphor: we wear different hats at different parts of programming. The classical dichotomy is having one hat for writing code and another for refactoring. If you use TDD, then you have a third hat: the one for writing unit tests. In TDD you change these hats frequently, but still, you are switching only these three.
Is this all? Of course not. We need to read specification, talk to customers or PO-s, negotiate deadlines with project managers. One hat for each. Continue reading
Sometimes the riches are really poor. They just won’t download JSUnit. They won’t use XSL, they won’t download any template engine either – they roll their own.
Sometimes they don’t even roll their own – they just keep replacing their XML-s manually.
I prefer not to.
Programming is the art of compromises. Programming is the art of good decisions. Programming is the art of breaking down a task into smaller tasks.
They say that programming is craftsmanship. This sounds better, because you don’t need to be a genius to be a craftsman. All you need to do is to practice. Practice what? How? Continue reading
A colleague asked me to help him learn java and object-oriented programming. He has solid background in
SQL. This is cool because I don’t need to explain things like the while loop or recursion. We can focus on the syntax first, then double-check Clean Code and we’re done, aren’t we?
Object Oriented Programming
This might be a fast lane for aspiring java developers. However, I still cannot define what does good Object Oriented code look like. There were so many contradictions during my education and career. I’m not sure if I should spare him this journey. Continue reading
There’s a story with the monkeys and the ladder and the shower. It’s easy to see how metaphoric it is. Continue reading
Sounds like a BS post, doesn’t it? Agile processes are like XP, Scrum, Kanban, etc. Waterfall is not an agile process, period.
Well, actually… The agile manifesto values Individuals and interactions over processes and tools. Then, let’s take a look beyond processes! Continue reading
This is an old advice: don’t lie on a job interview. The reasoning goes like this: don’t lie on a job interview because you’ll get caught and id impairs your relationship with your employer. They might even fire you.
This is a really good advice, as long as you’re seeking a job. If you’re an employer, then this doesn’t apply to you. You should lie instead. Here is why:
The idea came to me via this SO question. The is a question about generics. Probably it’s too much foreshadowing in a technical blog, but this post is about generics too.
First thing first: what’s a tuple? It’s a mathematical buzzword for ‘one-thing-and-another’. We call it a pair, right? Mathematicians like to have their definitions generalized. No wonder, the Tuple is a little more than a simple pair. Continue reading
I’m a skeptical engineer who thinks, specification / documentation is never ever obvious. I believe the unambiguous and comprehensive stuff is code, not documentation. When I say unambiguous, I mean the computer can interpret it in only one way, yet people can easily misunderstand it.
We can observe this problem in mathematics too! Continue reading