News for hackers. Stuff that matters.
Re:Ask HN: What sort of side-projects are useful for getting... by nrjdhsbsid on Monday January 23, 2017 @11:48AM (#13463507)
This 100%. When I'm involved in the interview process I make a point to check out all candidates side projects but over 90% of people don't care.

In getting my last job I thought I would have a slam dunk because I have a bunch of cool stuff I work on but nobody cared at all.

I failed multiple on site interviews until I gave in and read a couple CSCI 101 books cover to cover. I had too much specialized knowledge and not enough fizzbuzz. On my second round of interviews I got offers from all three companies because I could regurgitate their stupid toy problems in minutes.

Re:Ask HN: What sort of side-projects are useful for getting... by user5994461 on Monday January 23, 2017 @02:59PM (#13465398)
> I had too much specialized knowledge and not enough fizzbuzz

It's dubious to say that one has a lot of specialized knowledge yet he fails at writing a for loop.

Re:Ask HN: What sort of side-projects are useful for getting... by EpicEng on Monday January 23, 2017 @03:01PM (#13465416)
I suppose it would be if you took what the parent said literally. Not sure why you would though.
Re:Ask HN: What sort of side-projects are useful for getting... by akhilcacharya on Monday January 23, 2017 @12:44PM (#13464025)
> stupid toy problems in minutes.

What sort of toy problems are you talking about?

Re:Ask HN: What sort of side-projects are useful for getting... by logicallee on Monday January 23, 2017 @01:08PM (#13464296)
I'm going to be snarky but I'll say it anyway: you know, stupid stuff like balanced binary trees and shit like that, when nothing's going to fall apart if the user's browser shows a spinning wait animation for 7 seconds (45 seconds at peak times but that happens for just a few hours per week at most) while you iterate through the data sequentially. honestly, who ever needed an algorithm or data structure. /s

(I'm sorry. I thought about using less snark but I can't.)

Re:Ask HN: What sort of side-projects are useful for getting... by bravo3 on Monday January 23, 2017 @03:09PM (#13465497)
I have a different perspective. This is for applied math in general, but translates to algorithms with a little stretch of imagination.

In your daily life, you use tools to do your job. Over time, your tool set has sufficient coverage that it can handle most jobs. However, because of this "good enough" coverage, you may not realize the existence of other tools that may be far superior. I believe "applied math" is one such tool. (Translate to "algorithms".) Its applications are everywhere, including at least 50% of your daily life in my experience. However, you fail to see them because you may not have that tool in your tool belt! This is no different than wearing x-ray glasses - you get to see almost every problem in a different light. Google and others who realize it want to make use of these versatile glasses.

I do not mean to be obtuse but a different perspective may be helpful!

Re:Ask HN: What sort of side-projects are useful for getting... by marcosdumay on Monday January 23, 2017 @02:57PM (#13465382)
You know, besides the other comment about not implementing data structures in a real job¹, why do people insist on memorizing all that trivia about balancing binary trees instead of just using some much simpler self balancing structure like a B-tree²?

1 - I have. But it is overwhelming more likely that you'll just need to know their characteristics than how to implement them.

2 - And get better caching behavior for free.

Re:Ask HN: What sort of side-projects are useful for getting... by gricardo99 on Monday January 23, 2017 @02:23PM (#13465070)
and if you did absolutely have to implement one from scratch, then you probably wouldn't have to spit out an answer on a white board in front of some judging eyes with very limited time and push that into production.
Re:Ask HN: What sort of side-projects are useful for getting... by adrianN on Monday January 23, 2017 @01:59PM (#13464862)
the last time i had to implement a datastructure was in class. on the job i use the standard library. i hope you do the same.
Re:Ask HN: What sort of side-projects are useful for getting... by logicallee on Monday January 23, 2017 @02:24PM (#13465072)
But rolling a standard datastructure (and what's the "standard library" for a red-black tree anyway - in Python, or in Java? - or C++ for that matter) proves that you can do something "tricky" and hopefully get it right. You can understand and reason about what you're doing. If they don't let you Google while doing a "CS" type problem, of course, then they're insane.

When it comes time to do something novel, that understanding will be very useful.

People pooh-pooh Google's hiring interviews, but when was the last time Gmail's search results on your email were as bad as Bing's (I use this example because it's not their general index, I'm asking about your mail.)

There are a lot of good reasons to bone up on CS 101 (and 201, 301, 401, and 501).... I disagree that it's just "studying for the test".

Re:Ask HN: What sort of side-projects are useful for getting... by dragandj on Monday January 23, 2017 @03:03PM (#13465433)
Even then, you'd have to know the characteristics of various data structures to be able to choose the right one.

On top of that, in almost all code beyond CRUD, you'd have to write some custom algorithms - there, the knowledge from data structures and algorithms is really helpful.

Re:Ask HN: What sort of side-projects are useful for getting... by 79d697i6fdif on Monday January 23, 2017 @02:16PM (#13465004)
Anything you could write in less than a half hour.

Lets take fizzbuzz for example. These types of problems almost always require manipulating strings and dumping them to the console in the simplest scenario possible. Usually the main method or equivalent in a console program.

It would be easy as hell except they don't let you use google or an IDE, so you need to memorize the syntax for the main method and string manipulation.

1) In real life you almost never write directly to the console. 2) In real life, you never manipulate strings using sub-string or regex really... In fact the only time I do this a lot is for terrible reasons in bad code. 2) Main method? If your real life app even has one it was written by the first guy 10 years ago and is 3 lines long, just some function that looks like this:

  var app= new BootStrapMainApp();
  app.run();
  logger.log("App crashed if we get here");
Re:Ask HN: What sort of side-projects are useful for getting... by user5994461 on Monday January 23, 2017 @03:08PM (#13465482)
Say that you dont remember the exact arguments for main and move on. It will be fine.

And don't assimilate fizzbuzz with half hour problems. There are for sure some difficult half hour interviews questions; they are not comparable to trivial exercises like printing the numbers from 1 to 10.

P.S. If you never use console, strings or regex. I really wonder what kind of applications you're writing.

Re:Ask HN: What sort of side-projects are useful for getting... by nrjdhsbsid on Monday January 23, 2017 @03:20PM (#13465591)
Mostly web. You always use a logging lib so no console really ever. Strings are used all the time but not substring or splice, 90% of uses for those are anti patterns tbh.

Regex really never. Unless you're munging data in Python it's usually a bad idea to use regex. Clean strings? Use a library. Parsing? Use a parser. Raw regex implies filtering stuff or banning certain characters in strings which breaks all kinds of multi language compatibility

Re:Ask HN: What sort of side-projects are useful for getting... by user5994461 on Monday January 23, 2017 @03:48PM (#13465849)
I use regex all the time for refactoring stuff and transforming data. There is nothing else to achieve that. Also, for log/message filtering at times.

Well, I am obviously the guy who write the tools and the libraries, so you don't have to know these things yourself but I do :D

Re:Ask HN: What sort of side-projects are useful for getting... by nrjdhsbsid on Monday January 23, 2017 @08:20PM (#13468016)
It's not that I don't know them, it's that only idiots roll their own instead of using libraries.

Every time I see a regex cleaning strings I instantly know the app was written by an ametuer and probably horrible and full of security issues. Oh it globally replaces this bad token but not recursively? Great

I use regex for searching logs all the time but never in production apps. I can write some pretty mean regex but I can't remember the function call for string replace off the top of my head. For me regex is 99% in a text editor.

Really when do you split up strings without using a tokenizer or parser of some sort? Manual string manipulation is usually dumb and error prone. The only time I find myself doing it is when stuffing crap into bobs "extras" db field which is actually a bunch of 80 char strings delimited by the pipe character.

Re:Ask HN: What sort of side-projects are useful for getting... by cocktailpeanuts on Monday January 23, 2017 @07:03PM (#13467552)
How long have you been a web programmer?
Re:Ask HN: What sort of side-projects are useful for getting... by mkohlmyr on Wednesday January 25, 2017 @05:03AM (#13480149)
You are a web developer, correct?

How do you parse known data formats from free text strings? (regular expressions, string manipulation) How do you parse a cookie? (string manipulation) How do your apps http requests end up in their respective handlers? (main method socket listener)

If your answer to each of these questions is that you use a library that's cool and all, but just because you didn't have to write it yourself doesn't mean it doesn't exist in "real life". Someone wrote that code for you, and you can call it "bad code" if you want - just know your app is built on it.

Re:Ask HN: What sort of side-projects are useful for getting... by 79d697i6fdif on Friday January 27, 2017 @06:00PM (#13503525)
it's bad code if you're writing it again. Everything you mentioned is something already handled for the developer through the browser/API's. It's like writing your own multithreading instead of using something provided by the OS. 99% of the time it's stupid
Re:Ask HN: What sort of side-projects are useful for getting... by mkohlmyr on Monday January 30, 2017 @08:50AM (#13521099)
If we have reached the point where basic string manipulation is compared to multithreading in terms of complexity or need for abstraction then we have truly dumbed down the software development profession to a very saddening degree.

I simply can't fathom that you believe such basic constructs of software development would be a bad code smell. I really don't know how you get around using them and manage to do anything remotely interesting and novel.

Re:Ask HN: What sort of side-projects are useful for getting... by wheaties on Monday January 23, 2017 @02:39PM (#13465219)
This speaks more to a flawed interview process than it does anything else.
Re:Ask HN: What sort of side-projects are useful for getting... by Arizhel on Monday January 23, 2017 @12:47PM (#13464074)
Do you have any recommendations for the best CSCI 101 books to read?
Re:Ask HN: What sort of side-projects are useful for getting... by sn9 on Monday January 23, 2017 @01:22PM (#13464447)
You'd probably just be fine spending a few hours per week working on a MOOC that covers the fundamentals of algorithms and data structures like the ones on Coursera by Bob Sedgewick.

Other fundamental courses might include ones on Computer Networking or Databases like those offered by Stanford Lagunita.

Just keep a list of MOOCs that start regularly (like once a quarter or twice a year) or the self-paced ones and just rotate through them as review.

Re:Ask HN: What sort of side-projects are useful for getting... by chris11 on Monday January 23, 2017 @01:47PM (#13464726)
I'd recommend Cracking the Coding Interview for studying for interviews.