What all programmers have in common

I have been working on software development for some time, and have seen a lot of different styles of programmers. There are the ones that clearly have a lot of talent and produce a lot of output. Others don’t have much talent, and are also not interested in improving their skills.

Experience has shown that there is a large gap between developers in terms of productivity. In some cases, it has been found that the best developers can produce software ten times faster than mediocre ones. This result has been validated independently of the language or tool used to develop software — which shows that the productivity gap cannot be easily fixed.

However, there is one trait that seems to be unchanged across programmers, the good and the bad ones. And this trait makes most of the schedules for software development to be late by some margin. The feature is that all developers are essentially optimistic when it comes to the time needed to create a new piece of software.

Bad programmers are clearly easy to blame on this area because they are slow and the software they create is of low quality. However, even good developers suffer from this problem. This mostly happens because of our tendency of overlooking critical aspects in the development process.

For example, although the programming time to finish a feature is 20 hours, this does not include the time necessary to attend meetings with a customer, or to optimize a database, or even to enter issues into the bug tracking system. All of these activities also count towards the working time of any developer, and need to be taken in consideration.


Fixing the Gap

The good news is that good or bad programmers can do something about their time management issues. Here is a quick list of things that I tried myself with good results:

Maintain a log of how your time is spent. It is amazing how we usually don’t have a clue about how we spend our time. As a result, we just spend a lot of our time on areas that don’t provide enough return. By keeping a log, we can start to see where we need to cut some slack and where can we put some additional effort.

Increase your estimates by a factor. Once you get some experience on where your time is spent, you will be able to estimate what percentage of your time is spent on software development, and what time is spent in related activities. This factor is different for each situation. For example, companies that have lots of meetings will require a bigger factor compared to the ones where such formalities are not needed. Find a factor for your situation and apply it to your development estimates.

Learn to say no. A big problem in schedule estimation is that what you’re supposed to do might increase, while the time allotted to the task doesn’t. In this case, you need to say clearly that you think the time is not enough for the planned feature. Saying so is better than having to cope at the end with a late project.


Conclusion

Programmers have a common tendency to schedule less time than necessary to finish a set of features. It is a natural tendency that we have, and it happens because we don’t take the time to think about the extra tasks that everyone needs to go through. By carefully understanding your personal work flow and by learning to say no to things you can’t do, we all have is a big opportunity to improve the accuracy of our programming schedules.


Further Reading

  • Mythical Man Month: an earlier view on scheduling issues for software development.
  • Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software.
  • A proposal for better software schedules, by Joel Spolsky.

Related Posts

Similar Posts:

Similar Posts

20 Comments

  1. I would like to thank you for your tip. As a web designer, this might be applicable to me as well.

  2. @Alvin,
    Thanks for your comment. I agree this is applicable to many knowledge workers. It is just that programmers are very susceptible to this kind of problem.

  3. Most of the experienced programmers I know are actually very pessimistic about how long something will take.

    It is the people who do not write software (managers, customers, etc.) who tend to underestimate and insist on unrealistic schedules.

    Programming projects are almost always behind schedule because the people who have the final say on schedules are managers who do not understand the process of writing software.

  4. I don’t think this trait is limited to programmers; it’s a general property of human psychology.

    http://www.overcomingbias.com/2007/09/planning-fallac.html

    Personally, I like the following metric (I think I picked it up from Old New Thing): double the number and increase the unit. 3 hours becomes 6 days, 2 weeks is 4 months, etc. It’s been quite accurate so far :)

  5. What works for me is to
    (1) estimate the time needed to complete a project if there are no major problems along the way, then double it
    (2) do two versions of the project at the same time. The first version is what the customer wants. The second version is a list of all the ideas my programming team comes up with while doing the first version. Acknowledging their ideas by keeping a list (a) makes them feel more engaged with their work (b) keeps my team thinking about better ways of doing things (c) stops them from implementing their ideas before version 1 is finished (d) gives us a list of improvements for the next version to keep us ahead of the competition.

  6. Doch es war der Aston Martin – genauer gesagt der Aston Martin von 007 –, der Monacos ohnehin schon faszinierenden Ruf steigerte .
    Viele Touristen bleiben stehen, um Fotos von der Prozession fein getunter Ferraris, Lamborghinis, Bentleys und
    Rolls-Royces zu machen, in denen die Reichen vorbeirollen.
    Schon bevor man den roten Teppich des Casinos betritt, wird ein übergroßer Reichtum sichtbar.

    In der Vergangenheit wurden dort die Leichen verzweifelter Spieler aufbewahrt, die ihr
    Vermögen verloren und sich sofort mit einem Pistolenschuss umbrachten, während sie noch an den Spieltischen saßen. Tatsächlich gibt es einen Raum namens „The Morgue“, in dem sich die Parkwächter des Casinos ausruhen.
    Im Mittelpunkt des Bezirks steht das Casino von Monte-Carlo – eines der berühmtesten Spielbanken weltweit.
    Zum Beispiel das Casino Monte-Carlo besuchen und durch
    die hübsche Altstadt bis zum Fürstenpalast schlendern.
    Reiserücktritt, Reiseabbruch, Verschiebung oder Nichtantritt deiner Reise bei Krankheit oder einem Unfall von dir, deinen Mitreisenden, der Person, die du
    besuchen willst oder von Angehörigen der genannten Personen Im Inneren der beeindruckenden Sehenswürdigkeit in Monaco befinden sich ein Hauptaltar aus weißem Carrara-Marmor und die letzten Ruhestätten verstorbener Grimaldis – darunter das Grab der US-Schauspielerin Grace Kelly,
    auch bekannt als Fürstin Gracia Patricia.

    References:
    https://online-spielhallen.de/myempire-casino-freispiele-alles-was-sie-wissen-mussen/

  7. Von Ihren Anbietern erhalten Sie eine Transaktionsliste mit allen Ein- und Auszahlungen. Der Anbieter
    darf die Einnahmen, die er mit Ihren Spielverlusten erzielt hat, nicht behalten, weil es
    an einer Rechtsgrundlage fehlt. Spieler können deshalb Verluste, die sie in den letzten 10
    Jahren erlitten haben (solange der Anbieter keine Lizenz besaß), von dem Betreiber des Online-Glücksspiels zurückfordern.
    Trotz des Glücksspiel-Verbots waren unzählige Online-Casinos auf dem deutschen Markt tätig, die Spielern über Jahre hinweg Milliardensummen aus ihren Taschen zogen. Dennoch tummelten sich auch dort zahlreiche Casino-Betreiber,
    die keine nötige Lizenz besaßen und somit selbst in Schleswig-Holstein illegal waren. Bis dahin waren Online-Casinos in Deutschland faktisch illegal.

    References:
    https://online-spielhallen.de/amunra-casino-freispiele-ihr-schlussel-zum-spielspas/

  8. Sie bieten mehr Anonymität, keine Limits bei Einzahlungen und Einsätzen, höhere Boni und Spielzeiten ohne
    Pausen sowie eine größere Spielauswahl. Es handelt sich hierbei um
    Glücksspielplattformen ohne deutsche Sperrdatei-Anbindung.
    Das führt dazu, dass deutsche Spieler immer mehr nach alternativen Online Casinos ohne die nachfolgenden Einschränkungen suchen. Erfolgt eine Spielsperre, ist der Spieler für alle Glücksspielangebote in Deutschland gesperrt.
    Alle in Deutschland lizenzierten Online Casinos müssen die Datei abfragen, um sicherzustellen, dass keine gesperrten Spieler am Glücksspiel teilnehmen. Sobald ein Spieler in der OASIS-Datenbank registriert ist, gilt die Sperre
    deutschlandweit.
    Casinos mit deutscher Lizenz sind dazu verpflichtet, Spielerdaten an OASIS zu übermitteln,
    womit einige Einschränkungen verbunden sind.
    Ebenfalls ein Vorzug ist der massive Willkommensbonus von bis zu 2.500
    Euro sowie 200 Free Spins verteilt auf Deine ersten 3
    Einzahlungen. ? Üppiger Willkommensbonus von 200% bis 600 Euro
    und 250 FS Dazu gibt es 250 Freispiele, damit Du
    die Plattform ohne Stress und Sorgen erst einmal kennenlernen kannst.

    Doch wir klären euch in diesem Beitrag auf, wie man weiterhin in online Casinos ohne Oasis ganz
    legal spielen kann. Du hast also auf dem deutschen Markt keine Chance, nur eine
    einzige Walze zu betätigen, wenn eine Selbst- oder Fremdsperre aktiv ist.
    Verschiedene Online-Casino-Vergleichsportale im Internet (z.
    B. ) helfen bei der Suche nach sicheren Seiten. Spieler können hier
    trotz OASIS spielen und mit einem großzügigen Casino-Willkommensbonus starten.
    Alle Glücksspielanbieter, die innerhalb der deutschen Grenzen operieren, sind zur
    Integrierung dieses Systems verpflichtet.

    References:
    https://online-spielhallen.de/hitnspin-casino-app-reibungsloses-mobile-gaming/

  9. Turn this option on or off in the menu at the start of the game.
    Start your backgammon journey today and discover why we are the ultimate destination for backgammon lovers worldwide!
    Join daily and weekly tournaments, or simply enjoy a casual
    game with new friends. Our platform is designed for convenience, allowing you to jump into a match anytime, day or night.

    Generally, speaking, pass, and play backgammon refers to a game of backgammon that is played using a shared backgammon board
    and dice. A game of Backgammon begins with both players rolling
    the dice. There is always a bit of luck involved in dice games, but backgammon requires skill to win, even when you get a bad dice roll.

    Each player has 15 checker pieces placed across the board.
    If the losing player has not borne off any of their checkers by the time the winner
    has won, the winner will achieve 2 points, and is known as losing a gammon.
    At Backgammon 247, we bring the timeless strategy and excitement
    of backgammon to your screen, allowing you to play anytime and anywhere.

    In this web game you must move the white pieces to the
    bottom right quarter of the board. The player who manages to bear off all their pieces first is the winner.
    Your opponent bears off when their pieces are all in the upper right section of the board.
    There are a few different ways that this game is played.

    Backgammon is one of the oldest known boardgames.

    References:
    https://blackcoin.co/top-welcome-bonuses-online-casinos/

  10. The top Aussie casinos we recommend always include a solid mix of these hidden gems.
    The streams were sharp, dealers were pro, and the energy was
    on par with land-based casinos. Wagering requirements tell you how many times you need
    to play through a bonus before you can withdraw anything.
    The best deals combine fair match percentages, realistic wagering, and sensible game restrictions.

    Exploring each key feature in detail reveals what makes
    the best online casinos in Australia stand out.
    The platform offers a diverse array of games, including slots, table games,
    and live dealer options, catering to a wide range of gaming
    preferences. The platform also offers enticing bonus structures,
    including welcome bonuses and loyalty rewards, making it a thrilling online gaming environment.
    The platform offers a wide range of games, including slots, table games,
    and live dealer options, catering to various gaming
    preferences. Furthermore, live casino games on the platform frequently malfunction, adding to player frustration.
    Toponlinecasinoaustralia is the ultimate guide for avid online gamblers who want to read about the 3 best
    online casino Australia real money sites in March 2025.
    We advocate responsible gambling and encourage all players to stay
    informed about the legal status of online casinos
    in their country. A top Australian casino online in 2025 offers a wide range of games at the click of a mouse, and it takes just minutes to sign up for a
    real money casino Australia account. By reviewing hundreds of sites
    of we’ve managed to rank the best online casinos
    for Australian players. Understanding the different types of online casino bonuses available can help players make informed
    decisions and maximise their gaming experience.

  11. Spatial indexing is a technique used to structure and organize geospatial data efficiently, allowing for
    fast spatial queries and improved data retrieval performance.
    Uber developed H3 to solve key challenges in geospatial computing,
    particularly in ride-sharing, logistics, and location-based services.
    H3 is a discrete global grid system for indexing geographies into a hexagonal
    grid, developed at Uber.
    Uber’s H3, a powerful open-source spatial indexing system, provides a unique hexagonal grid-based solution that enables seamless geospatial analysis and
    fast query execution. It divides the Earth’s surface into hexagonal cells of
    various sizes, creating a hierarchical structure that allows for spatial indexing and querying.
    H3’s hexagonal grid partitions Earth into 122 base cells (resolution 0), comprising 110 hexagons and 12 pentagons to approximate spherical geometry.
    In today’s data-driven world, efficient geospatial indexing is crucial for applications ranging from ride-sharing and logistics to environmental monitoring and disaster response.
    As geospatial technology evolves, H3’s open-source ecosystem will likely
    see further enhancements, including integration with machine learning models, real-time
    analytics, and 3D spatial indexing.
    To simulate real-world ride data, we generate random GPS
    coordinates centered around San Francisco. This enables spatial queries like “find all cells within a radius of k steps” from a target cell.
    H3 supports hierarchical resolution levels (from 0 to 15), allowing data to be indexed at different granularities.
    Today, H3 is widely used in applications beyond Uber, including environmental monitoring,
    geospatial analytics, and geographic information systems (GIS).
    It is designed to efficiently partition and index geographic space, enabling advanced geospatial analysis, fast queries, and
    seamless visualization. The above query took 1 seconds compared to 543 seconds which is a significant improvement and currently
    there’s no indexing involved.

    References:
    https://blackcoin.co/macau-casinos-guide/

  12. Poker evolved from various card games into the thrilling competition known worldwide today.
    Perfect for mastering gameplay mechanics and discovering favorites bef Demo mode
    lets players test drive slots without financial commitment.
    Featured recommendations highlight trending games currently popular among Australian users.

    Choose whatever suits your current mood and enjoy not just
    the thrilling atmosphere of games, but also real money winnings!
    SkyCrown Casino counts more than 10,000 titles of games.
    Selecting the right casino is about matching the platform to your style.
    Offers competitive bonuses and lightning-fast cryptocurrency payouts.

    References:
    https://blackcoin.co/53_high-roller-slots-list-of-the-top-11-high-roller-slots_rewrite_1/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.