You have experience working with data but when you read job postings they all seem to want things you've never used or barely even heard of.
You've manipulated, organized, and mined various good sized data sets. You've even interpreted that data for use by others. Yet, while you feel like you have plenty of experience handling and using data, you do seem to lack a lot of the specific technical skills that a lot of job postings are asking for (<insert 20 different packages/languages/programs you've barely heard of>).
You don't need to know everything - just things the things that the jobs you want, want you to know
Rather than trying to figure out the 'it' package or language your time is much better spent learning the things that the jobs you want would like for you to know. For starters, all data science jobs will want you to know the fundamentals of the methods used in data science so a) brush up on your applied stats, b) get deeply familiar with a data science programming language (R or Python are the most recommended), and c) learn the basics of machine learning, and be able to point to a meaningful project you've done using the basics. Those are the table stakes - the entry fee to be a data scientist.
Specifically regarding the 20 different packages/languages/programs you've barely head of - rather than trying to learn them all do a survey of all of the jobs postings that appeal to you. Then figure out what packages/languages/programs are mentioned the most across the data set of job postings you collected. If you are indeed interested in in obtaining one of these jobs, then choose the top two or three most frequently appearing packages/languages/programs that you do not currently know and start learning it.
By doing this you will be more focused in your preparation for getting a data science job. This helps you spend time on the right things that matter and spend less time on things that don't matter.
An example of how to apply this to your job search
In a recent forum posting the following question was asked: "Should I learn F# vs other languages?...Is F# a language data folks should be looking at"
If original poster is interested in programming languages, then by all means they should learn F#. However, if the original poster is looking for a data science job and is asking the question through the lense of the job search, then the answer should be - it depends on how many of the jobs you want to apply to are asking for F# experience.
If none of the jobs are asking for F# experience and are instead asking for NLTK (Python's Natural Language Toolkit library), then the person's time would be better spent doing a project using NLTK rather than F#. Especially if the person hasn't used NLTK before.
On the other hand, if most of the job postings the person is looking at require or recommend having used F# before, then any time spent learning and doing a project in F# would be very valuable.
You're time is very precious doing a job search - You don't need to learn everything - just things the things that the jobs you want, want you to know
When you see job postings are asking for <insert 20 different packages/languages/programs you've barely heard of>, don't despair.
Rather than trying to figure out the 'it' package or language your time is much better spent learning the things that the jobs you want would like for you to know. What you should do is survey all of the jobs postings that appeal to you. Then figure out what packages/languages/programs are mentioned the most across the data set of job postings you collected. Finally - pick and chose things to learn from that collection.
Your next action...
Your next action is to first look at three job postings you are interested in and find the commonalities in between the three in the packages/languages/libraries. Then for those that show up, figure out which you don't know. Lastly, choose one to look into this week. This way you'll learn something new that will help you get one step closer to getting the data science job you want.