|
|
|
|
|
by choeger
2204 days ago
|
|
Learn the foundations. Linux/Unix shells, C programming, debugging, how linking works, how you can disassmble something, how strace works, networking, etc. The reason here is that all this low level stuff is the literal foundation of whatever abstraction (python, JVM, C#) your company uses. And while it is not directly applicable it will help you a great deal when things do not work. Be not the guy that says "I did everything like it is written in the manual and it it does not work". Be the guy that says, "looks like libfoo.so on my system here is ABI incompatible to the libbbar.so I downloaded. I think we need to recompile libbar.so to make it work, where is the source?" |
|
On the other hand if the work is done on Windows it's much better to learn that platform than pining for something else.
Go with whatever is platform specific, and available out of the box. Avoid complex configuration packages just to get the specific interface flavour to the computational substrate you would prefer to use privately.
The reason is, if there is specific computational platform that the employer is using, you are much more helpfull to all around you if you operate with the vanilla settings rather than try to find something more special.
Privately try to find the best methods that work for you, in public, collaborating, try to find the most simple and straighforward method of contributing. Simple in this case does not mean a kludge, but it may mean a few extra lines of code or configuration here and there.