4 ms·
This might sound old fashioned, but if you have a whole year I would invest some time in really learning the fundamentals. Even if no sane person would impleme
by randomNumber7 3y ago
This might sound old fashioned, but if you have a whole year I would invest some time in really learning the fundamentals.
Even if no sane person would implement a linked list in C during work, its still important to know how it works. As well as having a basic understanding how a computer works, how assembly roughly looks like and how this correlates to the abstract machine model of C (pointers mostly).
Then get some understanding of object oriented programming in typed languages (e.g. Java, C#). Check out the "gang of 4" design patterns, imo they make a lot of sense (in the rare case you need it). Although in my controversial opinion it is used way to often.
You can go further and think about how this actually works. Like Java classes are actually pointers to heap allocated objects. They python runtime is implemented in C too as far as i know.
You can check out the difference to dynamic languages like python and javascript and think about upsides and downsides.
Try to improve your coding style so it can be easily read by others. E.g. structure your datatypes in a senseful way and use many small functions. Uncle Bobs clean code book can be good for that (although probably controversial).
You could try to make a small project for everything you learn, and in the end select something you like and make a bigger project.
- poisonborz 3y agoAbsolutely this. Anybody can pick up the cool framework of the day and click together some usable cool looking app/website, heck even gpt can do this nowadays. What is harder to grasp is how a language works, how to architecture an app, what to look for security-wise, how something becomes scaleable from the get-go. Talking about such things in an interview will make you look far more experienced than some boilerplate projects. Not to dissuade from them - but then build something for the longer run, something that you need as well, not something to prop up your github repo.