Hacker News new | ask | show | jobs
Ask HN: I'm 24, coding since 14, and I don't know what to do
54 points by frostbytes 3467 days ago
I'm absolutely lost. I have been coding for so long but I have never had a software development job, I've been self taught and been on this road for so long. Surprisingly I have been extremely active in sports, I'm extroverted, I love being social and coding has been my passion. I can't get a job because the requirements and qualifications is way too demanding even though I am 100% I can handle the work load and delivery whatever it is the companies need.

I did 5 years of PHP, HTML, CSS, Javascript, I studied Java in University, I have done Python, and for the past two years Objective-c/Swift I've built 15 applications.

It is extremely hard in this industry that is changing so fast and it is very competitive.

I really feel like giving up.

34 comments

The interview process for engineers is absolutely brutal.

I almost lost hope on my last job jump when it took me three months and six on-site interviews before I got an offer.

What will help you the most in the search is probably not what you think. I thought have a GitHub and some cool projects and a nice blog would make landing a job easy for me... Annnddd 95% of the companies I talked to didn't care.

What helped enormously was studying the same questions that interviewers are likely to pull from. Once I studied hard on interview Q&A I went from no offers to getting three in the same week.

The interview process is usually borderline hazing and the questions being asked have little or no bearing on the actual job. The job requirements listed are actually just some staff engineers wish list of what he would use if he could rewrite the garbage fire that is the application you'll be working on.

It doesn't help that half the time the manager interviewing you hasn't written a line of code for ten years... or ever in the case that you're interviewing with HR.

My theory is that male dominated fields tend to be steeped in competition, or at least the goal is to appear that way. You don't want your hiring to be "weak" and new guys definitely need to "climb the ladder". This makes interviewing for these positions a complete nightmare.

Just keep up applying and remember the interviews are tough on purpose. HR doesn't look good unless they can bring in an endless stream of top tier applicants. Management doesn't look good if they hire "anyone that walks through the door". The result: companies throw away many, maybe most of their good applicants.

> What helped enormously was studying the same questions that interviewers are likely to pull from. Once I studied hard on interview Q&A I went from no offers to getting three in the same week.

Interesting to hear on what are the sources 'that interviewers are likely to pull from'? And probably some guidelines as well, because interviewers like to be stingy and want to hear _the right_ answers.

Study google search results for "interview questions language X" with X being anything mentioned on the application. If js is listed expect things like the difference between == or === and whether variable declarations are hoisted for example.

Other questions I got were things like "can a static class be extended in language X" and other questions that test your trivia abilities but don't really matter when writing code 99% of the time. Like for js, everyone knows not to use == but most people don't know exactly why.

What I did was read several books on the language semantics for my top 2 languages cover to cover multiple times. The process was painful but I was prepared for nearly anything.

Answer quickly even if you might be wrong. Concise answers are perceived as more correct from what I've experienced.

Are we in the same industry? 26 here, coding since 11, never got a degree. Decided to develop for a living, managed it within a couple of months - didn't even have a portfolio.

The industry is crying out for developers, theres no reason why you wouldn't be able to get a job. Yeah the industry is fast moving but businesses aren't. If they choose to use a framework, them its going to be in their legacy code base for a good few years.

Remember,you are not paid to develop, you are paid to make the business money. Would you rather hire a developer who wrote an amazing 200 LoC a day and earned you 10k or the developer who deleted 3 lines, sent a few emails and earned you 100k?

Apply for every interview, don't aim too high - you can get a junior position no problem.

Same industry, but likely different locations. Despite being quite possibly the most remote-friendly job, availability of software development jobs is still frustratingly regional.

As annoying as this advice might be to someone who likes his/her current home and doesn't want to move, coming to one of the tech clusters and putting in two years where you specifically focus on growing your network will help open up opportunities, establish a reputation and often help you earn a salary higher than you'd get in your local market.

Wondering the same thing. Here in Finland and in this industry, I feel like I have more job than I could ever handle. I have been a programmer for four years so I cannot say I'm too skilled nor talented for that matter, but getting a full-time job or freelance projects is quite easy here.

My advice is the same: aim for a junior position first and work your way up from there. If there are no full-time jobs available, try to build a social network, attend to tech meetings in your area, try to find freelance projects and add them to your portfolio. I know, the first steps are hard, but after a while it will suck you in and then you don't have to worry about finding another job.

This sounds more like my situation. I managed to go from a glorified data capturing role in finance labeled as a "financial analyst" and realizing that I wanted nothing to do with finance. I then moved "diagonally" into a more technical roll, built up some tech skills and I have just landed a proper software development roll after about a 3 to 4 year journey. I am 29. My only advice is make sure you feed your passion, don't let it die. Also you can start by trying to get hired into a position that doesn't necessarily put you exactly I software development but puts you on the path. Caveat: This is all in South Africa, and as a person with semi decent tech skills and a few years of experience I actually feel like I wear the pants in most my work relationships.
Agreed, and the last point is crucial. Even an internship can turn into a lucrative full time position, and some money is always better than none.
I can't really say I know exactly how you feel, but I can safely say I've been in a slightly similar position before. And honestly, every time I look at frameworks like Angular or React, I feel like throwing in the towel right then!

I think it's a good idea to choose a niche, and stick to it. Full-stack devs are awesome, but there's nothing wrong in sticking to a particular competency. Looking at your profile, it seems you're pretty good at writing Swift/Obj-C apps. If that really interests you, why not stick to mobile as a domain? I feel it's easier to keep track of how the ecosystem changes, in one field.

As for jobs. I'm not entirely sure what the problem here is, but I know what it's like to not have the right qualifications. I studied engineering for two years, dropped out because the coursework had zero coding, studied Russian for 6 months and then dropped out again due to campus politics. But I've managed to hold jobs with IBM, Cvent and some media houses simply because I could convince the overlords that the lack of a professional degree didn't stop me from executing what was expected. But it was hard. Have you tried checking out spaces/events where startups converge, and probably pitch your skills to them? A good place to start would be coworking spaces. Establish a relationship with the space's owners/managers, and they'll happily introduce you to teams who need your expertise. Many startups don't care what certificates you've got, so long as you add value. And if there's a startup that does look for a degree - well, you probably don't want to join them anyway.

I hope this helps. Please don't give up - obviously you love writing code, and there's no reason why circumstances should make you give up doing something you love. :)

Thank you Sealord, You post means alot,

I would love to stick to mobile apps but majority of companies are looking for "Senior iOS developer" and the funny thing is they list frameworks that literally just surfaced in the tech community, yet these HR reps are asking for seniority and expert levels, on top of that you have things like Superiority in problem solving, x amount of years in agile dev/dev ops principles..etc

This is the overwhelming area, even if I want to do mobile development they ask for things that are senior level!

Your suggestion about establishing a relationship with space owners, and approaching startups is a good idea, I haven't thought about that to be honest.

I've got friends who're HR professionals, and I'll say it anyway - they're idiots. I'm yet to see an HR person who genuinely understands how dev ecosystems change, and what they should really look out for as opposed to what their books in business school said.

On an ideal note, try not to go for companies that have HR doing recruitments. It's bound not to work in your favor. Your best bet is to interact directly with product owners because they know what they're looking for, and it's easier to have a direct conversation with them about the best tool/framework for the job. And a lot of startups are liberal - they have "preferred" tools/frameworks, but they're happy with someone coming in with a different option.

Please do try checking out coworking spaces. If there's startup events in your area, try them out too. A lot happens when there's a casual chat over a coffee/beer. I should know, I met my cofounders over a joint.

A couple things I haven't seen mentioned yet but may be useful for you:

- consider web/iOS consulting companies: with a targeted skill set they may be better able to properly assess your skills. Pivotal, Thoughtworks, etc.

- consider 'boring' companies like insurance, banks, GE and similar, or pretty much anywhere that isn't explicitly a software company but does hire software developers. 'Software is eating the world' and everywhere needs developers. It might not be the ideal job, but you will learn a ton about how SW development works in an organization (as opposed to solo) and how that looks on the ground. And you will be in a better position to show that you can do this.

- consider smaller non-startup companies where you would wear many hats and you can grow and show your worth quickly. And they're probably more willing to take a flyer on you because they wouldn't be able to afford paying people for all the hats you'll wear.

- when you do land a job, befriend someone in HR and learn as much as you can about the general hiring process. Interview candidates if you can. Get involved in it to learn what candidates do that works and what doesn't.

Every "Senior" started out as a "Junior" at some point. Try not to get hung up on this.

I have two pieces of advice for you, as someone who has struggled with these very things:

First, don't compare yourself with someone else. You are only competing with yourself in the end. The person you're comparing yourself to very likely could have the same doubts as you.

Second, just start. Don't get stuck in analysis paralysis, and only think things to death. I'm happy to share my experiences with you. My email is in my profile.

Make some of your code public on Github. Do a web or mobile app or two - even proof of concept type stuff but it has to be 'complete' in the sense that it should do the job it's supposed to. Use these to demonstrate your programming ability during interviews, and let employers know you're ready to learn new tools.

Pick one set of tools to be your current 'major', say Swift perhaps and spend time getting better at Swift than the rest of the stuff you know. Apply for Swift jobs and be confident!

One more thing. Always be prepared to switch your major to a new one (language, platform). If you ask me, Elixir/Phoenix has lots of potential and 2017 might be seeing a lot of job openings for it.

Find a niche and start a company -- solve something you hit as a programmer for example. Expose an API and call it good. You seem uniquely qualified being extroverted and competent. It's a crazy long shot I know but I found that only when I was day-tading (not the same thing) I was happiest because I was earning for myself and making my own hours and best of all trying to see if my hypothesis (or in your case your company) could pass the test in the market.
I should add that I lost almost 100k day trading but I learned a few things: 1) my hypothesis didn't work; 2) I loved doing it even given the losses; 3) finance wasn't for me - trading stocks always will be given that it's more-or-less gambling, and who doesn't love gambling -- but it helped me figure out what I wanted to do. The best part was I was my own boss. I woke up at 5AM (willingly!), was often up a few grand by noon, and then left my multi-monitor setup to go have fun for the day. I never felt more in control of my destiny than I was at that time, and I imagine it's the same running your own business
>was often up a few grand by noon

couldn't have been that often

>lost almost 100k day trading

It wasn't the smartest choice but it was fun and informative.
+100
I was in a similar situation, but got an offer and moved to Beijing. Best thing I ever did.

This takes a lot of pressure of since quality is not has strict in the Chinese market, and there is not that many people who have 10+ years experience in CS things. So if you show up with a "let-get-shit-done" attitude, or just a sense of quality, you will be well rewarded.

You can also work on scales that are normally only something for the best and brightest in SF etc. Making day to day task be more challenging and fun.

On the social side, its fun to be an expat, everyone and their grandmother wants to ask you questions and you get a extended family with other expats in no time. The social pressure from home goes away and you hang out with people from all walks of life, on the other side of the world we are all just guests.

China worked great for me, but there is other new crazy markets like Vietnam, Indonesia, Burma. Where a middle class are starting to use their smartphones more and more. All these countries needs localized versions of basic apps, or as in the case of China, niche version of basic apps.

I remember when I was stuck in traffic on the highway back home from work, before China, and thinking if this is it. A change of scenery was all I needed. If you do what you love and it still doesn't feel right, my bet is that you are in the wrong place.

Good luck.

Interviews are really a numbers game. The first ten will be rough, then you start to recognize patterns, then you start getting good at them.

Apply to 200 software positions, might be good to start with internships. Every company you can think of, big and small.

Every interview you get, ask the interviewer what they thought of your answer or if there was a better way to solve the problem.

Write down every question you get asked. Google them later to learn the better answers you don't know. After a while you'll know the answer to 90% of the questions most companies ask.

Also sounds like there may be an attitude problem. If you've never had a software development job then how can you be so confident that you can get the job done? That's plain arrogance.

Approach the situation with a growth mindset - you have loads to learn and you can't wait to absorb it all from your peers. This is a lot more encouraging than someone who thinks they know it all.

And if after all this you still can't land a gig, do work for free just to get something on your resume, to get considered at the decent/great places.

You won't get your ideal job tomorrow but through hard work and dedication you can get there in a few years no problem.

I'm a PM at Google and former SWE, Twitter: @ninu

Message me and let's talk further. We're always looking for strong SWE applicants. Happy holidays and remember to never give up! <3 for code. 'Tis the season to help others.

Guess it always pays off to talk about stuff!
hahaha <3 thanks ninu, I'm not Google material, that is for the exceptionally chosen and talented.
Google is for the people that want to put in the effort to pass a Google type interview. If you don't have a problem learning things then it is certainly in your reach. I'm often reminded by how my grandparents would talk so highly of working at General Motors. To me it seemed so boring but at the time GM was considered one of the best companies to work for. I think today there is still a romanced idea that zen can be reached by getting a job at one of these types of companies. In the meantime I'm sitting in my amazing downtown Austin home looking over my pool while I'm probablly a slightly above average developer working for startups that I find interesting. My partner is in the other room dreading the end of her holiday and having to go back to her Facebook job.
With all due respect. Don't say that about yourself!

Hit Ninu up and talk. What harm does it do. It if turns out you need to "bone up" a bit, bow you have a clear path that can get you employment at a later date. Google defers job offers all the time (or so I understand).

great companies don't just hire the talented, they grow their own. Apply.
believe in yours elf
Nonsense. Show us what you're made of and learn to build confidence in your abilities. You never will know unless you try! SWE interviews at Google are challenging, no question, but they're also where you can shine presuming there is a command over the basics (data structures, algorithms, etc). You've built multiple apps and coded in various programming languages correct? Post a link to your Github and let's check it out.
This was before the revamp that maybe improved things, but here's a real Google interview story:

Interviewer: Do you know C?

Candidate: I wrote a tiny bit years ago, but not really.

Interviewer: Please write some C.

Also "data structures, algorithms" aren't the basics. The bullshit whiteboard puzzle crap algorithms stuff is irrelevant to 90% of actual programming. Including at Google.

In general Google does not have a good track record for hiring people with non-standard backgrounds except via acquisitions (where magically they do just fine) or if it's someone with a lot of experience. E.g. at least as of 5 years ago to be a product manager you needed a Computer Science degree. Knew one really good product manager who wouldn't have been hired by Google under those rules but had slipped in under older, more lenient rules. He only had a Computer Engineering degree and MBA.

Sorry but this is total nonsense and false encouragement. Let me translate what "command over the basics" means:

If you don't know your Floyd Warshall from your Tarjan from your Manacher then you'll just fumble around thinking you got close unless you have the remarkable gift of being able to derive these from scratch in a whiteboard situation. Also I cannot stress enough how difficult - and entirely pointless - a whiteboarding interview is.

edit: I didn't mean this to come across pessimistic and critical. I just think it's important to serve a dose of reality regarding the standard expected (and hopefully some pointers towards the kind of algorithms theory you should be not only comfortable with but also able to reproduce on a whiteboard under pressure).

> total nonsense

The HN guidelines ask you to edit this sort of thing out of your comments: https://news.ycombinator.com/newsguidelines.html. We'd appreciate it if you'd err on the side of civility.

I've complied and edited it purely out of courtesy even though it is frankly total and utter rubbish, but feel free to knock yourself out with all the rest: https://www.google.co.uk/search?q=site%3Anews.ycombinator.co...
Have you tried approaching CEO:s directly with a phonecall? If you make a good impression that can make a world of difference. Athletism and extroversion are certainly an asset using this approach. If you can program and not just copy and paste stack overflow that should put you at least in the top half of candidates.

Also - coding skills alone are not that hot - they just make you into a replaceable cog. However, if you combine this with domain specialization this could make you into a valuable contributor. And by domain specialization I mean what ever is the core business of a business. Tomato delivery logistics? Insurance policy business rules? Trash truck maintenance database operation? (I'm making this up, but most businesses are run by their own rules and terminology - being familiar how they work gives you the right to claim 'domain knowledge').

I'm 100% sure there is a domain for you to specialize out there. You'll find it if you don't give up. Social skills are probably a really good asset here. Stop talking to HR. Start talking to the upper management directly. Everybody likes to interact with a nice person when they have the time - unless they are lizard people, in which instance they should be avoided in any case.

I'm 23, coding since 12. Probably echoing a lot of comments here, but contribute to open source! Not only will it help your prospects of getting a job, you will be helping others which is just as rewarding (if not more). I have only studied 2/5 years of a master in CS, and I get job offers solely based on my Github profile. I don't even have a CV. The industry isn't as competitive as you think. Good developers are rare.
I'm in Toronto and we're looking for a web developer now with possible mobile (android/iOS) work in a year. Your post seems like you would be a good fit if this interests you.
This may not be what you are looking for, but it is worth considering /not to work in the industry/. I've been coding since the age of 7 and I'm now in my early 30s. There's a lot of programming that can be done outside of this industry (e.g. by working on free software projects), and in some cases it can even be financed through grants.

In my experience a software development job is often the easiest way to destroy what you may love about programming. There may be exceptions, but many of the jobs and their limitations cannot compete with coding out of passion. Jobs in the software development industry are not the only way to make use of and grow your programming skills.

Since 1998, I don't think I've ever worked for a "software" company (transportation, HR, healthcare, and logistics make up the bulk of my experience). As a result my code has tangible results, instead of trying to innovate itself into meaning.
When business meets software...
Some companies work and hire on the "trends"[1] — MEAN stack guy, Elasticsearch ninja. Some companies give more weight to technical soundness and discount the Fleeting Fad of Flashy Frameworks. They focus on solving problems — even if imperfectly so. Although, the job descriptions would sound daunting (they did to me two years back) but in my view, every company that falls in category two should be willing to hear from you. Sincerity, communication, curiosity and great work ethic go long way compared to scant experience in a particular framework.

A cursory look at the everyday applications that companies get would make you realise how you are far ahead of the curve. I would advice you to not get intimated by job requirements and start applying. If they don't reply, try following up (don't worry you are not intruding). Try reaching out to your network if anyone is up for hiring. Get comfortable doing interviews and meeting people. And don't get discouraged by rejections. Companies, after all, are run by people who have their own biases and idiosyncrasies. They might pick up the wrong impression or you might get rejected for a reason that is far disconnected from your coding ability.

[1]: https://news.ycombinator.com/item?id=11326940

>I can't get a job because the requirements and qualifications is way too demanding ...

You seem overly concerned about this. If a company wants to prevent themselves from hiring someone perfectly capable of doing the job (namely you), then they're probably foolish and you don't want to work there anyways.

On the other hand, it's possible you're mentally hung up on having a desired skill set that's seemingly forever out of reach. If that's the case, just resign yourself to the fact that software development requires perpetual learning in a field where the ground is always shifting beneath you.

Keep in mind that a typical senior developer is just someone who has enough experience to know how to learn fast and not fall victim to common pitfalls in the process.

I suggest finding a job at a nice place to work where you'll be doing something that you enjoy, then worry about the technology stack later. Good companies usually understand that both whiteboard-style interviews and formal degree requirements are bad. The best ones explicitly state that they don't care if you're inexperienced with their stack, so long as you have solid experience.

>I really feel like giving up.

If that means starting a company as some of the other comments suggest, don't. You're 24. Enjoy your youth while it lasts, don't piss it away doing a startup.

I went through a similar phase when I was younger. I had been involved with amateur radio since I was 13 and everything in my life pointed to EE at university. By the time I got there, I didn't see the point anymore. I no longer found it interesting.

Shortly thereafter, I rediscovered programming and I've been doing it ever since (20+ years). In hindsight, I think I had just gone through my first bout of burnout. I still find electronics interesting and enjoyable. So burnout may be one aspect of what you're experiencing.

Since you're an extrovert, you have a natural propensity that many people don't have in this industry. That can be a superpower for you. You might excel at giving talks, communicating with other teams, managing groups, and the like. The fact that you enjoy development and have put in the time means that these activities won't be vacuous.

The feelings of exasperation that you have are similar to what many others--novices and veterans alike--are feeling. Things change quickly in this field. Many others have written about how to cope with this. It's a real thing but something that can be mitigated and gotten past.

You might consider taking a step back and recharging. The New Year time frame is an excellent time to do so (generally speaking). Think about a few goals that you may want to focus on this year. If you pick a project, choose one that means something to you. It could be one of your own or someone else's. We live in an amazing time of open source and collaboration.

The main thing is, don't worry. You've got plenty of time ahead of you to pick your path and make things work. The fact that you're reaching out and searching for answers is a great indicator of future success. Just keep moving forward.

Hi!

Lots of good advice already given out here. But I would like to add some of my own view points

About me : 23, ex-WalmartLabs, currently working on my own startup.

There are many ways to become a software developer, it all depends on what kind of role you're aiming for.

- Software Developer (SDE)

Typically the job offered to most young grads at the bigs cos (google/linkedin/walmart etc). They want to test your algorithm and programming skills. Check out [0], [1], [2] . It should take you 1-2 months to go over most of this stuff and several more to get really good. Start applying once you have a grasp of the basic principles, perfection only comes with practice.

If you're serious about such roles, I recommend spending at least 3-4 hours a day doing these problems.

- Technology specialist roles (IOS/Android/Node/Python/PHP etc)

These also require some programming knowledge. Use the above resources and at least do the basic Data Structure questions. Apart from that, showcase your projects, contribute to other libraries and/or roll out your own.

- Devops

Another cool field to get into. I am not well versed with the requirements myself but AFAIK, you need lesser DS and algo skills here and more tech domain knowledge.

- Freelance/Consulting

Just keep doing what you're doing right now. Find some consulting firm to market your skills for you. The monthly HN thread might be a good way to find leads/contacts. Can also consider bidding for projects on upwork/freelancer/others.

=========

All in all, only thing I can say is that there's no need to be disappointed. You will get a job. You just need to prepare with a proper plan.

0 - https://www.geeksforgeeks.org (Recommended at least basic linked list, trees, arrays, graphs and greedy algo questions)

1 - http://www.leetcode.com (Do all these questions)

2 - http://www.spoj.com (can also use topcoder for this. Use this to level up your skills and land the high paying jobs )

Also, as others have mentioned, do play the numbers game. Apply to as many positions as you can.

Be polite and friendly (lots of rejections happen because of bad attitude).

Would recommend reading Clean Code. Might help you improve the quality of the programs you write during interviews.

It depends upon where you're located. Are you looking for remote work? Its far more difficult to get hired for a remote job than to find one that is local to your area. The bulk of remote jobs go to engineers in inexpensive countries not in places like LA and SF with a high cost of living.
Toronto, ON!

I agree

Yeah probably starting out freelance is your best bet, the old school method of building sites and apps for local business. You might find the local market can work for you if a lot of local businesses still need web and or ios apps.
Tried looking for jobs in the Kitchener-Waterloo area?

EDIT: there will be lots of smaller companies there that will be more understanding of no-formal-education.

Wealthsimple is based in Toronto and hriring, did you try applying there?
I'm 30 and I'll turn 31 in January. I've been coding since I was 15. Worked in 3 companies till now and currently freelancing. Though I studied Computer Science in College, I learned to code pretty much on my own. I quit my job because I was stuck using outdated technologies and frameworks. I make less money as a freelancer and I don't regret it.

Sometimes you get overwhelmed by looking at other people's success. Sometimes, I feel like giving up too. I feel worthless looking at some people who have achieved a lot before they turned 30. But I've got back up each time I was depressed. Never give up and don't stop looking. Keep building stuff and learn new things. Good things happen to people who keep trying even after failing hard. All the best.

Out of curiosity, what's do you find the main barrier to be right now for you ? For example which stage of the interviews do you suspect you have trouble with, and do you have any friends who are already developers that could run you through a few mock interviews ?
What's your ideal day-to-day and week-to-week? Directionally, what are your career goals? What impact do you want to have in the word and in business (without limiting thinking to a feature, product, etc.)? What's your work experience?

I'm hiring for customer-facing tech positions at Google (Bay Area) that don't require SWE level knowledge, but require strong practical coding knowledge and relationship management experience.

You can reach out to me at: https://www.linkedin.com/in/vincentciaravino if you're interested. Good luck!

I know someone who was in a very similar situation and was getting turned down month after month. He made the decision focus on more enterprise technologies (.NET) and invested time in learning and building things with C#. Eventually things worked out.

You mention experience with Java - Maybe going the J2EE route could open some opportunities.

Some may say going down the more traditional enterprise stack is boring but I do wonder if that's where there is more work locally as opposed to work being sent offshore to a low cost dev shop that works with web /php / etc.

Of course I may well be wrong, but it's one perspective.

At least in my experience the vast majority of coding jobs are not sexy. I did consulting for a while and maybe 5% of the projects were interesting.

Most of what we did was automate annoying manual processes, which writing the code for was usually annoying in itself

Sorry for hijacking OP's thread but I would like to ask the crowd about degree and universities. As for someone outside of the US what are my options? The unis are not equal. Most of them are just meh (good enough). Why would I spend 4+2 years in some place just to get a piece of paper when I am currently earning 65k euros?

The point is in the EU most of the unis are really just not that up to date when it comes to teaching you the real deal ( minus math and cs basics). And they are inflexible bureaucrats.

How do you know you can't get a job? Have you tried to apply? Don't be frightened by job postings. Employers tend to ask for the world, including things like requiring 5-10 years of experience in a technology that's only been around for 3 years. Business (at least in the USA, and I think everywhere) is desperate for IT talent. Maybe you won't get your first job at Google or Microsoft, but I'm sure you can find something.
> It is extremely hard in this industry that is changing so fast

Doesn't move as fast as you think. Tons of work doing "boring" work. Read what Scott Hanselman says about "Dark Matter" developers: http://www.hanselman.com/blog/DarkMatterDevelopersTheUnseen9...

What I did/do is pick something that I like/challenging/be-able-to-grow(backend) + has community/jobs(like python) + doesn't change every six months(like js stuff) + has good working conditions/payment(unlike gamedev) and be good at that. All humans(should?) specialize for better ~everything (doctors!,farming! etc).

Makes sense ?

If you have the spare time, find a solid Github project and start contributing to build up your portfolio. Leverage your extroversion and give a couple of expert talks at meetup to showcase your knowledge. Basically use the talents you have to sell yourself.

PS: If I had to pick a focus area I'd do AI. Supply and demand are in your favor.

I was discussing this the other day with my friends who are consultants and they jump through nowhere near the level of interview hoops we have to go through. As developers we have a far more structured approach with checks and balances - a compile, build and test process. On the contrary a consultant alone on client site is a far riskier proposition.
Have you looked at https://triplebyte.com ?
Don't give up! I know it sucks, but if development is your passion keep going. I landed my first job at 27 with no experience and no degree. Now 7 years later I'm so happy my first start up took a chance on me. I see that you're in Toronto have you ever thought about moving?
I'm in much the same situation. I decided to travel for a while, so I went to backpackers on the south coast of africa that accept bitcoin. Mind blown. Now I do bitcoin/altcoin trading for most of my income.

Starting to grow my own vegetables aswell so I dont need cash so much anymore.

Github. Just open source your app code that you can, and library that you ended up making while doing so. Even as a freelancer or consultant, you will likely to get tons of prospect when you have code in github that is being followed with hundred plus stars.
First off, two things;

1. You can do this and you are not alone! I look good enough on paper that I get a seemingly endless number of job leads. And I still cant make it through the hiring pipelines at seemingly anywhere. I know people way better than me that cant either. The creator of homebrew? Max Howell? Yep, that guy. He couldn't make it through the hiring pipeline at Google. https://news.ycombinator.com/item?id=9695102 It isn't you, remind yourself that it is not you. Just keep going forward. You will get there. You will make it.

2. But is going to hurt. The hiring pipeline in this industry is broken, completely utterly broken. It will not be fun.

Until you make it, it will be rough. It is just the way it is. There wont be any saving grace or magical advice that will make it all better. It will be rough, it is that simple. Most people outside of the right stereotypes and demographics wont make it. If you don't fit the right demographic you will have to work 3x as hard and suffer 3x the stress and anxiety as others. But the good news is it can be done. You can do it.

First step; figure out what your weakness is and begin to work on it. You can pinpoint this by figuring out where in the pipeline you are continually failing.

Then work at getting a job the same way you worked at learning to program. Getting a job is a skill, don't let anyone or yourself convince you that just because you can code a job will happen. They don't just fall into your lap. You must tackle getting a job with the same motivation, and dedication to self-improvement that you have when learning a new framework or programming language.

If you cant get your foot in the door at companies, if you cant get them to respond to you, then your problem is you look crap on paper. Go and find people that look good on paper, look up the thought leaders, the people whose work you see constantly. Then copy what they are doing. Make open source projects, contribute to their projects, write articles. Eventually you will look good and the leads will start flowing in.

Now here is where it gets harder. If you are failing screens, you haven't learned to talk right. Practice learning how to talk about your work and answering questions (and asking them). Start asking after the screens for feedback. You will eventually learn what you are doing wrong and then you can work at getting better at it.

If you are failing the whiteboard challenge phase of hiring, then get good at them. Go to HackerRank and solve solve solve until things get easier. Recognize that they are puzzles, they are not programming. There is no shame you suck at them, you aren't trained as a puzzle solver, you trained as a programmer. But you have to practice the skills they are testing, and they will be testing you to see how fast you can reverse a singly linked list. Recognize it is silly and stupid, but get good at it anyway.

Instead of finding your weakness and patching that up I would find what you are already strong at and take that to the next level. Then just present yourself as only that person. Craft your image to fit your skills not your skills to some image you wish to project. Unless you are highly competent and a really good self study you wont be able to pull off looking like a 10x Rockstar in blah if all you have is a coursera certificate and a really bad GitHub project. If you have 2 years experience and a highly functional app in something else then lean on that. You can always say you're looking for an opportunity to move field/role with a bit of evidence.
I had over 7 jobs and only did an interview once.

What helped me: talk to everybody that you are looking for a job. At every party there might be someone who knows someone that needs someone.

If you have built 15 applications in 2 years, then that shows some impressive productivity. Why don't you showcase these applications to demonstrate your abilities?
How did you perform in the interviews? Perhaps you need to brush up your Algo and DS skills.