back to article HashiCorp runs low on staff, calls a halt to Terraform pull requests

Cloud darling HashiCorp has temporarily pulled up the drawbridge on community-submitted pull requests to its Terraform project, citing low staffing within the Terraform Core team. The warning came at the end of the August and followed the publication by the company of a report warning of overspending in the cloud world. But …

  1. lglethal Silver badge
    Go

    In my experience there are usually 3 reasons why a firm is low on Staff.

    1) The pay is shite. Therefore, the good engineers leave for greener pastures, and they cant attract new staff on those rates.

    2) The company culture/atmosphere are toxic/shite. Once again this leads to an exodus of employees. This tends to lead to high turnover, and means they are stuck hiring youngsters who dont yet know any better. And who eventually will bugger of as well...

    3) An unwillingness to hire anyone who doesnt have the right degree, from the right university and have X years experience in every possible field of IT that's ever existed. i.e. the not hiring what you need, only what you desire problem.

    Too often it is all 3 of the above... Or at least some combination of them...

    So which will we find out it is here?

    1. Anonymous Coward
      Anonymous Coward

      I'd bet on the codebase, Terraform is a large config file parser written in golang.

      It establishes ordering using a DAG then makes backend api calls to create/destroy configured resources e.g. a load balancer, a github repo etc.

      I can't imagine how tedious a code base it must be, especially given the domain and choice of implementation language.

      I put my biases upfront, I'll not work with golang except to the minimal requirement, and I'll quit if it became my full time development language.

      Terraform is fairly slow in operation as it's fairly chatty, so I imagine development is a fairly slow pace..

      YMMV but who cares about the place if the work makes you want to punch yourself in the face.

      1. Anonymous Coward
        Anonymous Coward

        And it would be easier and more fun to maintain in what - Java? Python?

        1. Anonymous Coward
          Anonymous Coward

          I'd take Java or Python, Ruby, maybe not perl, C++ probably not C, Object Pascal, it's slow enough that JS is workable, but not my preference.

          The codebase is boilerplatey and the implementation language is repetitive. I'm not a fan of Golang, I honestly would not be a programmer if that was my introduction to the industry, charmless, pointlessly unproductive language.

          I'd prefer a PHP codebase over golang, and that's something I'd never thought I'd type.

          I'm not a fan, but I use the tooling, and curse the language when I have to work in it.

          Conflating verbosity with clarity, I can think of few things to recommend about it. Less fun than Java, less expressive than basic. It's a tire fire, but feel free, I hear Hashicorp are hiring if you fancy working in the language.

          My experience is limited to K8s and modifying bits of SW written in Golang, I see no need to add this to my development stack, it's just dire. Use a scripting language, call out to C or C++ if needed.

          As time goes on, I need to call out to C or C++ less and less. Why do I need golang again?

          1. AnotherHowie

            The redeeming features for Go seem to be:

            built-in cross-compilation - you can build a mac or windows binary on your linux box with no extra effort

            ease of distribution - a single .exe without any nonsense having to support users trying to understand RVM, virtualenv, PEAR, Maven, etc etc just to get their work done.

            The single static .exe makes them easy for small containers too.

            I guess if you are coming from Python you might think static typing is a benefit too.

            Otherwise, there's an awful lot of busywork.

      2. chuBb.

        Think tedious codebase is any enterprise or automation software, or pretty much anything which ships

        Far more likely a combination of crap pay, AWS hoovering up any cloud engineer daft enough to work for them, rotten manglement of the terraform product team, and not being ansible or what ever the flavour of the month is on medium

        1. Anonymous Coward
          Anonymous Coward

          Manglement and Crap pay I can buy, but Terraform is further ahead in the hype stakes than ansible. Being boring (read reliable) and using python and templating, Ansible is bit too useful and stable to be that popular with the medium crowd.

          1. fairwinds

            Ansible? Really?

            Ya know, I do I like Ansible. I like the fact you don't need a client. I installed the Chef client on a new machine once, and it did the equivalent of "apt install *". Just to get the config mgmt software on there!

            But, in this day and age, do we really need a DSL written in YAML? Really? With developer costs being orders of magnitude greater than compute costs, surely they could have come up with a more robust configuration language, and a proper parser. Sure, yeah, you can write your own modules. But for everything else, you're shoehorning some sort of Turing-complete language into a file format best used for configuration data.

            As for the actual topic (Hashicorp), I'm concerned that the three big tech outfits are hoovering up open source software for their own purposes, and little if anything is being fed back. I give you Elastic's latest move to try and get Bezos away from their cash cow. Also, Docker found it hard to make money while also giving away their software, ending up in Mirantis. I hope Hashicorp isn't suffering from the same pain.

            <insert usual complaint about these companies, worth billions, built almost exclusively on OSS, and who won't even submit a minor patch>

            1. Anonymous Coward
              Anonymous Coward

              Re: Ansible? Really?

              I don't claim yaml is my favourite, but ansible is quite useful for building AMI / KVM images. Modules in python are fairly quick to put together..

              I use packer+ansible+terraform+k8s which is truly a cursed stack.

              k8s has decreed the world is yaml except when it's json, it's not quite a DSL, kustomise stretches that..

              The big tech companies are jumping on open source, which is great, so long as they comply with the license. A richer pool of contributors is all to the good.

              I pay AWS because of IAM, it's the killer feature. I don't care who does the dev work. That's a flaw in Elastic/Dockers model.

              Hashicorp/Terraform have a problem in that they offer nothing but the bare bones of the configuration management problem. All the real value is in the providers which other people maintain and provide opensource.

              Ordering is not that well handled by terraform once the codebase grows to a reasonable size.

              So TF is useful, and does a job, but it's eminently replaceable.

              AWS providing integration with IAM makes a service more attractive than a third party offering exactly the same service *to customers of AWS*.

              AWS seem to do quite well with supporting open source access to their stack, yes they keep their orchestration tooling in house, but otherwise I think they do disclose a fair amount of useful knowledge about operating systems at vast scale, and managing the security consolidations inherent in that practice.

      3. elsergiovolador Silver badge

        YMMV but who cares about the place if the work makes you want to punch yourself in the face.

        Then it's about pay. I wouldn't mind watching the paint dry for days if the pay was worth it.

      4. Plest Silver badge
        Facepalm

        So your post was not so much about Terraform or Hashicorp, more an excuse to spout your complete dislike of Golang and any company liek Hashicorp, that you consider daft enough to use it.

        1. Kevin McMurtrie Silver badge

          Golang could be a valid problem in a highly interconnected codebase with a lot of complex data structures. Imagine all of those AWS fields and Amazon constantly making adjustments to them. Not even Amazon's own CloudFormation handles everything correctly. I do think Java 12, and especially 16, have a significant advantage there. Just stay away from the 3rd party frameworks that lead to complexity and dependency tech debt, like Lombok and Spring factories.

          1. Anonymous Coward
            Anonymous Coward

            This is about terraform core code reviews, which has no code related to aws, gcp, azure, vsphere etc. Those providers are still being reviewed. But terraform core code, the framework that plugs together the providers / plugins is the problem here.

        2. Anonymous Coward
          Anonymous Coward

          Was "I'll put my bias upfront" too subtle for you?

          They struggle to find people to work in a language which is a productivity thief, I think that's related to the language and the domain. You might disagree.

          I do think the business case for using golang is extremely shaky. I'd want to know why you can't use Python/Ruby/Java ?

          If performance is your answer, fantastic, show me your use case where performance is dominated by your workload, and golang is acceptable.

          I notice the abuse aimed at the users of the language originated in your post, I simply find it a poor quality effort with little abilty to produce correct concise code.

          It's ideal if you have 10,000 worker ants, but for small teams - 1 - 5 people, use a scripting language for the job.

          1. elsergiovolador Silver badge

            Golang is not only the performance but also stability. I know of services that have 3y+ uptime and pull terabytes of traffic without breaking a sweat (I mean without leaking memory). You basically set it and forget about it.

  2. Gene Cash Silver badge

    Which one is it?

    So we've got LiveCode dying because nobody's working on it... and Terraform dying because too many people are working on it.

    1. Anonymous Coward
      Anonymous Coward

      Re: Which one is it?

      LiveCode isnt dying because no one is working on it, its failing because no one is paying for it and 99% of the open code is written by employees with very little community contribution, as the product is a scripting language which reads like a multi-cultural GCSE maths question

      "If Nathan has 8 apples, and Billip has 7 pears, how many fingers does stumpy joe have?"

      so apart from parents with C/C++ skills wanting to fix the hobbled mess there kids have to use in place of a useful* language, the user base is incapable of contributing

      *useful in terms of mandatory programming/IT classes aimed at 14-16yold kids so Javascript or Typescript running in a interpreter with all linting turned off, maybe java or c#, deff not whitespace as syntax python, never php.

    2. Doctor Syntax Silver badge

      Re: Which one is it?

      It sounds as if both are companies who adopted OSS as model because it was trendy without working out in advance that it wasn't going to fit their needs.

  3. Robert Grant

    > Terraform is a neat infrastructure as code tool and supports AWS, Azure, Google Cloud Platform and Oracle Cloud Infrastructure among others.

    To me it's a lot more than neat; without it, you have to lock into one of your cloud vendors much more. It really helps when you're creating cross-supplier infrastructure (e.g. I'm making an app on AWS but I want to tie it with a Google app to enable Sign in with Google), as well as just meaning you don't have to use the eye-gouging Azure ARM templates.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like