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. Developing software today ... 15% dev, 85% this and that

Developing software today ... 15% dev, 85% this and that

Scheduled Pinned Locked Moved The Lounge
testingsalesbeta-testingregexquestion
22 Posts 15 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.
  • 0 0x01AA

    Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

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

    The last project I worked on they tried that. But they soon abandoned the idea when they realised how much time was being wasted.

    1 Reply Last reply
    0
    • 0 0x01AA

      Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

      G Offline
      G Offline
      GuyThiebaut
      wrote on last edited by
      #13

      85% reading code and debugging to understand how the system works and how I should implement new changes so as to avoid breaking anything. 14% in meetings, admin, training, communications, reading documentation or articles related to what I am working on. 1% writing actual code.

      “That which can be asserted without evidence, can be dismissed without evidence.”

      ― Christopher Hitchens

      1 Reply Last reply
      0
      • 0 0x01AA

        Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

        M Offline
        M Offline
        Mateusz Jakub
        wrote on last edited by
        #14

        Sounds like greenfield project and junior team. Dependency injection is like air for me, we don't have to discuss anything it is just there and we just use it. Maybe if some junior joins we have to explain stuff but for any mid/senior we just don't talk. Same with patterns we don't build framework so we don't deal with god know what level of abstractions so we mostly build features. On the other hand there are discussions on interface as everyone feels like they should have an opinion if button should be more to the right or more to the left - but backend is solved problem for me at this point for a web application in .NET/C#.

        1 Reply Last reply
        0
        • M Maximilien

          IMO especially for new projects. 80% deciding what "technology of the day" to use 15% reverting back to trusted but boring technology. 5% coding.

          CI/CD = Continuous Impediment/Continuous Despair

          M Offline
          M Offline
          MikeCO10
          wrote on last edited by
          #15

          Definitely an upvote for this reply :) On new projects, we're often like crows looking for food. Wait! Check this out, a new shiny object! Hours later, hmm, it doesn't do anything or do it better. :-D

          1 Reply Last reply
          0
          • 0 0x01AA

            Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

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

            I'm proud to say it's probably about 99% coding in my company :D Not for me of course, but I'm sales, marketing, HR, finance... :sigh:

            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
            • 0 0x01AA

              Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

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

              "Keep in mind, I'm an older version," At least in the far past problems that were solved by computers were significantly less complex. "85% discussions/meetings about" Can't speak to your current work situation but certainly I see value is making sure requirements (whatever form they take) are fully specified and understood. Then designs follow from that. The more complexity then the more important that becomes. Neither of those involve throwing code. I certainly would not want to use a bridge where they started throwing steel/concrete on day one of the contract being signed. "Code review and refactoring ... and testing the 'whole sh*t' again" Yes code review is important. Some examples. - A senior developer that could not seem to grasp how distributed applications worked with databases and was trying to use thread locks to control something that could only be handled by a database transaction. This happened multiple times. - Multiple different senior developers that wrote C# linq expressions to span/iterate through the entire hash table to do a key look up. - Senior developer that rewrote a simple switch/case factor pattern (incorrectly) to avoid a static code check which resulted in a production exception. Testing of course is important when code changes. "15% Implementing the customer's request" There is of course no guarantee that implementing processes will be done even close to correct. Not to mention other factors such as the following. - Personality problems. - Despite claims that every single company has above average programmers actual probability insures that there will in fact be below average programmers. - Management blame gaming which makes employees hyper-sensitive to touching anything. - Management blame gaming which makes employees hyper-sensitive to incomplete requirements. I worked with a Director recently that seemed to think that every problem could/would be solved by throwing more threads at the problem. Despite him have no actual technical experience with the product. So of course that meant threads got added.

              C 1 Reply Last reply
              0
              • 0 0x01AA

                Keep in mind, I'm an older version, maybe I'm completely wrong ;) For me it looks these days 85% of the time we have for development goes into A.) 85% discussions/meetings about - Which pattern here and there - Dependency Injection here and there for loose coupling - Code review and refactoring ... and testing the 'whole shit' again - [Edit]Learning/recognize this and that syntactic suggar [/Edit] - .... B.) 15% Implementing the customer's request Don't get me wrong: All these Patterns and technics (DI, test driven dev, etc.) are pretty ok. But the religion around it takes too much of the resources :( Others who feel the same?

                S Offline
                S Offline
                Steve Naidamast
                wrote on last edited by
                #18

                "Patterns" have always been considered solutions looking for problems. Just because one uses them will not ensure that the coding will be any more efficient than quality coding by one who doesn't use them. The idea of the use of "patterns" became ever more encouraged with the advent of the Microsoft introduction of the ASP.NET MVC paradigm in 2010. It was BS then and it is still BS today...

                Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                C 1 Reply Last reply
                0
                • A Amarnath S

                  In the Coding part of development :- - 85 to 90 percent - code from Google/Bing search (includes ChatGPT) - 10 to 15 percent - original code

                  C Offline
                  C Offline
                  charlieg
                  wrote on last edited by
                  #19

                  you are evil. Correct but evil :)

                  Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                  1 Reply Last reply
                  0
                  • J jschell

                    "Keep in mind, I'm an older version," At least in the far past problems that were solved by computers were significantly less complex. "85% discussions/meetings about" Can't speak to your current work situation but certainly I see value is making sure requirements (whatever form they take) are fully specified and understood. Then designs follow from that. The more complexity then the more important that becomes. Neither of those involve throwing code. I certainly would not want to use a bridge where they started throwing steel/concrete on day one of the contract being signed. "Code review and refactoring ... and testing the 'whole sh*t' again" Yes code review is important. Some examples. - A senior developer that could not seem to grasp how distributed applications worked with databases and was trying to use thread locks to control something that could only be handled by a database transaction. This happened multiple times. - Multiple different senior developers that wrote C# linq expressions to span/iterate through the entire hash table to do a key look up. - Senior developer that rewrote a simple switch/case factor pattern (incorrectly) to avoid a static code check which resulted in a production exception. Testing of course is important when code changes. "15% Implementing the customer's request" There is of course no guarantee that implementing processes will be done even close to correct. Not to mention other factors such as the following. - Personality problems. - Despite claims that every single company has above average programmers actual probability insures that there will in fact be below average programmers. - Management blame gaming which makes employees hyper-sensitive to touching anything. - Management blame gaming which makes employees hyper-sensitive to incomplete requirements. I worked with a Director recently that seemed to think that every problem could/would be solved by throwing more threads at the problem. Despite him have no actual technical experience with the product. So of course that meant threads got added.

                    C Offline
                    C Offline
                    charlieg
                    wrote on last edited by
                    #20

                    "At least in the far past problems that were solved by computers were significantly less complex." Seriously? I'm looking at the Space Program, etc. You'd be amazed what was done in electronic warfare with Z8 processors. I'm interested in you elaborating a bit on this. I agree that we're doing some cutting edge stuff with gene analysis, etc., but I don't see the problem space getting more complicated. Honest question. "but certainly I see value in making sure requirements (whatever form they take) are fully specified and understood. Then designs follow from that." Curious if you ever read the Extreme Programming book - the original? I took a few nuggets from it as a development manager. The biggest one was that the customer really has no idea specifically what they want when it comes to a software system or application. They view it as solving a problem. I believe solving the problem is where the requirements should be. Defining requirements into the minutia will simply kill the project before making any progress. Let smart people make smart decisions. I'm seeing this now at the company a consult with. They are so focused on making sure the requirements are in place that if the developers were to wait for them, the project would never be delivered on their magic schedule. Mind you, marketing wants something by the end of the year, the requirements are not complete, and we're already writing code. :) The other thing I pulled from this book is unit tests. If a team can build a test suite that gives them test confidence in the code base, much freedom will occur. In one case in my 40+ years of engineering, mainly in embedded systems and what not, have I seen a good regression test. It took hardware to validate the product under test, but if we made changes to very complex areas, we threw it against the test system. As far as HMI stuff, I've never seen it done. "I certainly would not want to use a bridge where they started throwing steel/concrete on day one of the contract being signed." This is where patterns come into play. We build bridges all the time. We do the same thing in other areas. Everyone knows what a bridge is supposed to do. You already have your high level requirements :). What is the span of the bridge? How much load must it carry, etc. These are well understood. In software, just about every project is new and fancy. In my world, we're developing a product that performs the same basic function as the previous 3 products over the past 30 years. The concept

                    J 1 Reply Last reply
                    0
                    • S Steve Naidamast

                      "Patterns" have always been considered solutions looking for problems. Just because one uses them will not ensure that the coding will be any more efficient than quality coding by one who doesn't use them. The idea of the use of "patterns" became ever more encouraged with the advent of the Microsoft introduction of the ASP.NET MVC paradigm in 2010. It was BS then and it is still BS today...

                      Steve Naidamast Sr. Software Engineer Black Falcon Software, Inc. blackfalconsoftware@outlook.com

                      C Offline
                      C Offline
                      charlieg
                      wrote on last edited by
                      #21

                      sort of disagree. I think Patterns failed because it was applied at too low a level. It should have been left at the systems requirement level. that said, many system processes should be standardized. Logging, diagnostics, response to h/w failures, etc. This requires good management from empowered system engineers.

                      Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

                      1 Reply Last reply
                      0
                      • C charlieg

                        "At least in the far past problems that were solved by computers were significantly less complex." Seriously? I'm looking at the Space Program, etc. You'd be amazed what was done in electronic warfare with Z8 processors. I'm interested in you elaborating a bit on this. I agree that we're doing some cutting edge stuff with gene analysis, etc., but I don't see the problem space getting more complicated. Honest question. "but certainly I see value in making sure requirements (whatever form they take) are fully specified and understood. Then designs follow from that." Curious if you ever read the Extreme Programming book - the original? I took a few nuggets from it as a development manager. The biggest one was that the customer really has no idea specifically what they want when it comes to a software system or application. They view it as solving a problem. I believe solving the problem is where the requirements should be. Defining requirements into the minutia will simply kill the project before making any progress. Let smart people make smart decisions. I'm seeing this now at the company a consult with. They are so focused on making sure the requirements are in place that if the developers were to wait for them, the project would never be delivered on their magic schedule. Mind you, marketing wants something by the end of the year, the requirements are not complete, and we're already writing code. :) The other thing I pulled from this book is unit tests. If a team can build a test suite that gives them test confidence in the code base, much freedom will occur. In one case in my 40+ years of engineering, mainly in embedded systems and what not, have I seen a good regression test. It took hardware to validate the product under test, but if we made changes to very complex areas, we threw it against the test system. As far as HMI stuff, I've never seen it done. "I certainly would not want to use a bridge where they started throwing steel/concrete on day one of the contract being signed." This is where patterns come into play. We build bridges all the time. We do the same thing in other areas. Everyone knows what a bridge is supposed to do. You already have your high level requirements :). What is the span of the bridge? How much load must it carry, etc. These are well understood. In software, just about every project is new and fancy. In my world, we're developing a product that performs the same basic function as the previous 3 products over the past 30 years. The concept

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

                        charlieg wrote:

                        but I don't see the problem space getting more complicated. Honest question.

                        And no one has been back to the moon since. Exceptions do not make the rule. In general now on average the scope of applications and services that need to be created are more complex than those that needed to be created long ago.

                        charlieg wrote:

                        Curious if you ever read the Extreme Programming book

                        yes. Along with probably hundreds of other books and decades of magazines. (lets see ... 20 years of one text book a month ... 20 x 12 = 240. Yep hundreds.)

                        charlieg wrote:

                        Let smart people make smart decisions

                        Programmers are not 'smart' people. They are average people. That is how normal distribution curves work. I have seen programmers do very stupid things. Process reduces the likelihood of that making its way to production. Doesn't eliminate it. Might not even be significant. But at least if it is not followed then one can point out the problem.

                        charlieg wrote:

                        40+ years of engineering

                        I also have that much experience. Most of the time working on complex systems, either with the explicit or implicit role of architect in multiple problem domain spaces. That includes start ups with less than 5 people to one company that had 2,000 developers.

                        charlieg wrote:

                        The other thing I pulled from this book is unit tests.

                        Just noting that I built a unit test framework before others existed. But also not sure how this follows on from your original OP.

                        charlieg wrote:

                        In software, just about every project is new and fancy.

                        I agree. But no idea how that relates to your original OP.

                        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