I’ve been studying Java for 2 and a half years. I’ve gotten into JS, Thymeleaf and JSP for front end for web apps. I employ Spring for my “main works”, (half-finished works).
I also can write some JavaFX clients for desktop. No the FTP client isn’t finished, but it would if I could stay motivated.
The knowledge base idea? YEah thats dead too.
All the while, I Waste time going in different directions to try to balance my education. But really I’m spinning my tires. I go down a road, for example with Thymeleaf, and pull my hair out because everyone loves and no one has trouble understand it apparently (google results).
If anyone could just tell me what i should do that’d be great. I need to get into a job so I can cut the crap and start learning where I Need to, in real life environments with real life people with real life problems. Can’t afford code camps but I do lots of Udemy, FCC and other resources…
But its all to build WHAT, ya know?
Does anyone else have any stories about being all bent out of shape, confused not knowing where they’re going and then they figured it out via some inspriation or templatable method?
If your goal is to learn to get a job, then I think your going about it in the wrong order.
Look for jobs you can/want and apply immediatly
Apply to some of those jobs immediately
Get rejected and find out why, or get accepted and be happy
Learn the missing skills or focus on the reason why you got rejected
Go back to step 1 until you get accepted to the job you want at step 3
It sounds like you already have some experience, so applying for jobs should be next. Not because I believe you will get accepted too them, its because it should provide you direct feedback on what you should be doing. Even just searching for jobs should give you a better idea of what employers expect. If your lacking 100% of the requirements, then you need to refocus on those missing skills. Even if you have like half of the requirements apply.
If for example at step 1. you find no jobs in your area use JavaFX then don’t learn it. A lot of people go about it “backwards” where they try to learn X, Y, Z and then apply jobs. Most end up “studying” for a long time before even applying because “they don’t feel ready”. The issue with this is the idea of “ready” is 100% subjective and totally depends on what sort of jobs are out there.
You could have next to no skills and get the job, or be 100% overqualified and get rejected.
That’s the nature of the game, the best way to play is to play a lot and refine your approach to get closer and closer to your goal. You “win” once you get the first job, which makes getting the 2nd and 3rd jobs easier down the line as you have experience.
Its just getting that first job requires time, effort, luck, and determination.
Keep the goal in focus, and make all your efforts go toward that goal. Not everything you do is equal. Yes learning how to build JavaFX clients for the desktop is good experience, but it might not be as relevant as learning full-stack JS (this is just an example!). Spend your time wisely as its the main currency in gaining experience.
Others may be able to offer more motivation here, I just want focus on the two projects you mention. You really need a job tbh, you can keep plugging away forever at trying to build things but if you don’t find things that motivate you you’re going to need something extrinsic (iea wage) that forces you learn quickly.
What have you learnt from building [bits of] an FTP client? What have you learnt from building [bits of] a knowledge base?
I am going to hazard a guess that you losing motivation on them is both perfectly natural. I am betting (and please correct me if I’m wrong) that you have no extrinsic motivation to complete them, and that you should file what you’ve learned from them in your head then basically dump them: it is vanishingly unlikely that you’ll ever complete them.
For the FTP client this is not an issue because there are already lots of FTP clients and the reason they exist is people were paid money (directly or indirectly) to make them. For the knowledge base software, again not really an issue: knowledge base software is normally specific to an organisation or sector or whatever. For you, personally, what are you going to gain from building one?
Once you build out the bit of either of those you’re interested in from a learning perspective, what motivation have you got to finish it? You’re often going to be at a point where it’s just a huge slog: not hard programming, just very very boring programming. These are line-of-business applications, they’re generally going to be very uninteresting things. They’re not novel (the FTP client in particular is a problem that’s been solved many, many times). And the scope is so big, you’re never really going to want to touch that codebase.
As @bradtaniguchi says, apply for jobs, you need to get feedback on where the gaps in your knowledge are. Then build more small stuff to fill those gaps, make sure you know how things work, make sure you can answer, sensibly, anything you’d be asked about Java, try to figure out what you want and where you want to be.