So I'm going into my final year of Uni, passed the first semester with distinction. Unfortunately had to defer for a couple years but kept up studying since.
My job ended due to the unexpected passing of my boss. It was a great gig, WFH, flexible hours and not great, but decent pay. Not programming, though.
I need money to get through the year - and honestly, I really don't want to work at anything other than programming.
I'm not even that good. I know what SOLID principles & RESTful services are - but not really how to implement them. I've grinded a bit of leetcode and hackerrank and try my best to learn from the highest rated results only after finishing the assignment on my own. Can solve medium tier Q's, badly and inefficiently.
I know some Java, but only vanilla. I've used python a bit more, but mostly due to all the API's available for it. I know basic JS, HTML and CSS. I can set up a docker instance, but I haven't delved into it because I need to better understand the permissions behind the container and how to secure that properly. I've used Apache Tomcat to serve some localhost projects, and also to host things on AWS freetier and maybe Azure too? Can't remember. Built a DnD bot for a discord group of mine that's easily scalable and has been running with no issues for over a year.
I understand multithreading, Async and anonymous functions. Still getting the hang of using the latter across all languages. Need to figure out specifically wtf Lambda is because I think I might be misunderstanding it. Or the things I've read are referring to two different things.
I know enough SQL to google what I need, but need more exp with Databases in general (design in particular).
I suck at writing tests. Working to get better with that - note to self; how to check code coverage of tests.
There's definitely other things I've done, but I can't think of anything RN.
Am I still too green to be applying to JR roles? Also what kind of roles are there for Jr Dev's outside of webdev? Do I just search "Jr software developer" in job sites? (And on that note having done so, god there's not really much out there right now. Are you still supposed to be a JR with 3+ years exp?!) Any advice (or constructive criticism!) is very welcome.
Thank you for your time, and best of luck with everything you're up to. :)
My suggestion would be to start applying for jobs that look interesting and specifically mention that they are entry level positions.
Also, unless you need to have an official job for some reason, you can always try to make a living freelancing on a platform like Upwork. It does have its downsides (0 job security, requires you to deal with clients directly, finding fitting contracts sucks etc) it will also help you to learn and evolve for your future job interviews, and it will allow you to try different things without having to be actually hired into a specific position long term.
I’ve started my professional career a long time ago by doing small tasks like writing automatic installers for things like Splunk around the time Ansible was not popular yet. It was fun, helped me to earn a living and forced me to learn both soft and hard skills at a far greater pace than I would ever do (because of the a pressure of delivering for my clients).
Also while I'm at it, there are some things you can do to improve your chances of getting a solid entry level position with a good pay and decent perks:
Make sure you have a presentable LinkedIn profile with a lot of connections. Having a good baseline of connections usually helps to legitimise yourself as a professional.
Have a solid resume put together, there are plenty of guides online on how they should look like. You will need multiple resumes for every area of expertise you will be applying in (e.g. resume for a back-end web developer, resume for a Java developer, resume for an Android developer). Keep each resume one page, you can embellish things but do not outright lie about your achievements / expertise.
Do some open-source projects, those can be simple things, but well presented and put together. This will help to show that you can actually code, know how to use VCS etc. Having GitHub and GitLab profiles is a must.
Maybe go ask / answer some questions on Stack Exchange. Having good reputation there used to be (and probably still is) a decent plus for you as a candidate.
Also consider having a decent reputation on Hackerrank, LeetCode and similar platforms. Add those in to your resume.
All of those items above probably sound like a usual business, or maybe do not particularly make sense for you, but having those really helps to get that extra boost of credibility to land a solid first job.
Would you mind terribly if I messaged you for some advice/with some questions? It's ok if not, your posts have given me a bunch to think about/work on! But if you have the time and inclination I'd love to pick your brain. :)
EDIT: Oh and tyvm for your response! Loads of great points :D
DOUBLE EDIT: Incase you're not ok with me messaging!
Can't see your post while I respond so apologies if I miss anything.
Resume: Sugar, I'll get on that. I only have a single one with my previous job exp and college/a couple courses on it. Need to do more mid to large scale projects for a portfolio (that's the job for the next couple weeks!)
LinkedIn: I have one, haven't updated it in a long time and don't have many connects but should be able to get a whole bunch when the new semester starts in September. I'll ask some friends who I've done some work for to verify my skills - think I only have one in Java rn. Will update. 👌
Open Source/VCS: Do you mean making projects myself and throwing them online, or joining other ones to help? I'm a bit anxious about doing the latter but have been trying to gear myself up to it. The former, I'm currently designing a couple small to mid tier projects for a portfolio that I was planning to put up on GitHub. Would that work? Outside of that, I've been trying to ensure I make as many commits as I can - though realistically I only have about 4 green boxes a week since May-ish and recently took a 2 week break to study for something else.
Stack Overflow: Never joined Stack Overflow - but I'll consider doing so per your advice.
Leetcode/Hackerrank: I've kind of shot myself in the foot by having switched accounts... Repeatedly. I think my newest one is about 2m old? I'll work on trying to be consistent and burning my way through what I can. Need to go over algos again pretty badly anyway.