I think my career path is in need of a strategic overhaul. The main lesson learned from my latest job search was that the jobs I liked better but was unable to interview for successfully required a very focused skill set in one area while my skills were more diverse without a solid background in any single domain. The biggest reason for that was that I had spend 5 years with the same employer, starting early 2000s, in order to get a green card and they sent me to two relatively unappealing gigs after luring me into the first one, which I did see as a stepping stone and a resume builder. However, I was bound to them after that and couldn't pursue my happiness freely due to immigration constraints.
So currently, the way I would like to grow is to focus on a speciality which will afford me the level of fungibility and portability between different employers and/or clients at a similar degree that plumbers and elecricians have in the field of construction. Some jobs I was in 1-2 years each were "jack of all trades", full stack developer where I had to gain a significant business domain expertise. I want to avoid that in the future by not spending time on situation-specific expertise (e.g. particular work setting specificalities) but focus on being a master of the trade that can be very easily transplanted from one job to the next with a minimal amount of selling myself.
I will also add that I am admittedly a terrible interviewer and I am almost exclusively successful if I am afforded to do coding exercises or to show directly things I have done. I am an INTP type and I am just not very skilled at human interaction. Conversely, I can do anything technical, not just software dev but I have built an entire house alone and taken cars apart and put them together. But I cannot sell anything because I am clueless at human interaction. That has made it very, very difficult for me to interview and convince the interviewer that I can do the job even for jobs that are way below my skill level. Therefore, I am looking to switch into a very specialized, standardized career which sells itself and does not require much communication (my written communication is FAR better than verbal, I am very clumsy at spontaneous interaction).
So even though I have been a developer all my life, I am noticing that every new job is more difficult to interview for due to a lack of specialty. I would not mind switching to be a UNIX admin or DBA if a career like that would afford me easy transplanting between clients. I typically don't have trouble keeping a job but I would feel more comfortable if I knew there are five other places where I could work just in case. I have also considered becoming a licensed electrician (in my area make as much $$ as software developers) but the wage is very low during apprenticeship.
Most of what I have been doing is Java with different frameworks and data intensive applications. However, unlike perhaps 10 years ago, enterprise Java is now so diverse that it is impossible to cover it all and I flunk interviews because they ask framework-specific questions.
So, I could isolate two distinct questions out of the above intro:
How do I pick a direction of a very easily portable IT career but also be able to build on top of what I have already and consider my limitations stated above? Are UNIX admin or DBA good choices and are there better ones that perhaps leverage my background in developmemt? I am not opposed to acquiring certifications.
How do I overcome my interhuman handicaps in communication and convince an interviewer to hire me into a job that focuses on a specialty which I don't have already (one of the greatest mysteries for me so far)? I am noticing a trend whereby the best development jobs go to people who are not necessarily the best technically but are good at human interaction and selling themselves.