26
AleCx04
56d

I was reading the post made by another ranter in which he was basically asked to lower the complexity of an automation script he wrote in place of something everyone else could understand. Another dev commented that more than likely it had to do with the company being worried that ranter_1 would leave and there would be no one capable of maintaining the code.

I understood this completely from both perspectives. It makes me worry how real this sometimes is. We don't get to implement X tech stack because people are worried that no one would be able to maintain Y project in the event of someone leaving. But fuck man, sometimes one wants to expand more and do things differently.

At work I came to find out that the main reason why the entirety of our stack is built in PHP is because the first dev hired into the web tech department(which is only about 12 years old in my institution) only knew PHP. The other part that deals with Java is due to some extensions to some third party applications that we have, Java knowledge (more specifically Spring and Grails) is used for those, the rest is mostly PHP. And while I LOVE PHP and don't really have anything against the language I really wonder what would it be of the institution had we've had a developer with a more....esoteric taste. Clojure, Elixir, Haskell, F# and many others. These are languages and tech stacks that bring such a forward way of thinking into the way we build things.

On the other hand, I understand if the talent pool for each of these stacks is somewhat hard to come up with, but if we don't push for certain items then they will never grow.

The other week I got scolded by the lead dev from the web tech department for using Clojure to create the demo of an application. He said that the project will most likely fall into his hands and he does not know the stack. I calmly mentioned that I would gladly take care of it if given the opportunity as well as to explain to him how the code works and provide training to everyone for it :D I also (in all of my greatness) built the same program for him in PHP. Now, I outrank him :P so the scold bounced out of the window, plus he is a friend, but the fact remains that we reached the situation in which the performance as well as the benefits of one stack were shadowed by the fact that it holds a more esoteric place in the development community.

In the end I am happy to provide the PHP codebase to him. The head of the department + my boss were already impressed with the fact that I was able to build the product in a small amount of time using a potent tech stack, they know where my abilities are and what I can do. That to me was all that matters, even if the project gets shelved, the fact that I was able to use it at work for something means a lot to me.

That and I got permission to use it for the things that will happen with my new department + the collective interest of everyone in paying me to give support even if I ever leave the institution.

Win.

Comments
  • 4
    btw, the other devs that inspired this rant were @granola @Fast-Nop @devTea and @C0D4
  • 4
    @AleCx04 yes some people feel comfortable in their safe space and refuse to improve, I wouldn’t mind if it’s a legacy project, but the face they still use a monolitic and vague codebase for new project is triggering me.. a lot. They repeat the same mistake in old project, with the reason “But hey it worked before”, fuck these people
  • 7
    If one does not improve, one stays where they are.
    Granted if the code base is a shit pile then sure we have to make sacrifices. But as per the original rant, making something "dumber" in fear of someone else not being able to maintain it is crazy talk.

    The things I have to deal with are sometimes out of my league, but I still have to deliver.
  • 2
    are you like a code machine?
  • 2
    This nigga be like "yea haskell and f# are esoteric languages" ctfu
  • 2
    You could always argue that this was just a prototype and would therefore not be handed over to anyone.
  • 4
    I don't really agree with using a tech stack just because a current dev knows it. I think the tech stack should fit the job and any devs that work on it learn it.

    I mean, one you have solid programming skills, it's not too hard picking up new languages. Just did this with C# recently and didn't have problem doing multithreading or recursion, or any problems writing in it, took a few days to get used to, but outside of possibly a functional language, I don't see having an issue picking up any stack within a few weeks at most and be pretty well good at it.

    Also, I haven't run into a script in any language I couldn't follow. I mean some I had to really investigate, but always could figure out what it did in any language and modify it accordingly.

    Core programming concepts are language/stack agnostic.
  • 3
    @hash-table once you understand how you should think in a functional way, imperative languages will stop making sense
  • 3
    You gotta ask yourself exactly ONE question: does the cost for getting all other devs on board the new fashionable stack actually PAY OFF?

    And no, "but but but it's so suuuuuper cool" is not the answer. A company doesn't have the purpose of being cool, but to make money.
  • 2
    @hash-table you see, the thing is I did have good reason to go with a JVM implementation of this project other than me being cute. A powerful concurrent process required ans PHP did not fit the bill.

    I agree though in that it is best tool for the job. The only thing here is that someone only knows one tool
    What is everyone else to do? Stick to just one implementation because someone else might not know it?
  • 2
    @AleCx04

    I agree something can be built much faster if the dev is very familiar with the language. I guess really it comes down to a multitude of things that would decide tech stack. If I needed to implement something as quickly as possible it would be PHP and a monolith with nginx and MySQL. If I had time, I would consider the best tool for the job and learn as i build.
  • 1
    @devTea that is what i deal with on the daily
  • 1
    @ganjaman :P i was referring more to esoteric taste in language :P
  • 1
    @deviloper or a code hipster :P
  • 2
    @hash-table that's pretty true, but "coding language" it's just part of the story. I can write a for loop in any language, but "technology stack" in my mind refers usually to something more complex.

    A classic 3 layer MVC web applications in java is not the same as an Angular+API backend application deployed on AWS cloud. Even if core language concepts apply...
Your Job Suck?
Get a Better Job
Add Comment