Live data from Hacker News

Ask HN: How do I get out of my unhappy coding job?

news.ycombinator.com

61–64 of 64 posts

Re: Ask HN: How do I get out of my unhappy coding job?

#61
post #55
post #27

Earlier quoted context omitted.

I certainly believe that the kind of stuff you learn on a CS degree is incredibly important, esp. algorithms, hardware architecture, etc. I agree with you that I think the academic approach wouldn't be as efficient as taking a more practical approach to what I need to know.

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college. I'd probably rate analysis of algorithms as the most useful, but it is very simple stuff: it's just expressing the time or space used by an algorithm as a formula, a function of the input size, but discarding a…

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college

Any chance you could give a list of that surprisingly smalll amount of practically useful stuff?

Re: Ask HN: How do I get out of my unhappy coding job?

#62
post #55

Earlier quoted context omitted.

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college. I'd probably rate analysis of algorithms as the most useful, but it is very simple stuff: it's just expressing the time or space used by an algorithm as a formula, a function of the input size, but discarding a…

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college Any chance you could give a list of that surprisingly smalll amount of practically useful stuff?

The problem with that list is that it is going to be different for each person who got a CS degree.

Re: Ask HN: How do I get out of my unhappy coding job?

#63
post #55

Earlier quoted context omitted.

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college. I'd probably rate analysis of algorithms as the most useful, but it is very simple stuff: it's just expressing the time or space used by an algorithm as a formula, a function of the input size, but discarding a…

Having said what I did in a brother post to yours, on the other hand I'd say that the amount of practically useful stuff in a CS degree is surprisingly small, and I learned most of it before I went to college Any chance you could give a list of that surprisingly smalll amount of practically useful stuff?

I tried to: analysis of algorithms, perhaps data structures. Analysis of algorithms is the crucial one; if someone writes O(n^2) code when they could be writing O(n), and the constant factor is negligible, and they're unaware of these things, then IMO they have no business writing code that other programmers will use. They might be able to solve their own problems for their own data sizes, but they shouldn't infect the wider world with solutions that break under stress.

For data structures, it's more important to have a taxonomy, and a rough general knowledge of the kinds of data structures that are available, so that you know what's required and when, and have enough confidence to implement any given data structure as needed.

It's also nice to have the time and opportunity to look at different levels of various stacks, such as the network stack (the analog wire signals, how binary signals can be encoded on them, ethernet, IP, TCP and UDP etc.); and things like OS caching, process scheduling, etc. But where you're looking to put those kinds of things into practice, it's not difficult to take a day or two out of your time and read up on them - it doesn't take long to scratch deeper than an undergraduate course covers (IMO).

Depending on what area you target, other things can also be useful. Re compilers and languages, I'd be wary of taking the academic stance too seriously. Classic texts like the Dragon book overemphasize the analysis of finite state machines and pushdown automata, DFAs and NFAs, and the details of grammars and parsing, LL vs LALR, and generally all the data you need if you want to rewrite lex or yacc. But really, parsing is a very small part of writing a compiler and is actually quite easy, unless you're trying to parse C++ or something. And a more modern trend is to overemphasize type systems and their analogies to proof systems; I'd also steer fairly clear of these guys, as they are (IMO) primarily interested in churning out PhDs by creating new mathematical abstractions that have very little practical application.

When downplaying the practical value of much of a CS degree, however, I'm assuming that you already have pretty decent coding chops. For example, I would expect that you wouldn't be intimidated by programming competition problems, for example see some of the problems in the PDFs from this page:

http://acmicpc-live-archive.uva.es/nuevoportal/

The harder problems rely on a relatively small amount of base knowledge, but you have to be pretty comfortable with recursion, generating combinations and permutations, dynamic programming, and often a little computational geometry. The easy ones are more like warmup in how to read and follow instructions.

Re: Ask HN: How do I get out of my unhappy coding job?

#64
post #32
post #7

Earlier quoted context omitted.

yes, I want to switch from internal to a software company. I definitely feel like open source is really critical; I don't feel like I'm working in an environment where code quality matters to anybody, the only way I'm going to get to work on a decent code base with people who care (and will improve me) before moving job is by working on open source.

I also suggest to just apply to more companies, for example try 10 at first and see what they told you. C# is pretty much in demand, so it should not be a problem to get a junior programmer job. But maybe don't be too romantic about a job in software company...you could very well find that it also isn't a ideal job...you will perhaps fight with bureaucracy, being forced to do dull work, etc. etc. So before quiting yo…

I agree, but I don't think I am being romantic - I do realise jobs always have those boring, etc. elements, it's a matter of whether overall you are happy with it.

And I certainly don't accept the contention that there aren't jobs programmers can be really happy in (as some contend, not saying you are necessarily), I think that's lazy thinking...

In any case I certainly don't think it's something fundamental as it's not the work itself that bothers me so much, but rather the pain of working in a negative situation.

Post reply on HN