4 ms·
My number one tip for this strategy is: good generalists need deep knowledge of the fundamentals which apply to their general field. If you know the fundamenta
by FartyMcFarter 6y ago
My number one tip for this strategy is: good generalists need deep knowledge of the fundamentals which apply to their general field.
If you know the fundamentals and the theory of programming/CS well enough, you can contribute to almost all kinds of programming projects (given some time to acclimate). Some examples of what I mean by fundamentals:
- data structures;
- computer architecture (no need to design your own hardware, but you should know how all the components interact);
- basics of complexity theory;
- at least one scripting language.
- knowing how to write low-level programs in at least two operating systems. For example, write a simple HTTP proxy in C by using just the C standard library and BSD sockets. If you don't want to use C, use another compiled language but avoid any fancy libraries for this kind of exercise.
If you're good at all of the above you'll never run out of companies that want to hire you. You won't know everything, but you'll be able to learn most things quickly enough.
- jjav 6y agoI agree with all the above, except: > If you're good at all of the above you'll never run out of companies that want to hire you. If you're good at all the above, you'll be hit with whiteboard monkeydance and the interviewer will walk away convinced you don't know how to write an if statement.