I have wasted 3 starting years of my career. Is there any way to start over?
You have not lost any years, you learned many things. Teach Yourself Programming in Ten Years provides a mind-provoking insight. You should also read Bullshit jobs, it is mind provoking and covers quite well software development jobs, since most software projects (more than half of them) are somehow failing.
You have learned how to behave in the workplace, which is valuable on a resume. If you dream (IMHO wrongly) of climbing the management ladder, be aware today of the Peter's principle and the related Dilbert principle.
At last, please realize that software technology is by essence very brittle and doesn't last long. What was a buzzword in 2016 will become old-fashion (or legacy code) in 2022.
What matters much more are programming concepts and software development skills (see Software Heritage for an important insight), and the ability to learn new things, including even new problem domains. All of this lasts for an entire career and all of them are appreciated and valuable in the job market.
As instances of programming concepts, consider non-exhaustively for example: algorithms that you have used in your code, independently of the programming language; computer science concepts - including operating systems and their API such as POSIX or WinAPI or Sockets, protocols such as HTTP or SMTP, DBMS such as PostgreSQL or MongoDB, distributed computing techniques such as MapReduce, asynchronous message passing or remote procedure calls etc. Mention a short list of high-level programming concepts in your resume.
As software development skills, consider the various programming languages you know (C++, Java, SQL, your shell), other more or less computer languages you are familiar with (such as CSS, HTML, PDF, LaTeX, OOXML, DocBook, XML, JSON, DOM etc.), and your familiarity with several software engineering tools (version control tools like Git, build automation tools like
ant, source code editors or IDEs like
emacs or Eclipse) that you practice daily. Write about all of them (in a single paragraph!) in your resume. But emphasize your ability to quickly learn how to use new software engineering tools and learn new computer languages.
For example, I first programmed in 1974 on punched cards, but the programming language used at that time (PL/1), and the OS I did use (MVS with JCL) at that time have been forgotten, and I forgot many details about them. Later, I professionally programmed in C programming language (actually I was mostly metaprogramming in C around 1990), but today C is out of fashion (so I'm also using C++14), and I might learn Rust and I did code, a few years ago, some software in Go.
The dead-end: I spent almost 2 years of my career at this place - learned almost nothing
Wrong perception of yours. You did learn a lot (including stuff I mentioned above), because you have improved some skills, you just are not yet capable of writing all the stuff you did learn on your resume. In simpler words, you just don't know all the things you did learn. And learning is unrelated to any training your company is paying for you. With access to Wikipedia and many other resources on the Internet, (including Stack Overflow), you can (and probably did) learn a lot from your workplace.
There is a Russian saying Век живи - век учись (my late parents repeated that weekly to me when I was a kid): If you live for a century, you have to learn during a century. It applies to both you and me.
3) I will be just bitterly honest here - I am not eligible (skills wise) to get a job with a position expected of a 3 years experience guy.
Read about Impostor syndrome, even at the age of 60, I still tend to feel it. Be however aware that most job offers (written by HR) require an unreasonable amount of skills. Understand that the job market (and corporate life in general) is a theater.
I'll be 60 years old during August 2019, and I have spent all of my career (except one sabbatical year at INRIA) as some Computer Science Research Engineer at CEA since 1985, working in the same organization (of ~16000 people). I essentially had two roles: one at its DEN division, and another at its DRT division. I switched teams only a few times, perhaps 3, in my entire career (e.g. the colleagues I have today are nearly the same as I did have in 1999, and the unit I am working with, called a lab of about 25 permanent staff, keeps the same name).
I have written more than a million lines of code during my career so far. If I consider amongst them what code has actually been used by other people in real life (not just cited in some paper), then honestly I could only name the GCC plugin feature and the less than 10K lines of code I contributed to GCC. During the last 20 years, it honestly is the only piece of code, written by me, that I feel has been useful to others.
And I am not alone. If you start reading papers and books on software project management (start with The Mythical Man-Month, it is a classic of its kind), you'll understand that most software projects generally fail. The typical failure rate of software projects is still around 50% even in 2019.
But I did have a lot of fun writing all the code that I did write during my career, so what else can I expect?
I have been naive enough to understand only very recently that my actual role (not the one mentioned on contracts, of course) is to be the support of corporate tax optimization, (by research tax credit done by corporations).
In other words, you just need to grow up. You learned lot of things in 3 years, and these can go in a valuable resume.
And the most precious thing a software developer learns is not about any particular kind of software technology (such as Java Servlets). It is related to practice, and the relation between your day-to-day job and Computer Science. Just ask yourself honestly: have you understood all the details of Introduction to Algorithms* (or any equivalent book or university course)? Between you and me, I did not. And that is more than thirty years that I am reading such books. My hairs are white, I am grand-father 7 times...
What should I do?
If you want to learn even more things, I can give a very simple recipe: contribute, during your free time (e.g. a few hours every weekend, and perhaps 30 minutes every other working day, during the evening, at home), on any existing free software project (you'll find thousands of them on GitHub & GitLab), but don't choose a huge project (but the one with only a few hundred thousand lines of code, and several dozen of fellow programmers). Use your personal computer for that (not the one belonging to your employer). Mention that in your resume.
Perhaps, even take time to learn a new programming language while doing that, e.g. contribute to some free software project in a language you are not using at work. You'll become more competitive than your fellow programmers who did not that. Of course, install some Linux distribution on your home personal computer (since Linux is mostly made of free software, and since it provides an excellent development environment for coders). And since you contribute to an existing free software project, you'll learn even more how to work in a team, and the team working on that particular project will teach a lot of things to you.
For example, you are now a Java expert. Then contribute, in your free time, to some existing Guile extension project. You'll learn both a new programming language (Scheme, the language used in SICP, a freely downloadable book, which, still today, is the best introduction to programming that I know, that every programmer should have read), and a new approach to programming (embedding an interpreter in some existing program). And that is very valuable on the job market place (much more than any particular technology), because you then demonstrate to the potential employers that your mind is flexible, i.e., you can learn another programming language and another way of programming.
Of course, don't become tied to one particular programming technology. But you now know that already!
NB: For me, IDE is a buzzword for source code editors. My favorite IDE is Emacs. Also, hyperlinks are above to give bibliographical references (since I am old enough to have written technical reports before the existence of the Web).
PS: If you want to contribute to some weird free software project (to which a very active contributor is an Indian software developer, Abhishek, working on that project on his spare time while being employed full-time), read this draft technical report (skipping the few mandatory pages for European bureaucracy). Then, if the ideas there are interesting you, contact me by email to
email@example.com. But the free software project I have in mind is more a research project than a development one, and it does share most of (but not all) the ideas explained in that report while having different goals. And that, Abhishek is learning a lot of new things* while working on that free software project.