Hi @Gageperrin Welcome to the forums! I like the idea of sharing “success” stories. I know I’m on of the fortunate ones, but I’ve seen even “fortunate people” who get lots of opportunities out of the gate totally waste it.
I took a more traditional approach to getting a job as I had the opportunity of going to college for a CS degree. However it wasn’t as fool proof as one would think, as half of my closer classmates I graduated with didn’t get programming jobs, they either ended up doing IT work, do just doing the jobs they had before which weren’t programming related at all.
I didn’t go to a great college, I didn’t get good grades, I wasn’t the “smartest” in my class. Heck I failed a few classes and graduated a year later than expected. My college gave us 2 programming courses for java, by people who don’t actually program. (they were aerospace engineers) Only 3 professors out of the years I was in school had any relevant programming experience, and 90% of the time they read off the slides. There was 1 “web dev” course which used a book from the 90s and taught PHP, which was an elective I didn’t even take.
Yet today I program as my day job as one of the “core” developers on a small team building full stack web applications. I got this job without applying on pure references, and opportunities.
I did 2 things that totally changed my career trajectory compared to most of the peers I graduated with. These two things should be done regardless of if you are in college, going to college, graduated, or never going to go to college (its expensive).
- I built stuff on my own, learned other languages and applied myself to real world problems in my free time.
- I built stuff I could show off and market myself with.
I spent 1 full winter break doing 9-5 programming to see how I would feel doing it. I built an app to use at the work I was working at part time to keep track of things we were using a spreadsheet for. I wrote it in Python, which I learned on the side of my Java courses. It had a GUI and was backed up by sql-lite database, and could export to a text-file. I had more or less 0 clue about any of that stuff starting out, but by the end of the 3 week break I had a working desktop app that worked and we used! Not only did I learn a bunch of stuff about programming, I had something I could show to employers. The code itself was a huge mess, but it worked and it looked fine and did its job.
I was able to get an interview for potential summer internships where I came prepared. I had multiple resume copies in nice portfolios with code samples from that single app, screenshots, and pushed all the code to github. It was very organized, and impressed the interviewers.
Once at the internship I took the same approach (build something presentable and learn as much as possible) which eventually lead to a full time job elsewhere, as I was able to “show off” all the work I was able to do at the internship. I even asked for more work related to programming anything anywhere to help the business just to soak up as much as possible in my short time there.
Without going further down the hole of my story I want to point out that building stuff, and showing it off is very useful once you get face to face with someone. Its fine if you say you study, and learn all the time, but if you have nothing to show for it its less impressive compared to building something, anything, and being able to show it off. The code could be a complete garbage mess, but if you built it, you’ll learn a lot and it will show.
This sort of stuff wont help applying online, but online is the easy and cheap approach, which is why it seems “so hard”, as there usually is a lot of competition.
I never looked at Java jobs, even though it was the first language I was taught. Java has been around a while, and has a pretty competitive market for devs that know it. I knew I needed another language, and I didn’t like Java that much, which is why I learned Python, which seemed like the anti-thesis to Java. I applied to some Python jobs, but I lacked tons of experience so cracking that just wasn’t going to work.
Today I don’t use either, and currently use TypeScript, so don’t be afraid to learn something new and unrelated to what you currently know. Its usually better to be a jack of all trades initially than trying to specialize to early when starting out.
I started to code to build stuff long before I got paid for it. I built games in
.bat files for windows thinking I was the coolest programmer ever, long before I even tried to pick up a programming book. I had no idea what I was doing, but I liked it. It only wasn’t until college I got serious about it, and at that point I got a real idea of how much I didn’t actually know.
Even my internships were not for coding, but I found opportunities to code. One tasks I helped a co-worker with was automating something within an excel script, and migrating several thousand images using windows powershell. I had no experience with either situations, but read the docs, and fought the compile for days to get it to work.
The “path” to a coding job usually requires lots of coding without getting paid no matter what that “path” actually is.