Hacker News new | ask | show | jobs
by throwawaythisis 4138 days ago
That's a good point, and I agree that I expressed my criteria poorly.

When I'm saying 'the codebase is terrible', I'm talking about front-end code for a web app that is a convoluted mess of jQuery written by someone who is clearly not used to writing javascript, and quite possibly a bad developer even in the language they are comfortable with.

Even if they're decent at whatever their primary language and 'domain' is, the front-end side of things is such a mess that it noticeably impacts performance and the ability to work on the app well before even the MVP is done.

I've worked with front-end apps (and even websites) that were multi-megabyte monstrosities that loaded multiple versions of jQuery, hacks upon hacks to make things work, and not even the simplest of optimizations (lazy-loading images, 'browser-side' caching, etc).

I've worked with jQuery-only front-end apps that took more than a month to build, did only the most basic of things, and were almost impossible for me as a contractor to work with. I would rewrite the whole thing in either Backbone or some variation on the react/flux approach in, at most, two days, and be able to get the in-house developer up to speed in another one to two days if they were capable and, perhaps more importantly, willing and remotely curious.

In part this has been due to the current speed of development in browser technologies and frameworks/libraries, and in part it's just part of working with in-house developers who have no love for their job or have other things that they prioritize (35+ with kids, understandable!).

Usually this level of horror only presented itself in older, more established companies with 'legacy devs', but I've seen similar issues with (web) startups that hired without knowledge of the domain.

So, to be clear: getting the job done is the priority. I've worked on Backbone projects where I would've loved to use the latest and greatest, but happily worked with stuff that I would consider, in front-end-hacker-news-hipster terms, old-fashioned. And I've come to realize that if you have clever developers with curiosity, you can get a 'front-end app' done that isn't pretty, but works well. But too often, especially in the 'cheaper' startups with little founder-level technical know-how of the domain (front-end), I've seen things go very, very wrong.