| I work for a large company, global leader with 100k+ employees.
Originally I was hired at the business side to build internal applications. These were grey zone apps as I wasn't part of the IT and dev team and did not follow all the company guidelines. I was free to use whatever I wanted to build apps. One of these makes over £150k annually, another one is has 700+ internal users. My tech stack and process was the following:
-Python-Flask backend
-Object oriented plain vanilla JS frontend with Redux state management (yes, it works without React)
-MySQL db
-Docker
-Good enough documentation to be able to hand it over at any point of time if necessary
-Test cases for critical things
-Deployed everything to an on-premise server with using WinSCP I really enjoyed the whole process as I only had to focus on the actual business problem and very actively worked together with the stake holders. The results: bug free apps that I rarely have to touch; great satisfaction and feedback from both clients and internal users; short product to "market" time. Recently I joined the company's dev team. Mate, it's hell. We have to use React for even an app that has a login page, upload page and report page. The db is Snowflake that makes everything freakin' slow. We have mindlessly have to follow the company guidelines to pass all the "cloud gates" before we can go live. We have to pass Snyk, Sonarqube, use Azure Dev Ops, dev-qa-prod environment, 80% test coverage, less than 3% code duplication (nobody cares if it screws up readability); use Jfrog and god knows what, there are 15 different criteria that we have to pass. The result: extremely sluggish development; slow application; the whole thing can break at 10 times more places; and it does break; the process seems more important than the actual app that we are building; user satisfaction is awful; no time for running experiments or deeply explore the problem. We add such a complexity to so tiny apps that I could build over 1-2 weekends that it suffocates the application itself. I'm looking for the way out, I'm sure there are better places but I'm really thinking about setting up my own company where I could use more common sense. If it's a large app then let's follow a strict process but when it's almost like a toy project then let's keep it simple and only invest in sensible amount of energy. I've seen here the post about John Carmack notes what he accomplished on a single day, I have never got close to that but I was so productive, adding multiple features on a single day and that made me so satisfied. And now it's all about the "gates". |
Common sense doesn't get customers. This at the end of the day is what matters. Not code correctness. Not perfection in the functions. Not how fast the application boots up/loads/executes.
Will anybody pay you for it and ever use it is the selection function that really matters.
These big companies have the users. The big companies also have insane rules (mostly to protect themselves from the massive number of incompetents they've hired). Welcome to the trap of modern software.