Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's hard for those who came into the discipline in the past twenty years to realize just how much things have changed around version control and building.

Joel Spolsky released the "Joel Test" for determining if the software team you were interviewing had good practices in 2000. One of the requirements was that they used version control. Not all that many teams actually did. Especially during the dotcom craze.

Today, passing the Joel Test is table stakes, and it's the rare shop that doesn't. But it took years for that sort of thing to become ubiquitous.

https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...



Do most places pass the Joel Test? He says that if you answer no to two or more of these, "you have serious problems", and I count about seven that I would say no to at my current big-name (and well-reputed) tech company:

4. Do you have a bug database? ["an organized database listing all known bugs in the code"]

No, each team has one or several poorly organized Jira boards that contain some fraction of the known bugs.

5. Do you fix bugs before writing new code?

Lol? Does any major company do this?

6. Do you have an up-to-date schedule?

No, we have weekly sprints and the vaguest idea of when bigger projects will land.

7. Do you have a spec?

I haven't seen a real spec in years.

8. Do programmers have quiet working conditions?

Well, I work from home, but all the fancy offices are open-plan.

10. Do you have testers?

Not for any of the stuff I work on, and I don't know if we have them at all.

11. Do you do hallway usability testing?

Absolutely not.

So that's 5/12. How many companies you know would get 11 or 12?


This reminds me of my first software job, an internship in college in 2012 building an application from scratch to facilitate evaluating teachers. It was basically an app to allow people to create a form for their school’s evaluation criteria and then submit those forms. Sounds super straightforward, right? It was. The catch was our team was 2 CS undergrad, a masters CS student, and a high school student. All with no professional experience. We knew nothing. Well kind of but more on that in a second. Our manager was absolutely non technical. In fact they were the second highest person in the company (fairly small company) and were managing our project and a bunch of other stuff at the company. And somehow with almost 0 oversight we built a functional Django application that the business was able to sell and make money from. My favorite highlights were 1) the codebase was initially shared over FTP (“Hey you’re not editing file X, right? Oh you are? Ah woops I just overwrote all your changes.”) till someone intelligently suggested “Uhhh Git?” 2) the actual best programmer amongst us was the high schooler. They suggested Django, picked the DB, they suggested using Celery to speed up async work, Redis for caching, and yes, “Uhh Git?” In retrospect the only reason we succeeded was because of them. They were like top 5 on the stack overflow Code Golf site IIRC. 3) My interview was basically showing my aforementioned manager who had never coded in his life a project I worked on at school and him being like “Yeah looks good. You’re hired.”

With 10 years of hindsight, I cringe thinking back to all the bad decisions I pushed for and the no-doubt terrible code I wrote. But I also marvel and look back fondly at being given a shot and being in an environment where I could just build something from the ground up and learn everything soup to nuts on the job. God bless whoever inherited that codebase.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: