Hacker News new | ask | show | jobs
by soganess 2106 days ago
I would bet a red cent you are one course on programming languages away from being an amazing developer.

I get classes are for loser. But seriously, If you have to force yourself to take/self study one class for the rest of your life nothing, and I mean _nothin_, will make you a better developer than a proper course on programming languages. These sorts of classes always seem to be wasted on people just learning how to program.

They really should be thought to developer that have been at it for a while. Experience primes one to really put that information to use.

I am not suggesting one of those "flavor of the week" language and move on to the next language survey courses. Find a class where you are forced to:

Write the algebraic laws for your underlying data type and turn them into code

Know the difference between structural and generative recursion

S-expression

Structure vs syntax

HOFs and Currying

Functional vs Imperative

OO through the lens of the Curry-Howard relation

Has you write some parts of a programming language or prove important things about a language

Don't survey. Who care if you "one time kind of wrote some Scala?" Get intimate with the nuts and bolts of language theory and have it guide your choice when you write software.

2 comments

Unfortunately, this will teach you a bunch of cool stuff that you won't ever actually get to use in a real world job.

You'll go for an interview and they ask you about REST APIs or SQL.

Most of your list is pretty irrelevant for the jobs out there in the real world that earn companies money.
I understand your concern, but I guess we are just coming at it from dueling perspectives.

I don't think being a good developer, which I will define as being able to understand and manage the choice / trade offs you are making when you write code, has anything to do with being marketable or being good at a job interview.

The OP is a hobbyist developer that wants to get better at making things. They specifically called out OOP principle as a weak point. I think this will help more than memorizing algos out of CLRS or learning the latest wizbag javascript doodad. I do admit those will likely get them hired more readily.

As an aside, I meet a lot of really great developers that have the worst case of imposter syndrome. They have great intuition, shave off bad affordance, balance growth well with quality and have the basics of code etiquette down pat. Yet the think they are golem SO CP cobblers, not fit to be seen doing this job. Lifting the vail of the language, knowing that there is no special trick some made up 10x can do that you can't, helps with that.