You can apply to R&D roles (search for R&D engineer, research software engineer, R&D software specialist and similar titles) which are essentially software engineering roles that require grad school.
A good idea may also be to pick a subfield that traditionally hires more educated people (science or engineering or chemistry software hires from that pool because the clients tend to be in academia).
In a given city most of the PhD-friendly industry jobs are staffed by people who still regularly see your professors at happy hour. Have you talked to your professors and alumni of your program if they know anybody's who's in industry now? Look up on LinkedIn where the people from your lab ended up. You can probably get some of these people to give you an interview that's not biased against your specific experience.
They all continued to work in academia as postdocs. I don't want to go in that path. Especially that my most recent work was in a field I don't enjoy, but I had to do it because my previous adviser had to leave university and that was the only option or else I would have wasted the previous years effort in vain.
I have lots of theoritical experience in many areas and I just need to start in a first job. And from there it would be easy. As I will be able to say I have actual industrial experience.
I want a software engineering job.
I even apply for entry level jobs and I get rejected.
I even got rejected several times for internships.
Do you get to the interview, or they don't even reply to your resume? Because if you get interviews you need interview practice not projects.
Assuming you do have, like, school projects, and your PhD project includes programming. Otherwise you do need projects. For C++ a good way to have projects is to talk to PhD students in other fields (physics and bio are good) and ask if they need help with their computation and modeling. Listen to them a lot as they often already use software for most important things but may have need of e.g. quickly indexing text files or targeted data visualizations. In industry, we like hearing about collaborative projects.
I get some interviews.
If applied for 100 positions:
around 50% don't reply.
around 40% reject me.
Part of that could be because if visa sponsorship.
Some reply and I get interviewed.
In most of the cases, I do very well in their technical interview.
Then they would say, we are looking for a senior software engineer.
In two interviews last week, I was cut in the middle of the interview and it was ended once they discovered I'm not a senior engineer. One of them, supposedly saw my resume before hand and I did great in their online exam.
I have some projects yes, but not big enough for them.
In only one job, the requirement was an exceptional algorithmist. I'm not exceptional, but I applied anyways.
They sent me three problems. I solved two and sent them some thoughts about the third one, which was very difficult. I found several papers related. It was a publication level algorithm. Even my algorithms professor spend a day on it before giving up.
I think I have some thoughts about a solution, but I needs more time than I can afford at this stage.
Still waiting for their reply though.
Do you mind linking your resume (Anonymize it beforehand if you wish)? 1 interview for 10 applications is low but not unheard of, but if you get cut for those because they somehow never noticed you're not senior, your resume itself may be misleading. The alternative is they're lying and you're failing interviews for a different reason, probably behavioral or something strange about your background, and nobody is telling you. If you can link to an example job you have applied or would apply for that would help too.
I'm a mid-level C++ engineer -- if anything I can tell you where your current experience is compared to our requirements for junior jobs, if your resume is fine information-wise and what kind of thing may be tripping up interviewers. I've interviewed juniors and I've never told them they needed a ton of experience -- and most of our juniors have science or engineering PhDs but zero industry experience.
I think the other commenters suggesting a better role is the best idea. Believe it or not ... there is a lot of industrial R&D ... people don't publish papers on all of it. Key outputs are Proof of concepts and patents. If you find a role like that, you will likely have the best chance to succeed.
That said, lets talk about the project idea .. here is what I suggest. Do a solid project (or three) and give a talk on it at a meet up or tech conference.
Data science/ML is stupid hot right now as an area. But the business people don't give a crap about algorithms. They want outcomes or whatnot. So, when you do a project, don't go fully deep into an algorithm or eval. Focus on a business problem (could be some trivial data analysis on open data) and write a blog post on it/do a talk. Use visualizations. use tools used in industry for this (e.g. Tableau or whatever).
The Kaggle competitions are good projects, just don't expect to win. I like it because I don't like studying on toy stuff. I hear it can be a social thing for some too so maybe you will meet people in your area that know of jobs for PhDs.
My PhD is in Computer Science (mix of algorithms and data mining and some bioinformatics). I switched advisers few times.
I can teach, I love teaching and I have huge experience being a teaching assistant. But there are some issues with teaching right now:
1-Most universities require teaching and research.
2-I want to move to software engineering work.
3-If want more and not start software engineering now, as a fresh PhD graduate, the problem will be worse later.
I think you are over glorifying software dev. Most devs don't do google/MSFT/Netflix-style SE. Most do the same crap we do in grad school except they have 100% more meetings and progress reports to fill out.
When you say Bioinformatics, I assume your main skills are in Python? That is going to be a problem as a software dev unless you stick to data science/ML. Professional work requires expertise in Java (boring but necessary) and C++ (hard but efficient). Make sure you understand concurrency/parallelism/locking in your tools/languages.