Once in a while I get interesting questions from people I mentor. Here's one Q&A.
I am about to fresh graduate. So far my experience with programming is quite diverse. I've worked on different languages/frameworks during my studies. But I can't say that I'm really experienced with a specific language/framework/technology but I think I know enough to be able to learn a specific language or framework fast.
However when searching for jobs I saw how they ask from the applicants to be VERY experienced in a specific field or sometimes they ask for experience in many many different languages and technologies which is looks impossible.
Should I focus on one thing and get very experienced with it or maybe there's something else I should pay attention to?
If you stick to this career long enough, overtime you will develop some specialization whether you want it or not. I think it's good to wilfully pick something to specialize in so you get some sense of control.
Choosing what to specialize in can be a life long pursuit, don't expect to land on the definite answer from the get go. An always reliable sign is where your curiosity lies during free time, the thing that you naturally gravitates to when you are not being asked to.
As you are getting started now, the job market may give you a very confusing message. It'll be less confusing if you understand how these folks think.
When you see a job post demanding someone knows 32 pieces of technologies and impossible array for man-year experience, it means the person writing that is doing a sloppy job trying to recruit someone perfect that don't exist. She might even know what she just wrote, hoping that sprinkling keywords around will attract attention.
Ultimately what they want are people who can solve the specific problems they have. That may or may not be tied to the technologies they have. Good companies are not usually too hung up about the stack they use.
You may approach it by trying to understanding the problem space they are in and what you can offer them as a solution. That where interview questions come in.
When they asked for work experience (which you have close to none), the intentions behind that question are two fold: you're able to solve real problems (technical), and you're capable of working with other humans (communications).
The proof that you have solutions to offer is a function of your past works. Therefore what you've done in your internship and hobby-hacking all make up a showcase of what you're capable of.
The showcase of communication side is about writings. This get disproportionately important in a remote setup. Companies who know what they are doing knows to prioritize this. Those who don't have sinking ships, pay attention to how well they do this.
It's surprisingly not very difficult to gain an edge over competing candidates on this aspect.