All positions require multiple code development and machine learning proficiency. How do I address the knowledge gap? I am worried about my future My mechanical engineering PhD is very applied. I used Abaqus software to model additive manufacturing process. I wrote two trivial user subroutines (VUHARD) to implement material models in Fortran and published 4 publications in Surface engineering journals. An example paper is this paper. I am defending next month and I am worried.
However, now I am searching for postdoc positions and the posts require proficient knowledge in C++, Fortran, Python, code development in Finite element analysis, development of machine learning algorithms, molecular dynamics simulations, phase field simulations among others.
I am seriously under qualified. I have not done extensive code development, neither I have knowledge of machine learning algorithms.
I feel I wasted my PhD. I should have done it on a different topic. Computational materials science is too hard for me and I should have gone with experimental projects.
Is it the end of the road for me? Can I address the knowledge gap after PhD? Due to lockdowns and covid restrictions, I am planning to join my PhD supervisor at the moment as an interim postdoc. The contract would end next September. I am seriously worried about my future. Please advise.
None of the missing skills you mention strike me as &quot;seriously underqualified&quot;. Those are tools that you can learn reasonably quickly. You can learn C++ and Python, and you can learn machine learning algorithms and try them out. This will not take you longer than a couple of months. The important thing is that you are an expert in your field: that is what requires years of study.

the posts require proficient knowledge in C++, Fortran, Python, code development in Finite element analysis, development of machine learning algorithms, molecular dynamics simulations, phase field simulations among others.

How many candidates do you think that will be experts in the postdoc topic and also experts in all those other things, in the sense of having year-long experience with all of them? Probably none.

I have not done extensive code development.

I do not know what you call &quot;extensive code development&quot;, but I suspect that what you have in mind is not what most academics have ever done. Academics write code for themselves, to quickly try out approaches to a problem. Many (most?) of them do not write tidy, modular libraries that can easily be understood and maintained.
Also, not everyone is an expert in machine learning. Many researchers try it out as a tool, and for that you do not need so much time. I have seen many students in my department finish their PhDs and get hired for jobs that involve machine learning, even though some of them had never touched machine learning before. For a postdoc position it will be even easier, as the real bottleneck is &quot;being an expert in the research topic&quot;, not &quot;being able to code a neural network&quot;.
So I suspect you will be just fine. You can familiarize yourself with C++, Python and/or machine learning to increase your chances if that appears often in position descriptions. But I do not think you are &quot;seriously underqualified&quot;.