Most Popular

1500 questions
57
votes
26 answers

If you could only have one programming related book on your bookshelf what would it be and why?

One per answer please. I'll add my favourite as an answer.
Paddyslacker
  • 11,080
57
votes
5 answers

Why not XHTML5?

So, HTML5 is the Big Step Forward, I'm told. The last step forward we took that I'm aware of was the introduction of XHTML. The advantages were obvious: simplicity, strictness, the ability to use standard XML parsers and generators to work with…
57
votes
11 answers

How many questions are appropriate to ask as an intern?

So, I just started an internship, and I'm worried that I'm asking too many questions. My mentor assigns me projects and helps me learn all the company's technologies and methodologies. However, there's so much new material for me to learn while…
Casey Patton
  • 5,241
57
votes
13 answers

How can we reduce downtime at the end of an iteration?

Where I work we practice scrum-driven agile with 3-week iterations. Yes, it'd be nice if the iterations were shorter, but changing that isn't an option at the moment. At the end of the iteration, I usually find that the last day goes very slowly.…
Adam Lear
  • 32,039
57
votes
42 answers

Most regrettable design or programming decision you made?

I would like to hear what kind of design decisions you took and how did they backfire. Because of a bad design decision, I ended up having to support that bad decision forever (I also had a part in it). This made me realize that one single design…
VNarasimhaM
57
votes
16 answers

moving from Windows to Linux

I need to reconcile these 2 facts: I don't feel comfortable working on Linux; I need to develop software for Linux. Some background: I have a 10+ years of programming experience on Windows (almost exclusively C/C++, but some .NET as well), I was a…
rincewind
  • 547
57
votes
9 answers

Hiring a Junior Developer, What should I ask?

We are currently hiring a junior developer to help me out, as I have more projects than I can currently manage. I have never hired anyone who wasn't a friend or at least an acquaintance. I have a phone interview with the only applicant that actually…
57
votes
15 answers

When should I use—and not use—design patterns?

In a previous question of mine on Stack Overflow, FredOverflow mentioned in the comments: Note that patterns do not magically improve the quality of your code. and Any measure of quality you can imagine. Patterns are not a panacea. I once wrote…
ashmish2
  • 301
57
votes
15 answers

Why do we have postfix increment?

Disclaimer: I know perfectly well the semantics of prefix and postfix increment. So please don't explain to me how they work. Reading questions on stack overflow, I cannot help but notice that programmers get confused by the postfix increment…
fredoverflow
  • 6,874
57
votes
34 answers

When would someone be considered a bad programmer?

How would you consider that a programmer is bad at what he or she is doing? If possible... How should he/she improve?
57
votes
9 answers

In what cases is less code not better?

I have refactored some code at work lately, and I thought I did a good job. I dropped 980 lines of code to 450 and halved the number of classes. When showing this to my colleagues some did not agree that this was an improvement. They said - "fewer…
PiersyP
  • 543
  • 1
  • 4
  • 6
57
votes
4 answers

Are there exceptional cases where we can accept duplicate code?

I'm working on a software project where we have to build three APIs. One for the home banking channel, one for the agency channel and a third for the mobile channel. The agency API is the most complete one as it has all the functionalities .. then a…
57
votes
3 answers

If GitHub interacts with Git, and Git is licensed under GPLv2, shouldn't GitHub be open source?

Since Git is licensed under GPLv2, and, to my understanding, GitHub interacts with Git, shouldn't the whole GitHub codebase be open-sourced in a GPL-compatible license?
57
votes
3 answers

Should Microservices talk to each other?

I'm designing an application using Micro-Services and I'm unsure on the best mechanism to use to collect data from multiple services. I believe there are two options: Integrate an 'inter-service' communication mechanism that allows the services to…
KidCode
  • 2,173
57
votes
5 answers

How do you explain Separation of Concerns to others?

If you had a colleague who didn't understand the benefits of Separation of Concerns, or didn't understand it quite enough to apply consistently in their daily work, how would you explain it to them?
Marcie
  • 2,999