Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. How much code can a coder be assigned to be in charge with

How much code can a coder be assigned to be in charge with

Scheduled Pinned Locked Moved The Lounge
question
31 Posts 20 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Calin Negru

    I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

    G Offline
    G Offline
    Gary Wheeler
    wrote on last edited by
    #16

    Everyone else seems to have gone rather meta in their response, so I'll give you my 2¢ concrete example. I just passed the ⅓‐century mark at my current employer. Our active code base includes several products and some items that were originally written in 1999-2000. We have in the neighborhood of 40-50 million lines(*) in that code, ¼ of which is my direct responsibility. Most of that I created originally. Some of it I inherited from others when they left the company. Obviously on any given day I'm not working on all of that, and I certainly don't remember any more than what I'm working on at the moment. Working on code I wrote is more comfortable since I know what to expect. In a lot of cases, working on the code others wrote originally is okay but it's not my favorite thing. There's one product where I've only made a single change in the several years I've had it, because the original author wrote it so that he was the only person who could maintain it [3,000 words of angry, profanity-laden diatribe omitted]. (*) Yes, I know line count isn't a meaningful metric for code size. It's useful for casual conversation.

    Software Zen: delete this;

    T 1 Reply Last reply
    0
    • G Gary Wheeler

      Everyone else seems to have gone rather meta in their response, so I'll give you my 2¢ concrete example. I just passed the ⅓‐century mark at my current employer. Our active code base includes several products and some items that were originally written in 1999-2000. We have in the neighborhood of 40-50 million lines(*) in that code, ¼ of which is my direct responsibility. Most of that I created originally. Some of it I inherited from others when they left the company. Obviously on any given day I'm not working on all of that, and I certainly don't remember any more than what I'm working on at the moment. Working on code I wrote is more comfortable since I know what to expect. In a lot of cases, working on the code others wrote originally is okay but it's not my favorite thing. There's one product where I've only made a single change in the several years I've had it, because the original author wrote it so that he was the only person who could maintain it [3,000 words of angry, profanity-laden diatribe omitted]. (*) Yes, I know line count isn't a meaningful metric for code size. It's useful for casual conversation.

      Software Zen: delete this;

      T Offline
      T Offline
      trønderen
      wrote on last edited by
      #17

      Back-of-envelope calculations: 33 years, 48 weeks of 5 days, that makes roughly 8000 days. You are responsible for 10-12 million lines, most of which you created originally, you say. Let's say 8 of those 10 million lines. So every working day for 33 years, you have produced about a thousand new code lines, going into you employer's repository. Wow! I know for certain that I have never been even close to that, delivering 5000 lines of new production code to the code repository every single week for 33 years! I could never get close to that. I suspect that few others will.

      G 1 Reply Last reply
      0
      • T trønderen

        Back-of-envelope calculations: 33 years, 48 weeks of 5 days, that makes roughly 8000 days. You are responsible for 10-12 million lines, most of which you created originally, you say. Let's say 8 of those 10 million lines. So every working day for 33 years, you have produced about a thousand new code lines, going into you employer's repository. Wow! I know for certain that I have never been even close to that, delivering 5000 lines of new production code to the code repository every single week for 33 years! I could never get close to that. I suspect that few others will.

        G Offline
        G Offline
        Gary Wheeler
        wrote on last edited by
        #18

        There is some duplication in the code base coming from forks for new products or new generations of existing products. Over time there is drift between the forks which means tracking the differences. There have been times when I've applied bug fixes in 6 or more places. Still, I am pretty productive. Some days I can write 2,000 lines without breaking a sweat. Other days I only get 5 lines, and 2 of them are dodgy :-O .

        Software Zen: delete this;

        1 Reply Last reply
        0
        • C Calin Negru

          >In general one or more programmers are in charge From what I understand there are generic type of algorithms, each program is made from several of these generic algorithms. When you’re building something you don’t really start from scratch you build with that typical algorithm in mind. They teach you these algorithms in computer science school hence a graduate/junior has an approximate idea what to expect. I don’t have a CS degree I’m just forever making guesses.

          M Offline
          M Offline
          Maximilien
          wrote on last edited by
          #19

          A software is more than just a collection of generic algorithms. The big part can be business logic (how things work).

          CI/CD = Continuous Impediment/Continuous Despair

          1 Reply Last reply
          0
          • C Calin Negru

            I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

            B Offline
            B Offline
            Bruce Patin
            wrote on last edited by
            #20

            For a small business with only a few custom apps, would say 3 to 6 months to become competent with the code. It depends a lot on how the code was written and how well the code matches the skill set of the coder.

            1 Reply Last reply
            0
            • C Calin Negru

              I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

              M Offline
              M Offline
              Mark Starr
              wrote on last edited by
              #21

              A developer will be responsible for all code he writes. Add in a ‘helper’ and you’ll get a bungled mess, because the added person will never fully understand the context and code: the primary developer will have to split their time between coding and teaching/fixing. :) Hard truth: the person responsible for breaking it is responsible for fixing it.

              Time is the differentiation of eternity devised by man to measure the passage of human events. - Manly P. Hall Mark Just another cog in the wheel

              1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Ravi Bhavnani wrote:

                A crawl task is a low risk one that doesn't impact the release.

                that shouldn't impact the release :rolleyes: Wouldn't be the first time someone makes a typo or is just next level incompetent :laugh:

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                RaviBeeR Offline
                RaviBeeR Offline
                RaviBee
                wrote on last edited by
                #22

                No, doesn't impact the release.  The decision to assign the crawl task to the dev is made only after the tasks have been evaluated. /ravi

                My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                1 Reply Last reply
                0
                • P PIEBALDconsult

                  All of it. No design by committee, no politics, no "he's not doing his share".

                  D Offline
                  D Offline
                  dandy72
                  wrote on last edited by
                  #23

                  Exactly. The codebase could be huge. Being "in charge of it" doesn't infer someone needs to understand every nook and cranny. If very little of a large codebase *ever* needs to change, a good developer - even if completely unfamiliar with it - should be able to isolate which parts he needs to understand, and focus on that.

                  1 Reply Last reply
                  0
                  • A Amarnath S

                    In large companies, especially in medical imaging companies I've worked for, the codebase will be large, especially since they have to adhere to the DICOM standard, and regulatory requirements. At least 15 to 25 million lines of code in various languages, ranging over C#, Java, and even browser based frontend languages/frameworks. Perhaps there will be just a handful of people in the entire company who have the big picture of the codebase. A developer will only know his part of the code, just that "I have to fix this bug in this part of the UI, or, add this small enhancement here". Some of the more experienced developers may opt for the managerial path. However in a small company, it is unlikely that there'll be such a huge codebase. The individual developer's responsibilities will also be high. A manager here will also wear the developer's hat on occasions.

                    C Offline
                    C Offline
                    Calin Negru
                    wrote on last edited by
                    #24

                    Greg, Amarnath S >about 30 million lines of code That’s a lot of code you guys, that probably must be old code that keeps piling up although it’s a bit difficult to imagine at first different devices using the same code. On a second thought however it starts to make sense, the devices are probably managed using a PC, if it’s imaging devices they have something in common so a base class could be used for all of them etc. Chances are I have no idea what I’m talking about sorry if I’m saying funny things.

                    1 Reply Last reply
                    0
                    • C Calin Negru

                      I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

                      J Offline
                      J Offline
                      Juan Pablo Reyes Altamirano
                      wrote on last edited by
                      #25

                      I don't think there is ever too much or too little. Although within reason. I think we can owe Dave Cutler many thanks for the Windows NT kernel and whatever else goes with connecting that to Foundation Classes. Torvalds for Linux, Stallman for GCC and EMACS (many nameless heroes for creating or porting to GNU). Of note, I think Tim Sweeney loves to reinvent Unreal Engine every 10 years or so. But I guess if you own it and love the project, Sky's the limit. Ken Thompson...that guy's a machine (I mean B, UNIX, Plan 9, Inferno, UTF-8, Go) and I think he once reverse engineered (hacked) one of the predecessors of the Inkjet printer. Yes, they all weren't alone but I'm pretty sure they were compiling most of the source code in their head.

                      1 Reply Last reply
                      0
                      • C Calin Negru

                        I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #26

                        Unless you're prepared to spend time "reverse engineering" and creating "structure charts", you'll never have the big picture and will create more bugs as you try and fix exisitng ones; or make enhancements. How big is big? There are departments and enterprises. A few days to a few months to "figure it all out". As a "project manager / lead" and "single person", you get to do it, and "own" it all.

                        "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                        C 1 Reply Last reply
                        0
                        • C Calin Negru

                          >In general one or more programmers are in charge From what I understand there are generic type of algorithms, each program is made from several of these generic algorithms. When you’re building something you don’t really start from scratch you build with that typical algorithm in mind. They teach you these algorithms in computer science school hence a graduate/junior has an approximate idea what to expect. I don’t have a CS degree I’m just forever making guesses.

                          J Offline
                          J Offline
                          jschell
                          wrote on last edited by
                          #27

                          Calin Negru wrote:

                          They teach you these algorithms in computer science school hence a graduate/junior has an approximate idea what to expect.

                          Not in my experience. Not for any degree. I remember being with a group in a electrical science lab in school with two older guys that had been working as engineers for years. They had to get a degree to get paid more at the company they worked at. One of the components that we were supposed to use for the experiment was bad. They immediately knew what the problem was. While I was frantically looking through the provided lab notes and the book (for the class) trying to figure out how they would even know that. That information was not there. They were kind enough to explain. Similar situation an offhand comment by someone later on made it clear that when I graduated I would have no idea how to make an electrical board that would actually work in the real world. None of the classes available taught specific knowledge about the extras that were needed for that. I am rather certain though that I will never ever need to rely on my knowledge of proving why the speed of light actually is the speed of light though. I did learn that. Far as I am concerned someone who graduates from university/college who has not worked a real job programming does not know how to write code. That is why internship type positions exist.

                          C 1 Reply Last reply
                          0
                          • J jeron1

                            Since there is no context, many projects here are done by a single person, so all of the code would be an answer, for here.

                            "the debugger doesn't tell me anything because this code compiles just fine" - random QA comment "Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst "I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle

                            C Offline
                            C Offline
                            Calin Negru
                            wrote on last edited by
                            #28

                            “all” is too broad, lines of code or pages is what I had in mind

                            1 Reply Last reply
                            0
                            • L Lost User

                              Unless you're prepared to spend time "reverse engineering" and creating "structure charts", you'll never have the big picture and will create more bugs as you try and fix exisitng ones; or make enhancements. How big is big? There are departments and enterprises. A few days to a few months to "figure it all out". As a "project manager / lead" and "single person", you get to do it, and "own" it all.

                              "Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I

                              C Offline
                              C Offline
                              Calin Negru
                              wrote on last edited by
                              #29

                              Thanks for advice Gerry

                              1 Reply Last reply
                              0
                              • C Calin Negru

                                I’m curios how much can a single person do? How much time does it take to become accustomed to the codebase you’re employer? If you’re willing to talk about this, I’m curious about this too, how does the division of work take place in the software engineering field, what does a senior do and what would a junior do.

                                C Offline
                                C Offline
                                Chris Maunder
                                wrote on last edited by
                                #30

                                > How much code can a coder be assigned to be in charge with As much as they can handle and then some. The only real answer is "it depends", but I don't think you can ever say a developer can only be in charge of X amount of code. The dev should be in charge of all the code that their job requires them to be, which is based on business case / security / level of responsibility. If there's simply too much then the load needs to be shared based on who else the business can afford to hire. And in some cases devs are simply in charge of everything, and in charge of too much. That's just life.

                                cheers Chris Maunder

                                1 Reply Last reply
                                0
                                • J jschell

                                  Calin Negru wrote:

                                  They teach you these algorithms in computer science school hence a graduate/junior has an approximate idea what to expect.

                                  Not in my experience. Not for any degree. I remember being with a group in a electrical science lab in school with two older guys that had been working as engineers for years. They had to get a degree to get paid more at the company they worked at. One of the components that we were supposed to use for the experiment was bad. They immediately knew what the problem was. While I was frantically looking through the provided lab notes and the book (for the class) trying to figure out how they would even know that. That information was not there. They were kind enough to explain. Similar situation an offhand comment by someone later on made it clear that when I graduated I would have no idea how to make an electrical board that would actually work in the real world. None of the classes available taught specific knowledge about the extras that were needed for that. I am rather certain though that I will never ever need to rely on my knowledge of proving why the speed of light actually is the speed of light though. I did learn that. Far as I am concerned someone who graduates from university/college who has not worked a real job programming does not know how to write code. That is why internship type positions exist.

                                  C Offline
                                  C Offline
                                  Calin Negru
                                  wrote on last edited by
                                  #31

                                  >Not for any degree You’re getting a crash course into it on your first programmer job then

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups