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 ...
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 ...
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 ...
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 ...
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...
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,...
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 ...
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 ...
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:...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
productivity × 354project-management × 24
teamwork × 21
programming-practices × 19
time-management × 18
agile × 16
self-improvement × 15
development-process × 14
management × 14
programming-languages × 12
communication × 12
code-quality × 11
ide × 11
team × 10
development-environment × 10
efficiency × 9
tools × 9
design × 7
java × 7
architecture × 7
c# × 6
unit-testing × 6
code-reviews × 6
metrics × 6
collaboration × 6