• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

What is it with our industry?

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    What is it with our industry?

    I have taken some time to reflect recently on our industry. I usually use the time between contracts to consolidate knowledge, catch up on technical reading, write articles that are long overdue etc but this time I have had a much narrower focus. Pain. My pain. The pain caused to me by my industry, by its self imposed doctrines of the agile method, or at least their diluted and "perverted to fit JIRA" version of it, of MVP's and and POCs and scant regard for the baby or the bathwater.

    I frame my pain not in the terms of the quality of the output, but rather the pain of getting there. The developer experience is, for me at least, an endless treadmill of hastitly written JIRA tickets with such malodorous vagueries as "etc". The levers of power that were originally deigned to be equally distrubuted among the self organising cross functional team are rested soley in the hands of the self agrandising "PO", Product Owner, who conveniently steps over the terms "Servant Leader" to just become "Leader". Woe betide anyone who asks what is the "definition of ready" for one of these JIRA tickets. No such impertinence is not tolerated. The powers that be have JIRA, the single source of truth, and you have your IDE and github. You type code, the code goes into the pipeline and good things come out. If not, then it is the developer's fault!

    So imagine my stomach churning, gut wrenching surprise when I take the time to read the stack of tomes on the subject of agile development during my most recently arrived bench time, to discover most of it to be well thought out! That the problems with agile development are well known, and the kinks have been ironed out. The problem of the flat backlog should be no more, lest we rely soley on JIRA to structure our project into a blizzard of tickets that entropy into oblivion with every passing second.

    And it is not just the crappy tickets that entropy, the malaise has spread to the industry as a whole, it seems. We seem to have gone fully over to the side of sloppy standards of requirements gathering, system design and documentation. The ability to learn empirically from our mistakes is taken away. The ability to refactor our way to safety stifled in the name of "velocity", or it's poorly understood version of it.

    So far removed from the user base are we developers now that I cannot remember the last time I spoke with, let alone had a meeting with, end users. This vital connection has been severed, and in it's place is the conduit of the PO, whose lack of technical prowess constricts the flow of information to a trickle and yet the status quo must not be questioned.

    This malaise seems to have met the perfect storm of new industry intake, who since they have over 3 years experience in such and such a group of in vogue technologies have the temerity to call themselves "senior" and the job roles that fill the job boards permit this by going along with this definition. This is juxtaposed with the speed and breadth of new technologies, such that anyone with less than say 10 years experience would be mostly working from stack overflow articles and best guesses unless they had the good fortune of spending their formative permie years in such an organisation as permitted them the time and resources (and perhaps training) to master these technologies and become expert to the benefit of the organisation.

    I considered for a long time that I was just getting old and crotchety. A dinosaur that should have extincted myself into the mediocrity of middle management a long time ago. Alas I can't. I do what I do because I am driven by a thirst to learn and master, and a desire to do a good job, the kind that is met with happy(ish) end users. And my most recent contract I walked into a situation that really woke me up and drove home the point. Permit me if you will to sketch out the particulars for your amusement.

    I was hired as a react/node/typescript coder. The interviewer pushed me on topics of Kubernetes, Docker, Networking, Advanced Typescript. I was informed I was "head and shoulders above the rest". High praise indeed. I got the gig. There was no Kubernetes or Docker or Networking or Advanced Typescript required for this role. I was tasked with "Load testing" an application that was due to go live in around 4 weeks. While the developers put the finishing touches to their product, and ironed out the remaining edge cases I set to work. But first I wanted to take a wander through the code base to see if I could glean any immediate hints of where to hit. Which routes were most likely to be hammered, prioritise those. Then suddenly I saw code for Prisma. I froze. Was this api actually connected to a Postges box? You bet your sweet bippy. Suddently I get that sinking feeling. How did they intend to deliver these millions of page hits?

    So I contacted the Technical Lead with some questions. The fresh faced youth was unaware of the limitiations of horizontal scaling that beset all RDBMs'. From his perspective you wrote code, it hung together and all was well. I was fear mongering. OK. So I prepared some load testing and delivered some results. He pooped the bed. Then pestered me day and night on slack on how to deliver this. I liked the guy, and really wanted to help, and did. It went live with some of the fasted written caching software and message queueing goodness I could apply without requiring a rewrite. It scraped though it's load testing and went live. The security was lax, the lack of knowledge of OAuth2 grants and hastily smooshed in typescript libraries such as Passport to try and paper over the cracks did little to remedy this.

    All of this was abstracted away in a haze of JIRA tickets. The tickets move to the right and all is well. The developers are fully utilised, all is well. The entire craft has been distilled into a noxious smelling quart of liquid which is then poured sloppily into a pint pot. The TL;DR; brigade march on with their thumbnail image of the world or 140 character precis.

    Has anyone else experienced this slow burn descent into the depths of sloppyness and shallow knowledge? Why aren't the newspapers filled with news of failed big ticket projects?
    Knock first as I might be balancing my chakras.

    #2
    Do what thou wilt

    Comment


      #3
      Asked GPT-3 to summarise, you are welcome.

      The writer reflects on the pain caused by the industry's self-imposed doctrines of agile development, MVPs, and POCs, and the lack of regard for quality and the developer experience. The writer criticizes the use of JIRA and the concentration of power in the hands of product owners who lack technical expertise. The malaise of sloppy standards of requirements gathering, system design, and documentation has spread throughout the industry, and the ability to learn from mistakes and refactor is stifled in the name of velocity. The disconnection from end-users and the hiring of inexperienced developers who call themselves "senior" exacerbate the problem. The writer shares a personal experience of working on a project with lax security and hastily added features, abstracted away by JIRA tickets, and wonders why failed projects are not reported in the news.
      Last edited by woohoo; 27 February 2023, 09:46.

      Comment


        #4
        Originally posted by suityou01 View Post
        The pain caused to me by my industry
        Still, it’s a fraction of the pain caused to your industry by you.

        Comment


          #5
          From beautiful downtown Burbank:



          How time flies.
          When the fun stops, STOP.

          Comment


            #6
            Kerching!
            Always forgive your enemies; nothing annoys them so much.

            Comment


              #7
              I am rather good at navigating complex, unfamiliar codebases and implementing the requirements of vague Jira tickets whilst being just about conscientious enough to raise concerns based upon my considerable skills and experience.

              It's not pain - it is very easy money and I'll keep taking it until my fingers start bleeding.

              Then I will use the other hand.

              I have worked with developers from other industries who consider themselves experts but are unable to write a line of code without a document the size of a phone book. That may be OK for safety critical work but if you want to target the sectors that pay the big rates then you have to be able to move fast and think on your feet.
              Last edited by TheDude; 27 February 2023, 11:18.

              Comment


                #8
                Originally posted by suityou01 View Post
                I have taken some time to reflect recently on our industry. I usually use the time between contracts to consolidate knowledge, catch up on technical reading, write articles that are long overdue etc but this time I have had a much narrower focus. Pain. My pain. The pain caused to me by my industry, by its self imposed doctrines of the agile method, or at least their diluted and "perverted to fit JIRA" version of it, of MVP's and and POCs and scant regard for the baby or the bathwater.

                I frame my pain not in the terms of the quality of the output, but rather the pain of getting there. The developer experience is, for me at least, an endless treadmill of hastitly written JIRA tickets with such malodorous vagueries as "etc". The levers of power that were originally deigned to be equally distrubuted among the self organising cross functional team are rested soley in the hands of the self agrandising "PO", Product Owner, who conveniently steps over the terms "Servant Leader" to just become "Leader". Woe betide anyone who asks what is the "definition of ready" for one of these JIRA tickets. No such impertinence is not tolerated. The powers that be have JIRA, the single source of truth, and you have your IDE and github. You type code, the code goes into the pipeline and good things come out. If not, then it is the developer's fault!

                So imagine my stomach churning, gut wrenching surprise when I take the time to read the stack of tomes on the subject of agile development during my most recently arrived bench time, to discover most of it to be well thought out! That the problems with agile development are well known, and the kinks have been ironed out. The problem of the flat backlog should be no more, lest we rely soley on JIRA to structure our project into a blizzard of tickets that entropy into oblivion with every passing second.

                And it is not just the crappy tickets that entropy, the malaise has spread to the industry as a whole, it seems. We seem to have gone fully over to the side of sloppy standards of requirements gathering, system design and documentation. The ability to learn empirically from our mistakes is taken away. The ability to refactor our way to safety stifled in the name of "velocity", or it's poorly understood version of it.

                So far removed from the user base are we developers now that I cannot remember the last time I spoke with, let alone had a meeting with, end users. This vital connection has been severed, and in it's place is the conduit of the PO, whose lack of technical prowess constricts the flow of information to a trickle and yet the status quo must not be questioned.

                This malaise seems to have met the perfect storm of new industry intake, who since they have over 3 years experience in such and such a group of in vogue technologies have the temerity to call themselves "senior" and the job roles that fill the job boards permit this by going along with this definition. This is juxtaposed with the speed and breadth of new technologies, such that anyone with less than say 10 years experience would be mostly working from stack overflow articles and best guesses unless they had the good fortune of spending their formative permie years in such an organisation as permitted them the time and resources (and perhaps training) to master these technologies and become expert to the benefit of the organisation.

                I considered for a long time that I was just getting old and crotchety. A dinosaur that should have extincted myself into the mediocrity of middle management a long time ago. Alas I can't. I do what I do because I am driven by a thirst to learn and master, and a desire to do a good job, the kind that is met with happy(ish) end users. And my most recent contract I walked into a situation that really woke me up and drove home the point. Permit me if you will to sketch out the particulars for your amusement.

                I was hired as a react/node/typescript coder. The interviewer pushed me on topics of Kubernetes, Docker, Networking, Advanced Typescript. I was informed I was "head and shoulders above the rest". High praise indeed. I got the gig. There was no Kubernetes or Docker or Networking or Advanced Typescript required for this role. I was tasked with "Load testing" an application that was due to go live in around 4 weeks. While the developers put the finishing touches to their product, and ironed out the remaining edge cases I set to work. But first I wanted to take a wander through the code base to see if I could glean any immediate hints of where to hit. Which routes were most likely to be hammered, prioritise those. Then suddenly I saw code for Prisma. I froze. Was this api actually connected to a Postges box? You bet your sweet bippy. Suddently I get that sinking feeling. How did they intend to deliver these millions of page hits?

                So I contacted the Technical Lead with some questions. The fresh faced youth was unaware of the limitiations of horizontal scaling that beset all RDBMs'. From his perspective you wrote code, it hung together and all was well. I was fear mongering. OK. So I prepared some load testing and delivered some results. He pooped the bed. Then pestered me day and night on slack on how to deliver this. I liked the guy, and really wanted to help, and did. It went live with some of the fasted written caching software and message queueing goodness I could apply without requiring a rewrite. It scraped though it's load testing and went live. The security was lax, the lack of knowledge of OAuth2 grants and hastily smooshed in typescript libraries such as Passport to try and paper over the cracks did little to remedy this.

                All of this was abstracted away in a haze of JIRA tickets. The tickets move to the right and all is well. The developers are fully utilised, all is well. The entire craft has been distilled into a noxious smelling quart of liquid which is then poured sloppily into a pint pot. The TL;DR; brigade march on with their thumbnail image of the world or 140 character precis.

                Has anyone else experienced this slow burn descent into the depths of sloppyness and shallow knowledge? Why aren't the newspapers filled with news of failed big ticket projects?
                Are you sure you are cut out for contracting?

                Comment


                  #9
                  I work in a different industry / ies (O&G / Defence / green energy automation) but see the same tulipe day in, day out, mediocrity, incompetence, lack of knowledge. You should see the crap that went on in my last defence contract, mind boggling levels of tulip, packed up, installed and currently in service. Somehow it holds together, but good luck to anyone using those systems. This is pretty much exclusively large corporations, big names often, absolutely no clue how things should be done, the only thing that matters is announcing that something went live / got installed / got finished or that they use the latest ### tech / agile approach / [other hype], then people just move on to other jobs / jump ship. Hands on experience and doing things right is a skill that is hard to find nowadays, it's much easier to just write requirements or irrelevant documents which are 500+ pages long...

                  Still, this is why we exist isn't it, so I guess we should be glad it's all gone to tulip...

                  Comment


                    #10
                    And any banking project is basically there to keep VPs off the streets and they jump ship to another department / bank should there be a risk of delivering anything.

                    Comment

                    Working...
                    X