155 votes
Accepted

Time difference between developing with unit tests vs no tests

The later you test, the more it costs to write tests. The longer a bug lives, the more expensive it is to fix. The law of diminishing returns ensures you can test yourself into oblivion trying to ...
user avatar
114 votes

Time difference between developing with unit tests vs no tests

I agree with the rest of the answers but to answer the what is the time difference question directly. Roy Osherove in his book The Art of Unit Testing, Second Edition page 200 did a case study of ...
user avatar
  • 1,103
89 votes
Accepted

PM opting for an overly-complex setup which nobody has experience with

Once we were halfway the project, the PM stated we had to use third party message queue capabilities instead of threads and had to implement load balancing This isn't an appropriate thing for a PM to ...
user avatar
  • 24.8k
72 votes

Has there really not been one thing in the past 20 years that provided huge software development gains?

Robert Harvey's answer is good, but I think he left out what may be the biggest reason why programmers are more productive than ever: widespread availability of software libraries. When I started ...
user avatar
  • 4,808
65 votes

Are there known valid uses of SLOC to measure productivity?

The argument of the senior architect could mean two things. It may mean that an average developer in the company produces more lines of code when using static languages than when using dynamic ones. ...
user avatar
62 votes

Has there really not been one thing in the past 20 years that provided huge software development gains?

For the sake of argument, I disagree with the assertion of Fred Brooks. There is an improvement in technology which allowed alone an order-of-magnitude improvement in productivity: internet, and more ...
user avatar
58 votes
Accepted

Has there really not been one thing in the past 20 years that provided huge software development gains?

Do developers in 2014 produce software at a rate less than 10x faster than their counterparts in 1986? I would imagine that there's been at least an order of magnitude improvement in productivity ...
user avatar
50 votes
Accepted

How much time should you spend planning a commit before writing code?

Firstly: when coding for a living, especially as a junior in a team, typically not much design work is needed. This is because you'll be working in an existing code base. Chances are, you'll often be ...
user avatar
  • 604
46 votes
Accepted

I am spending more time installing software than coding. Why?

What am I doing wrong? You're trying to develop in an environment where you're also the sysadmin, devops and the local technical product owner for every pip package you use - and you're assuming that ...
user avatar
  • 12k
40 votes

How much time should you spend planning a commit before writing code?

I would like to change your perspective for a moment. Commits are not something you plan. Commits, especially in the early stages of figuring out a problem, are little more than save-points along a ...
user avatar
33 votes
Accepted

Is it ok if I can't solve a problem when sitting in front of a computer?

I tend to solve my most difficult problems: In front of a whiteboard (sometimes without even drawing anything - just thinking about how to visualize a problem can sometimes lead to a solution) While ...
user avatar
  • 22.8k
31 votes

Time difference between developing with unit tests vs no tests

There is only one study I know of which studied this in a "real-world setting": Realizing quality improvement through test driven development: results and experiences of four industrial teams. It is ...
user avatar
31 votes

PM opting for an overly-complex setup which nobody has experience with

What would be stupid is to let yourself get death marched. What you are describing is that you've lost critical feel. There is no sense of control and no clear way back to it. The last thing you ...
user avatar
27 votes

How much time should you spend planning a commit before writing code?

You mention live stream YouTubers as a standard to live up to, as if they would make up stuff on the spot, type it in and are done. That is not how it goes. They planned and practiced too beforehand ...
user avatar
  • 16.1k
26 votes

Are there known valid uses of SLOC to measure productivity?

About productivity and SLOC The problem with SLOC The problem with the SLOC metric is that it measures an approximation of the quantity of code written, without taking into account: the quality of ...
user avatar
  • 68.6k
24 votes
Accepted

In my situation, how could I learn to program without a mentor?

Blogs and podcasts are your mentors. Books are your mentors. Videos are your mentors. The Internet has made it possible to have these things in abundance. Pursue them with vigor. I know this is ...
user avatar
24 votes

Time difference between developing with unit tests vs no tests

Done well, developing with unit tests can be faster even without considering the benefits of extras bugs being caught. The fact is, I'm not a good enough coder to simply have my code work as soon as ...
user avatar
23 votes

Time difference between developing with unit tests vs no tests

Despite there being a lot of answers already, they are somewhat repetitive and I would like to take a different tack. Unit tests are valuable, if and only if, they increase business value. Testing for ...
user avatar
  • 1,532
18 votes
Accepted

How to keep your productivity level high when people keep changing requirements at the last minute?

The idea that requirements are fixed and that the code you are writing will not have to be changed is extremely problematic. In reality, requirements are never fixed. Whether you need to change it ...
user avatar
  • 22.1k
15 votes

Is daily commit and push necessary for managers and supervisors to check my progress and productivity?

It should not be necessary for you to commit daily just to assure your managers that you are working. If management can't tell how you're doing without looking at your commit history, then I would ...
user avatar
14 votes

What is the supposed productivity gain of dynamic typing?

Q: I often heard the claim that dynamically typed languages are more productive than statically typed languages. What are the reasons for this claim?" This has historical reasons. If you go back a ...
user avatar
  • 54.8k
14 votes
Accepted

How do I feel more productive after programming?

Assimilating the job of a programmer to coding is reductive. Your goal is not to write code, but to solve a given problem—usually through code, but not only code. Once you have a set of requirements, ...
user avatar
13 votes

Has there really not been one thing in the past 20 years that provided huge software development gains?

I'd say the internet is a pretty good candidate. StackOverflow and Google are a modern-day developer's most powerful tools. Instant knowledge-sharing on a global basis! These days you don't need to ...
user avatar
  • 1,203
11 votes
Accepted

Significant difference between functional and procedural collection handling

least LOC isn't really what I'm looking for here But, why? Least LOC is what you should be looking for here. While lines-of-code does not make for a truly reliable maintainability measure, you will ...
user avatar
  • 2,242
10 votes

PM opting for an overly-complex setup which nobody has experience with

This should really be on workplace.stackexchange.com, because the problem is not really a software development question, but about workplace relationships. If you are sure that your simple approach ...
user avatar
  • 38.2k
10 votes

How much time should you spend planning a commit before writing code?

At the moment I'm spending more time planning out a commit than actually writing code No one cares how you spent your time. They care about what you made (if you're lucky). This is making me unhappy,...
user avatar
9 votes

How to know if I'm slow or fast at programming?

Not only is it hard to say, but the answer is not very useful. Even highly experienced developers find it difficult to estimate how long a given project will take them. This is largely because the ...
user avatar
9 votes

Time difference between developing with unit tests vs no tests

It depends on the person, as well as the complexity and shape of the code you're working with. For me, on most projects, writing unit tests means I get the work done about 25% faster. Yes, even ...
user avatar
  • 107k
9 votes
Accepted

What's the name of the phenomenon where the software architecture evolves to mirror the office layout?

What you are describing sounds similar to Conway's Law, but it doesn't refer to the physical layout of the office, but rather the organizational structure of the team(s) that are building the software:...
user avatar
  • 76.3k
8 votes

In which programming paradigm can't code reuse be (easily) achieved?

For my own sanity, I've shortened "paradigms that promote code reuse" to "paradigms". In scope of this answer, all mentioned paradigms are paradigms that promote code reuse. What ...
user avatar
  • 38.3k

Only top scored, non community-wiki answers of a minimum length are eligible