5

So at work, I was trying to convince a senior programmer to adopt Golang for a new project that would need to handle large amount of throughput as oppose to Django with gunicorn and other optimizations (which is what we usually do).

The response was "we'd have a hard maintaining it, as no one really knows Go and it will be hard to hire people with Go knowledge".

So my question: "in your opinion, is that a good reason?" I have some go experience from other jobs, it seems like a superior solution for this problem.

Comments
  • 13
    Yep. Sounds like a damn good reason to me.
  • 6
    The existence of a good tech is not enough at all. the more important is how many employees master that tech and can handle the lost of the related issues..
    So yes, it is a good reason.
    And you will be convinced when you get stuck on an urgent project without any enough skills
  • 4
    Agree with most of what's being said here. In order to sell cutting over to Go, you're going to need to provide a business case that justifies the value for the organization. There are a number of advantages to cutting over, definitely, it's up to you to justify the cost of retraining, lost productivity, and long term maintenance of the system.

    The best place to start is to ask, "are there significant issues being caused by using Django?" If the answer is yes, produce a matrix showing whether or not Go and Iris fixes them. Then, in your spare time, put together a POC demonstrating those resolutions in action. That's also what I would consider a baseline justification.

    Another way to look at is buying a new car to save money on gas. There are very few cases in which that math works. Same goes for replatforming, even on a Greenfield project if you can't hire new staff.
  • 0
    Can only agree with others, while multiple languages offers the opportunity to reap benefits, every language adds complexity to the solution and that complexity has a cost that is easily overlooked.

    You will not be able to share code, not all devs will be able to help on it.
    Some tooling might not work the same and its another environment to keep track of.
  • 0
    I would say it depends. If you can get two or more people to work with you and learn enough to work on it and they know enough to handle issues (for which you would need a good medior or a senior) then go for it. Maintaining a sub optimal app which causes everything else to slow down (django and python are just not suited for that kind of workload) or fail will be worse than having it in Go but you cant have a project where only one person knows how to do it, or you want to sacrifice all of your vacation time since company literaly needs you? 🙂
  • 0
    Go is easy to learn and easy to find people for but if your team/company is python only and not flexible in it's technology adoption it will put a real burden on the company.
Add Comment