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.

    J Online
    J Online
    jeron1
    wrote on last edited by
    #2

    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 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.

      P Online
      P Online
      PIEBALDconsult
      wrote on last edited by
      #3

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

      D 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
        Jeremy Falcon
        wrote on last edited by
        #4

        Depends on the size of the company and the size of the code base. Also, depends on the experience of the engineer. If it's a small project and a very experienced person, they can usually hit the ground running-ish. As in, that's goal, but there was always quirks in every business the dev needs context for. But, provided that is met then he/she can be off in a couple weeks tops - if their very familiar with the tech being used. If he/she is a senior but they're not familiar with the tech, even a smaller project can take time. If it's a large code base with 40 projects and took 50 years to develop, expecting a senior to master that in a couple weeks is absurd. If all things are perfect but they're stuck in meetings, that takes time. List goes on. A lot of a variables at play.

        Jeremy Falcon

        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.

          honey the codewitchH Online
          honey the codewitchH Online
          honey the codewitch
          wrote on last edited by
          #5

          It really depends. For me I do embedded and I'm used to doing the software on my own. I'm pretty quick based on my observation and that of my clients, but I'd be slower if I wasn't doing embedded or if I had to deal with other people's code. I have external limiting factors on how much work I can take on, but people around here know I can produce at volume. I have a terrible reputation. :laugh:

          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

          C 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
            Maximilien
            wrote on last edited by
            #6

            It's impossible to answer. In general, one or more programmers are in charge of a section of the code (graphics, database, UI, business logic ... ) Depending on the size of the software, a coder can be in charge of more things, Senior will take care of the most complex things, architecture and/or software design; junior will do simpler things; smaller changes, simple new features and learn from that. In my previous job, after 20 years, I knew most of the software except (advanced) 3D graphics and maths stuff. I needed, I could probably go in and fix bugs; the same way, the maths nerds could come in and fix UI bugs. In my current job, we'll be a smaller team, so I will have to take care of a lot more code.

            CI/CD = Continuous Impediment/Continuous Despair

            C 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.

              Greg UtasG Offline
              Greg UtasG Offline
              Greg Utas
              wrote on last edited by
              #7

              The product family on which I worked for much of my career contained over 30M lines of code. Various products were built on a common platform. The language, operating system, code repository, and platform were all proprietary. Products were sometimes combined in "superset" loads for customers (telecom network operators) that operated more than one kind of network. There's no way anyone can understand 30M lines of code, although some of us could look at reasonable subsets of it and figure out what was going on. Code ownership was important. Before code could be merged, it had to be reviewed by a senior designer in the user group that owned that code. Proposed code changes were usually discussed and reviewed in advance so that time wouldn't be wasted on changes that would be rejected when submitted. Besides reviewing merge requests, senior designers provided design consulting for junior designers and were assigned the more difficult features.

              Robust Services Core | Software Techniques for Lemmings | Articles
              The fox knows many things, but the hedgehog knows one big thing.

              <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
              <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

              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.

                A Offline
                A Offline
                Amarnath S
                wrote on last edited by
                #8

                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 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.

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

                  Calin Negru wrote:

                  I’m curios how much can a single person do?

                  Where I work (and I suspect at most other shops) we follow a crawl-walk-run process. Regardless of whether you're a new grad or an experienced developer, the first tasks a new dev gets are crawl tasks (e.g. "change a string in the app").  The purpose of this task is not to confirm that the engineer knows how to change a string, but rather to give them enough time to get familiar with the codebase and the engineering process followed at the company.  A crawl task is a low risk one that doesn't impact the release. Walk tasks are usually bugs where the dev needs to do a fair amount of digging around and will likely require them to ask deeper questions. Run tasks are standard deliverables that assume the developer is able to hit the ground running when they take on these tasks. /ravi

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

                  Sander RosselS 1 Reply Last reply
                  0
                  • RaviBeeR RaviBee

                    Calin Negru wrote:

                    I’m curios how much can a single person do?

                    Where I work (and I suspect at most other shops) we follow a crawl-walk-run process. Regardless of whether you're a new grad or an experienced developer, the first tasks a new dev gets are crawl tasks (e.g. "change a string in the app").  The purpose of this task is not to confirm that the engineer knows how to change a string, but rather to give them enough time to get familiar with the codebase and the engineering process followed at the company.  A crawl task is a low risk one that doesn't impact the release. Walk tasks are usually bugs where the dev needs to do a fair amount of digging around and will likely require them to ask deeper questions. Run tasks are standard deliverables that assume the developer is able to hit the ground running when they take on these tasks. /ravi

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

                    Sander RosselS Offline
                    Sander RosselS Offline
                    Sander Rossel
                    wrote on last edited by
                    #10

                    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 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.

                      Sander RosselS Offline
                      Sander RosselS Offline
                      Sander Rossel
                      wrote on last edited by
                      #11

                      Depends on the programmer, company, codebase, etc. If code is stable and doesn't change very often, you can be responsible for a whole lot of code indeed! :D

                      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

                      1 Reply Last reply
                      0
                      • honey the codewitchH honey the codewitch

                        It really depends. For me I do embedded and I'm used to doing the software on my own. I'm pretty quick based on my observation and that of my clients, but I'd be slower if I wasn't doing embedded or if I had to deal with other people's code. I have external limiting factors on how much work I can take on, but people around here know I can produce at volume. I have a terrible reputation. :laugh:

                        Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

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

                        In a case like yours you probably have to build by yourself everything your program might require, containers, hash maps etc. Third party libraries for projects like yours are probably rare.

                        honey the codewitchH 1 Reply Last reply
                        0
                        • C Calin Negru

                          In a case like yours you probably have to build by yourself everything your program might require, containers, hash maps etc. Third party libraries for projects like yours are probably rare.

                          honey the codewitchH Online
                          honey the codewitchH Online
                          honey the codewitch
                          wrote on last edited by
                          #13

                          Indeed. I have built up an entire ecosystem for embedded over the past several years. It doesn't help that I can't use The STL in C++ because it's often incomplete or non-standard, or otherwise is irresponsible in how it uses the heap. Oh and everything basically needs to be cross platform. I have my own cross platform graphics library that does SVG, PNG, JPG, TrueType, X11 colors, alpha blending, etc. I have my own UI/UX library that builds on it. I have drivers for many different devices that work on several platforms. I have simple hash maps and such as you say. I've produced a lot of code. :laugh:

                          Check out my IoT graphics library here: https://honeythecodewitch.com/gfx And my IoT UI/User Experience library here: https://honeythecodewitch.com/uix

                          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
                            Mike Breeden
                            wrote on last edited by
                            #14

                            And that's a good question. A programmer can handle a fair amount of decently designed code without so much problem. Documentation helps and the first thing/best way to learn a new code base is to work through it, documenting as you go. I've managed to maintain something like 6 large projects, (2 WAN, 3 Intranet, cloud utility) and it wasn't real hard. On the other hand and this is where I got tripped up, there was a report that discussed that one of the hardest/most aggravating things for a developer was having to work with technologies that they didn't have the time (resources) to master. Then you are just outside of your comfort zone all the time. The article was in relation to DevOps. While it isn't hard to maintain a number of large code bases because you are comfortable using the same technology in them all, DevOps means that you are switching technologies, some of which may be unfamiliar, hard to master and ever changing. A heavy load of similar tasks (multiple large code bases, applications) is not so hard to manage. A load of many dissimilar technologies can be crushing. I loved that one CEO didn't want to come out and say that DevOps was hard to maintain. He said there was a bandwidth problem. There are many good developers, but not near as many that can handle the demands of DevOps. I can handle it, a bit uncomfortably if it includes much cloud, but in my long career I have only known a few developers that were comfortable in that storm. What I wonder though is for all his impressive mastery, was Bill (all bow down to Bill) going to be able to keep up with the changing technology.

                            1 Reply Last reply
                            0
                            • M Maximilien

                              It's impossible to answer. In general, one or more programmers are in charge of a section of the code (graphics, database, UI, business logic ... ) Depending on the size of the software, a coder can be in charge of more things, Senior will take care of the most complex things, architecture and/or software design; junior will do simpler things; smaller changes, simple new features and learn from that. In my previous job, after 20 years, I knew most of the software except (advanced) 3D graphics and maths stuff. I needed, I could probably go in and fix bugs; the same way, the maths nerds could come in and fix UI bugs. In my current job, we'll be a smaller team, so I will have to take care of a lot more code.

                              CI/CD = Continuous Impediment/Continuous Despair

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

                              >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 J 2 Replies 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.

                                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
                                          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