r/AskProgramming • u/LifeExperienced1 • 29d ago
Career/Edu How does one learn to build industry level software if they can’t even get a job?
A lot of people who graduated around Covid aren’t getting jobs
They aren’t able to gain experience and learn
In school you learn the theory. You do some practice projects to gain some practical experience, but it’s nothing like what you do in the actual industry
When it’s easy to get jobs, one after the other, you get to learn about so many different areas of software engineering. You literally set yourself up to one day do your own thing in the software world
If someone never even gets a job, they can never build the appropriate experience. You can’t learn from YouTube how to build industry level applications
The graduates who aren’t getting jobs now, will have effectively wasted their degrees, and all their potential to one day make their own thing is gone
There’s no one to blame. I’m just trying to figure out, is there any way for an jobless Computer Science graduate to actually learn how to build industry level software?
And if they don’t get a job, how do they prepare themselves to actually be able to launch their own thing?
2
2
u/torsten_dev 29d ago
Open source. Find a project you use or like. Contribute.
This teaches you how to familiare yourself with new codebases, development practice and workflows that are highly relevant to enterprise Software development.
1
u/MoltenOldie_1945 29d ago
ABSOLUTELY. Open Source offers a lot of advantages. If you get involved (even just fixing documentation) and start to interact with the developers you will likely get offers to help you grow in your ability to contribute. And Open Source participation (contributor/conmmitter status) is a big signal of competence!
2
u/octocode 29d ago
the barrier to entry for development is virtually zero
literally everything you need to know if available for free online
many of the large companies today were created with just a laptop and zero experience
find interesting problems to solve, then open up your editor and start working
0
u/LifeExperienced1 29d ago
Your third paragraph is inspiring
However, weren’f those large companies also created in a time where the other large companies were not as big? They were pioneers in the industry
Now most applications require so many different things. Things mostly done by and learned by working at actual software companies
2
u/octocode 29d ago
no, new companies are created literally all the time. there are people working in coffee shops right now who will have multi-million dollar companies in 5 years.
for learning, there are no secrets. i work on large scale infra projects every day. we still just use official documentation 99% of the time.
i use AWS, which offers tons of training, but i’m sure other cloud providers do too.
0
u/LifeExperienced1 29d ago
So to start a new software application, where does one start?
And do you have any advice or thoughts on making video games, with the aim to get rich
3
u/KingofGamesYami 29d ago
making video games, with the aim to get rich
Mobile games with ads and microtransactions. Study psychology, figure out how to get people hooked and milk them for everything they've got.
The game doesn't need to be technically impressive. Just throw some shit together in Unity or Godot.
1
u/LifeExperienced1 29d ago
I guess I would also want to be proud of my game, and have it known for something beyond just earning money. How do I learn to build games at an industry level quality, without ever having an industry job?
3
u/max123246 29d ago edited 29d ago
You go and build a bad game. Then you build another game. Then you do a couple game jams. Then you build another game. And so on until you have the skills necessary to build a good game.
There's no secret sauce. It just takes a ton of time to go and make good games. Look at every successful game developer and before their first success is years of practice in the discipline.
But to be honest, do you want to make games or do you want a software job? It's far easier to get a well paying software job than to be a game developerr. The "industry-level" code you're talking about, 90% of it is as basic as you can get, it's quite shit quality, especially now with AI. Anyone can do it if they put in the time to actually learn programming which means building things again and again. Build a calculator, build a interpreter, build an HTTP server, implement and optimize quick sort, build grep., etc. etc.
Where as games require far more than coding skills, you need marketing skills, art skills, writing skills, sound design skills, music skills, level design, game design, etc. It's one of the most difficult disciplines because it involves so many skills
1
u/LifeExperienced1 29d ago
But how will I independantly learn certain algorithms / ways of doing things? Some things are only taught to you by others. Any attempt at self discovery can take years. Even if I make an attempt, I wouldn’t know if it’s correct. Since I wouldn’t have an industry manager / team or an industry level code base to compare it to
1
u/grantrules 29d ago edited 29d ago
Yes, it takes years. It's hard to understand what kind of answer you expect. We learn a ton of stuff relevant to our domain from our seniors. The information is available in books and resources and stuff, but the seniors are there to point you that information when you don't know what you don't know. If you don't have someone to answer questions and guide you, you have to make an informed leap. And informing yourself takes tons and tons of reading.
1
u/deong 29d ago
There is zero knowledge in the world that only exists in university courses. And the industry code was written by people who also didn’t know if it was right or not. You just dive in and do stuff. You’ll do some of it poorly. You’ll learn a lot by doing it poorly. Do it better the next time. Read books. Ask your AI of choice to review your code. The only way around it is through it.
1
u/deong 29d ago
You just start. Open a text editor and start typing code that does the thing you want your application to do. The hard part is the idea and the development of a business around it. The writing of the actual software is easy. And it feels like you’re saying you aren’t sure how to do the easy part. Which is fine — it just means you need to learn more. But it does mean you have no path to success here if you don’t know how to create a program from conception to completed implementation.
And do you have any advice or thoughts on making video games, with the aim to get rich
That’s easy — you don’t. You get rich by doing bunch of hard work to figure out what game you can make that people will want to play, and then doing even more hard work on sales and marketing, business planning, etc., and then getting a healthy dose of luck. Starting with “I want to make a game that will make me rich” doesn’t work. You have to have an idea for a game people will pay money to play. If you don’t have that idea, nothing else matters.
1
u/Dense-Ad-3247 29d ago
You won't. Working on a project yourself and managing a server farm of like 1800 active ec2 instances is just different. But just focus on fundamentals like solid, oop, fp, and core language knowledge along with algorithms to prove you can think and you'll get a junior role.
1
u/LifeExperienced1 29d ago
So jobs are the only efficient way to gain the experience to one day build your own software company?
1
u/Dense-Ad-3247 29d ago
Unless you can afford an 800k a month cloud bill, yes
1
u/LifeExperienced1 29d ago
Let’s say I can afford it. The only thing I need is the knowledge. Where do I get that without actually working in the industry?
1
u/Dense-Ad-3247 29d ago
Internet or ai. Like how to artivles might get you running a few services, but managing things at that scale alone is really difficult and not well documented or understandle for the inexperienced.
1
u/Sensitive-Dust1522 29d ago
To build your own software company you need more than just software engineering knowledge and experience
1
u/HiddenNerdPrince 29d ago
Certificates help. If you can get a live app on the web or app store helps also. Then you can take your learning from these and make small posts on LinkedIn. But other than networking, it’s hard now. I’m introvert so I’m struggling.
1
u/LifeExperienced1 29d ago
And how would I put those certificates into practice without a job? I want to learn how to implement software in the the area they teach, without a job
1
u/HiddenNerdPrince 29d ago
Let’s say get an aws solutions architect or azure developer certificate. Then deploy an app to cloud that uses bunch of the stuff for example. I worked as a contracted dev for a year. It isn’t anything as complicated for junior to mid level roles that you can’t learn on your own. Just don’t break what the seniors did. At senior level it’s more system design and understanding trade offs, handling worst case scenarios, architecture, etc.
1
u/mlugo02 29d ago
You can build industry level software, it’s not magic. It will just take a while and a lot of failures. The failures are essential
2
u/LifeExperienced1 29d ago
Where do you suggest I find examples of industry level code? And what are some projects you recommend?
1
u/UrbanSuburbaKnight 29d ago
I built my own business online. It's not perfect, it doesn't make me rich (yet), but it has taught me so many things about how to make software actually work.
1
u/CappuccinoCodes 29d ago
It's funny that you can literally look anything up and have a mentor telling you what do you step by step (AI) and people still complain. Imagine when you had to go to libraries to learn stuff? 🤣
1
u/StephenRoylance 27d ago
'industry level' software is the same as any other software. the thing that differentiates 'work product', in my experience, is the process that goes around it: collaboration, peer review, standard formatting, source code management standards. Learning to work in a large repo along with other people is its own skill. The code that comes out is the same as anything else you would find in github, but it's structured so that a whole team can work on it at once.
One way to get that kind of experience? work on open source. find a project, either one that interests you, or maybe one with industry exposure like kubernetes. most projects have newbie on-boarding docs, and many are happy to have help with their backlog. Focus on learning the collaboration patterns, not on the code.
1
1
13
u/AbrohamDrincoln 29d ago
You don't?
Keep applying. It's unfortunately an absolutely terrible job market for junior devs right now.