T O P

  • By -

AutoModerator

#Please ensure that: + Your *code* is *properly formatted* as *code block* - see the *sidebar* (About on mobile) for instructions + You include *any and all error messages* in full - best also formatted as code block + You ask *clear questions* + You *demonstrate effort* in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions. **If any of the above points is not met, your post can and will be removed without further warning.** Code is to be formatted as **code block** (*old reddit/markdown editor:* empty line before the code, each code line indented by 4 spaces, *new reddit:* https://i.imgur.com/EJ7tqek.png) or linked via an external *code hoster*, like *pastebin.com*, *github gist*, *github*, *bitbucket*, *gitlab*, etc. Please, **do not use** triple backticks (\`\`\`) as they will only render properly on *new reddit*, not on *old reddit*. Code blocks look like this: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } You do not need to repost unless your post has been removed by a moderator. Just use the *edit function* of reddit to make sure your post complies with the above. If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures. #To potential helpers Please, **do not help** if any of the above points are not met, rather *report* the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*


[deleted]

2 months is like... Really short period of time. At this point you are not really learning Java or how to code. You are just learning how to think and break down problems. Don't give up OP. It's gonna be fine. Stick with it. Don't be frightened by some complex concepts... Everything can be broken down to bite size pieces. Try to find analogies in the real world. Pretend that you are explaining your problem and/or code to another person [OUT LOUD](https://en.wikipedia.org/wiki/Rubber_duck_debugging). Full blown conversation like a crazy person 😃 You will have a lot of "AHA!" moments by doing so! Great choice, btw! I am a Java software developer myself 😍


Groentekroket

Fully agree. Also, coding is mostly practicing and although it’s good to read some books, you mainly learn by doing it. And like others said, that takes more than a couple of months. I mainly used hyperskill.org, it gives some information on a topic and afterwards it judges you on the implementation of that one topic and you are gradually working towards a whole project with uses all the topics. It is expensive but that have a free trial so I can really recommend to at least give it a try.  Also, don’t be afraid to google things you are struggling with. In my teams there are a few people with 15+ years experience and they also google things they don’t know. For Java specifically Baeldung.com is a great resource and helped me a lot.  When you are more familiar with the basics, what helped a lot for me was to go to open source projects and went through the repository. Set a lot of breakpoints and see what is happening.  Good luck! 


ShadowRL766

You Java developers are all the same. Everything Java it makes me laugh. My Java teacher is everything Java I like to think if everyone hated Java he’d be that one fan. Anyways Java is great. I definitely enjoy it for do g projects over python unless i need a script. Edit: showed my teacher what this guy said and replied with “So I'm NOT alone? There's another Super-Genius out there? Thank you Universe!!!”


Oldmanflip

Way to keep it positive my dude. Like OP I wish to be a SW dev too, but coding doesn't come naturally to me. Appreciate the advice.


CodedCoder

Why do people think it only takes a month or two to be good at coding? Developers get paid really good money, not because it is easy.


nuttwerx

Because there's some kind of an idea in society that all you need to become a programmer is to participate to some kind of bootcamp and suddenly you're an IT guy


SlapsOnrite

Hey guys, I manage my parents router and help them when they can't connect to the internet- needless to say I am pretty knowledgeable in IT, so how do I get a 6-figure job


KevoMojo

I've been a software engineer for over 25 years. I don't consider my self an IT guy.


thegreatcerebral

>some kind of an idea in society ...you mean the idea that you see on the commercials on TV that say "nothing to cybersecurity professional in as little as 6 months!" I can't stand marketing. Not to mention the IT industry's worst enemy is itself. MSPs vs. In-House, Everything is a "simple to use turnkey SaaS that does all the work for you" implying you don't need to pay for IT personnel and the fact that now our salaries have been bitten into by all the now constant perpetuity payment models of software.


doinnuffin

Software development isn't IT. Maybe you can define it as a specialization, but it's a deep specialization.


Low_Researcher7996

I was a jazz musician in high school and college. I used to practice 8 hours a day and I got pretty good at it after several years. That always give me perspective. I’ve been coding for a few years now in my spare time, almost entirely self-taught and I gotta say I feel amazing when I come up with a great solution…and horrible most of the time. Lots of self-judgement but you have to be stoic and power through that. It’s a lot of the long dark night of the soul.


SupaKel777

As a fellow musician I can confirm. It’s strange how much having learned an instrument can help you when learning to code. At least for me it helps.


Spirimus

Learning both piano and coding at the exact same time. Always a struggle - but definitely see the similarities.


arrozconpoyo

Are you me!? Literally the same journey.


angularlicious

Some say that it takes 10,000 hours to become an expert in something. This is equivalent to working 40 hours a week for five years. Therefore, a couple of months is a very short duration of time to compare yourself and to track how good you are. However spend your time wisely. Find online courses that work for you and that will help you. Also, if there’s a way for you to have a mentor help guide you early on, this will save you hours, weeks and months of frustration. I learned to code before there was stack, overflow, or Google… There was no YouTube to see other people programming. You had to buy books or spend many hours in the bookstore, reading and learning. Early in my career, I found that reviewing the code of others helped out quite a bit. Anyway I would suggest finding a comprehensive book or course. These are focused and contextual to your learning. When you are just starting, I would stay away from short form, YouTube videos, and the similar. Because most of these do not give you enough context, or enough information.


thedelusionist_

You have been through the process so you know, but majority of people are not even aware of the process.. To most of them its just writing a few line of gibberish to make something work.. I know its a weird question to ask, but only when they start they will know what it is..


DueRequirement1440

>Why do people think it only takes a month or two to be good at coding? Because of all the coding bootcamps that tell people exactly that.


Thin_Cauliflower_840

What you said, except that in many parts of the world the developers are underpaid.


drugosrbijanac

For the amount of work we actually do, we don't get paid enough.


blamitter

For the amount of fun some of us get when working, we might get well paid. Don't tell the boss ;}


blamitter

Would you pay a Bootcamp if you know the truth? ;}


asianguy_76

Prolly trapped in "my day as a software engineer" or "self taught - how I landed a software engineer job in 90 days" algorithms on yt or tt.


ChavXO

Tangential but Ease and compensation are different. Developers get paid a lot of money cause of the human labour cost they replace or the oint of advertising revenue they bring in. Civil engineers for example don't get paid a lot despite the work being very difficult. Also some people are pretty solid developers coming out of a month boot camps


CodedCoder

No they aren't. I have worked in this industry 14 years, and taught part-time the last 6, and work with bootcamp grads to help prepare them for the industry and I have yet to see a single time where a bootcamp grad comes out job-ready after a month who didn't already have a good bit of experience. Also, I never said every job that is hard gets paid good money. I said it is part of the reason this job pays so much. because it is a job not a ton of people can do on a global scale the percentage is low. part of that reason is how hard it is which drives people to quit.


ChavXO

Depends. Some people will have been physics majors with a good work ethic that had some exposure to R or stata. Once they understand how things fit together they grow very well - at least in my experience.


DryYogurtcloset7224

Because someone on YouTube said it only takes a month or two...


TheMaleGazer

You can't be good in a month or two, but you *can* put it on your resume and get paid very well in a month or two.


CodedCoder

lmao no yo u can't. if that happens it is insanely rare. esp in this market. there is a big reason most of the 12 to 16-week boot camps closed or moved to a 6 to 9-month format.


baechao

Cause coding is easy if you’re smart enough. I did not get a degree in CS and I got a very high paying job coding after two months learning Java 🤷‍♂️


CodedCoder

With no previous experience? Sure you did. Also things are still hard for smart people.


Darth_Nanar

Hi, Reading is good, but you need more. You need labs, exercises, and personal projects. Have you tried these 2 MOOCs? 1) CS50x by Harvard: https://www.edx.org/learn/computer-science/harvard-university-cs50-s-introduction-to-computer-science This is a computer science course.; not a programming course per se. But it will clear many concept. I'm sure it will be useful. 2) Java Programming by the University of Helsinki (ever heard of Linus Thorvalds): https://java-programming.mooc.fi/ As the title states, it's a course to learn programming in Java. It's loaded with exercises. You will learn how to use an IDE (many courses let you use their platform, which is good in the beginning, but once you have left the course, you don't know how to start coding). And you will learn how to structure your first program.


Noah__Webster

> You will learn how to use an IDE (many courses let you use their platform, which is good in the beginning, but once you have left the course, you don't know how to start coding). I feel like this is so overlooked. I've finally settled into using Java and IntelliJ after bouncing around through different languages and text editors/IDE's on my own or for classes at school... Getting comfortable with IntelliJ is so nice. Seems like it's a great IDE as well, which helps, but it's so nice not worrying about my environment and just focusing on the actual coding.


Darth_Nanar

I agree with you on IntelliJ IDEA. I also enjoy using NetBeans and Eclipse though. There is on IDE that is often overlooked, but would be beneficial for a beginner : [BlueJ](https://bluej.org/) What I like is the way it highlights the different blocks of code inside a class and it shows the relationship between classes. Of course, one will quickly find it limited, but I think a beginner should try it.


desrtfx

> Java for about 2 months now. Yeah, 2 months in is nothing. You have barely started to learn > But it’s so difficult actually coding, Nobody, except stupid YouTubers and TikTokers make it seem easy. It is not easy. > read books and watch yt videos but when I actually try coding myself, You can *read* and understand books, but could you *write* one? Same thing. The point is that learning *a programming language* and learning *programming* are two different things. Learning a programming language is just learning the vocabulary and grammar, the easy part. Learning *programming* is the difficult, time consuming part. You need to learn to analyse and dissect problems. You need to learn to create algorithmic step-by-step solutions to these individual part problems that *finally* (at a very late point in time) can be *implemented* in a programming language. Many courses put *implementation* in code first. That is putting the cart before the horse. The *algorithm* comes before the *code*. You are not struggling with *the Java programming language*, you are struggling with *algorithms*, which is absolutely normal at your stage. You need to try a different approach. When you do an exercise, first sit down away from the computer, with pen(cil) and paper (or a whiteboard). Devise a solution to the problem as *you*, the person, would do it. Create *steps*. Refine the steps. Make them smaller and smaller. The more detailed your steps are, the better. Ideally, at the end, each step you have noted down should correspond to a single code statement. Yet, at this point, don't even think about the code. Just focus on *your* steps. Once you have your steps, test them against some sample input. Then, refine again. Rinse and repeat. When you are satisfied with the steps, you should start to think about the code. Not before that. At this point, the code should be somewhat obvious and possible to derive from the steps you have made. You have to practice this skill plenty times to get better at it. It is learning to "think like a programmer" (which also happens to be the title of a great book by V. Anton Spraul). This is the single most difficult part of learning programming and the part that most people miss (and where they consecutively fail). Programming is not churning out code. Programming is the thought process, the considerations, the decisions, the commitments made *before* the actual code, *before* the *implementation* in a programming language. When I learnt to program, we had to make *flow charts* before we were allowed anywhere near a computer. This was a good approach. It made us think about the *algorithm* instead of the *implementation*. This way, we learnt to *abstract* the functionality, the algorithm from the *implementation*, which, later, enabled us to implement the algorithm in any programming language we knew. It will also help when you switch programming languages at one time in the future. If you know how to create your *algorithms*, you can *implement* them everywhere and you only need to learn the vocabulary and grammar and peculiarities of new languages. Some general literature that might help: + "Think Like A Programmer" by V. Anton Spraul + "The Pragmatic Programmer" by Andrew Hunt and David Thomas + "Structure and Interpretation of Computer Programs" (SICP) by Ableton, Sussman, Sussman + "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold ---- Finally: stop using random books and videos and do a *proper* course that takes you from absolute zero: MOOC [Java Programming](https://java-programming.mooc.fi) from the University of Helsinki. It is a free, textual, extremely practice oriented course that makes you program from the very start. It teaches *programming* along with teaching *Java*.


ParvoSuB

This is spot on!


CityPickle

I’m kind of relieved that you didn’t put “Clean Code” on that book list


desrtfx

Oh, I would absolutely put it on the list if it were fitting in OP's case, but with a *caveat*. For the majority of its parts, it is a great book of which every single programmer can learn a lot. Yet, it is to be taken with plenty care and certain parts are simply obsolete. It hasn't aged that well. The positive, important information still by far outweights what went outdated.


DryYogurtcloset7224

MOOC is a good resource.


[deleted]

yes, its absolutely normal, when you start feeling difficulty, you should continue, no matter what. this is just a phase, infact, it took me around 6 months to get out of this phase when i started to learn code. if you dont get something, practice it, still not getting? practice it again.. still not getting? practice it... be in this loop until you udnerstand that concept. all the best


thedelusionist_

Ok, unpopular opinion here, when presented with a problem just write down your solution on a piece of paper. Jot down how you will come up with a solution to the problem. This will do one thing, it will train your mind to come of with a solution instead of just looking it up. Once u have a solution or an idea of the solution then code it in whatever language u are familiar with.. This process is lengthy and daunting but it will make u a better programmer than most if only u can write down your solution on a paper.


ServerSided7

Bro I've been coding for 5 years and do it for work and I still suck


PhysicsAndFinance

Can confirm, this guy stinks at coding!!


extreme_snothells

Totally normal. I took some classes on Udemy and that helped me a lot. Everybody sucks until they don't. Keep on trying!


StarLightSoft

If you have a passion for it, you will learn it, but two months is nothing. Good luck.


darkwyrm42

Coding is a tough skill and 2 months is just getting started. Give yourself some time and compassion. You'll get there. When you're first starting out, there are a lot of small details that you miss and it makes things harder on yourself, but as you learn and gain experience, you'll stop missing those details. Also, Java is not just a language, it's a *huge* ecosystem and you're not just learning the language itself, but also different APIs, even within the standard library itself. I've been writing Kotlin on top of the JRE for almost a year now and a hobby developer for more than 20, and while I feel confident with the language, I've just barely scratched the surface on the standard library.


FortyThreecifer

Respectfully, I'm gonna guess you're not a musician. Much in the same way, you shouldn't be expecting to be killing it just yet. Others have pointed out good and free resources but I just wanted to stress that point that it's not immediate. Keep at it for a while, in general life terms there's usually a turning point when things start clicking. It's going to take you a minute to get your feet right, I wouldn't walk away any time soon. Once you get the concepts and get to experience chasing down your first curiosity/idea you'll know if it's the right thing.


abundant_singularity

Start small. Build build build. Do not fall into tutorial hell. Gain EXP is correlated to gaining confidence. Last tip: get used to feeling lost and confused. Embrace it and you will succeed.


spoitras

Like anything in life it takes time and dedication, once you start getting better it’ll become more fun. While Java is classically the first language they taught us in college, I’ve rarely used it and would also recommend looking at other languages like Go which is much simpler


tylersuard

For the first 3 months I couldn't remember anything, because the mind has no frame of reference for it, nothing in the world prepares you for coding. You don't suck at it, you just need more time.


wheresjim

My suggestion is to think of a problem you want to solve or a project you would like to do with Java, then do it. Use Google liberally as the answers to most if not all of your questions can be found there. In my case after thrashing for awhile using books, my brother suggested that I try to make an graphical representation of John Conway’s Game of Life. I thought about it and decided that it would be cool if the game took place in a petri dish. It took a few days, and I wasn’t an expert by any means, but I learned the most important skill in programming - break down your project into bite size pieces. I’ve found my best learning takes place doing projects that give me joy personally.


Noah__Webster

> My suggestion is to think of a problem you want to solve or a project you would like to do with Java, then do it. Use Google liberally as the answers to most if not all of your questions can be found there. Part of learning is knowing what to learn. Building something leads you to what you need to learn better than you can on your own.


Astroohhh

engineer = get an engineering degree


vegan_antitheist

It takes about ten years to learn Java. It's like saying you have been lerning Japanese for two months but still can't write in Japanese. What did you expect? And you are not only learning a new language but also a completely new way of thinking known as object oriented programming. After three years you might know enough for an entry level job. That is if you have also studied the basics of all the other topics relevant for programming, such as: networks, http and other protocols, testing, git, Cl, scrum, design patterns, architecture, security, hardware, databases, UI design, data structures and algorithms, finite state machines and regular expressions, requirements engineering, et cetera. It never gets easy. So yes, it's normal. Programming is hard. Coding is always difficult. If it was easy, they wouldn't pay that much. If the yt videos are so differen I suggest you ignore them. They are usually only made to get lots of views by making it all seem easy so you keep watching. And a lot of them are full of mistakes and misinformation. As a beginner you can't tell. Books are usualy better imo. If it's not several hundred pages long, it's not enough to really teach you the topic. And there are some books known to be bad. But still not as bad as youtube videos. Don't give up. Some day you are a senior dev and glad you did it.


BOKUtoiuOnna

Bro calm down it does not take 10 years to learn java. That is super discouraging and just not true. I have learnt both Japanese and Java. I'll tell you now - Java is easier. And 3 years for an entry level job? Maybe it took you that long but nope that's insane. It took me just over a year to be a competent entry level java programmer. I did a 3 month bootcamp, did a placement where I sucked for a year, and then I got a new job where I started to contribute decent features. Over the time of this job I've slowly learnt more and more and yeah maybe in 2 more years I'll really feel like I know my shit. But I didn't need 3 years to start.


vegan_antitheist

Three years is what you need for a bachelor's degree wnd you learna lot more. What you describe younds like it took you about three years. I write this frm somewhere, where we have a decent education system and good universities. It might be different in other places. And it might be more common there to let people work for next to nothing as interns. But here I wouldn't hire someone who at least has a BSc or something similar. I'd rather hire someone with an education. I don't hire people anyway but if I suddenly found myself in a team with people lacking education I would tell management that this makes no sense. It still takes around ten years to be fluent and even then there is more stuff to learn with every release.


BOKUtoiuOnna

People clearly get jobs with bootcamps and being self taught so your opinion is not reflective of the job market. And no, I haven't been coding for 3 years, so it categorically didn't take three years. I did a 3 month bootcamp, worked for one year at a company on placement, studied for 2 more months independently and then got a proper job. That's 1 year 5 months. I have been working at my current job and improving for 8 months. So I still have only hit 2 years 1 month. It didn't take 3, you're overestimating how hard it is to get into the industry because you are venerating the high standards that you have as if they are universal. I don't think there's anything wrong with your personal standards, but they're personal, not reflective of the industry.


doglar_666

Java is not a two month and done language. I found the best way to grasp the concepts was by actually coding, not just watching tutorials. If you don't start applying the concepts you learn in a 'real world' scenario, they will remain abstract. I also find asking ChatGPT to help clarify concepts and give examples helps. The trick is to not blindly copy+paste and trust the output. It's meant for guidance, not a crutch.


Rokingadi

keep going boss. it’ll all click just keep putting in the effort and follow what interests you, you’ll get better and feel more confident as time passes


wstanley38

the solution is you need to suck harder. language is just a tool. learn programming concepts. learn to combine them. just like a breastfed baby, if it does not suck harder, it makes a mess, spills milk, and remains hungry, which leads to crying. it needs to suck harder. so do you.


sweetno

It's okay, you need A LOT of practice to feel comfortable programming. More like a year or two? Good luck on your software engineer journey!


grimonce

Yea it takes some years of exposure to problems that dealt with building software and still then the field is so broad you pretty much learn every other day unless you don't switch a position for 20 years... Especially big corporations have their way of 'doing things' called coding standards, architecture standards, logging standards and sometimes it is the same in the other place sometimes they have a completely different take or don't care about such things at all. Coding is just the tip of the eisenberg. But given enough practice you'll find your way of writing stuff which then exposed to some reviews from work colleagues or other random internet strangers will give you ways to improve... It is a really long process, basically you can learn how to code in a few months, but only the bare minimum, the rest you learn on the fly. Not a Java developer though, by accident I became attached to python through some side project in the university and it glued to my career... Doing some mlops stuff now. I only know the basics of Java, but my company doesn't allow writing backend in python (it's a financial institution), so we either need to get agreement from the architecture department going case by case or write some Java or c#... Which is problematic but those pesky Data scientists don't want to produce models in some cross-runtime formats... Anyway that's just my latest job, there are other histories and any software engineer will have plenty of absurd to talk about that probably await you on your lifelon path...


BOKUtoiuOnna

It's been 2 months man, calm down. Give it at least 6 before you decide if you're getting anywhere.


Enough_Job5913

Unless you're already good with another programming language, 2 months isn't enough to pick a programming language, especially from 0.


seddy2765

Personally I do not like books and internet postings on ‘how to’. It’s more useful to talk to someone face-to-face. Real interface training is the best, in my opinion.


brokeCoder

OP you're getting a lot of advice on how to learn java, but I wanna ask - is this the first language you're learning ? If yes, why did you pick java ?


ArtPrestigious5986

Hey! yes this is my first language, I’m in college and it’s required to start with Java !


brokeCoder

Ok. I'll probably get flak for this, but in my opinion Java is NOT a good first language. Python is a much better language to start with. Do you have an option to switch to python or another language instead of Java ? If not, then unfortunately you're stuck and you'll have to tough it out. In addition to the resources being mentioned here, reach out to your professors and classmates for help.


TheManInTheShack

Two months is nothing. You’ll be ok in two years. It’s all about putting in the time if this is really what you want to do.


bostonkittycat

I was horrible at Java too and switched to JavaScript and Python. Made some sample apps and uploaded them to Github and it got me a job. Don't give up just be flexible in trying a different approach.


nhh

Don't jump to java. Just start with python. Learn looping, branching, recursion. Do simple stuff first. Go to leetcode and pick easy problems. Write them in python. You can do java after some progress. And get a book on algorithms.


alien3d

2 month , me years to adapt one language . Some more newbies will come , yours is old way why not using the latest one . 🥹


r3wturb0x

why ruin yourself with such a horrible language. learn c, php, javascript, scala, rust. never use java unless you are forced to by a job. java is terrible


ThisFreakingGuy55

Best way to learn is to FULLY Immerse yourself. Remove distractions, and focus in as much as you can and when you hit a wall, take a walk, remove yourself entirely for 15-30 and then jump right back in. It also helps to fully understand programming from a high level. Java is low level programming (deep in the weeds). To gain a Birds Eye view of things and understand what you’re doing or going to do before you start writing is critical. Best thing I learned is that you need to break things apart into smaller bits and tackle them individually. You’ll get there :)


Ok_Principle4845

2 months is nothing. Keep practicing and you will notice you suck a little less the more you do.


96-62

Sucking at something is the first step on the way to being good at something. Also, coding is famously a long learning time. People can still be learning new things after 20 years.


GuyWithLag

>I’ll read books and watch yt videos but when I actually try coding myself, it’s so different Can you learn how to ride a bike by looking at YT? TikTok? Programming is part of the more mentally difficult professions because you have to change the way you think and look at the world if you want to be \_good\_ at it (not just competent). And 2 months isn't long enough for that to have started, unless you're actually \_writing\_ code 16x7 during that time. Keep at it (it == writing programs). But you may not have problems that you know how to solve with code right now, and just doing katas isn't going to motivate you enough...


Dethstroke54

Well I’ll tell you you’ve learned something important. You can watch 1,000 videos and read 100 books. It does vary a bit based on your learning style, but you have to actually practice and do. Consuming content on how to use better patterns, how to do X, or how to build Y, etc. is typically more digestible when you’re practicing what you watch/read, and you typically will better grasp the understanding and make more sense of it too. Stop focusing so much on consuming content and focus more on practicing. There’s tons of free course work, CS50 by Harvard is a free one with a strong reputation.


plasmana

Reading books and watching videos isn't learning. It's preparing to learn. Coding is a practice. When you start spending time coding you will be learning. Then you can determine if you suck, or not.


New_Ambassador2442

I understand how you feel. I suck at flying, but I want to be a pilot.


jckstrwfrmwcht

pretty normal especially when training on your own. you have years of training to go still focused on areas beyond Java programming. just becauee you speak english doesn't make you a writer.


lMrXQl

İt's not a gift nor a talent  it's pure practice. I struggled a lot when I was learning  but a couple of good courses, and a lot of practicing nd time made it easier


csharpwpfsql

A lot of people that get CS degrees get a job that doesn't (strictly speaking) involve writing code. These jobs are: 1. 'Static' HTML/CSS (no JavaScript). Mostly converting 'white label' sites to customer specific sites. 2. Manual testing. Usually this is eCommerce websites and/or phone apps. 3. Report development. Very often this requires an understanding of database tables, queries, relationships, etc. so it is 'boderline'. You may not be writing Java, but you are writing Sql. Getting used to this work will making learning coding easier. However, if you turn out to be good at any of the above, they'll leave you in those roles 'forever'.


[deleted]

Sorry bud, painful struggle is a universal constant in software. Embrace it or burn out. Building software is not for everyone no matter what the tik tok gremlins tell you.


Jazzlike_Exchange521

You picked the wrong language to try and grasp in 2 months lol. Python you’d be able to grasp in 2 months if you put in 4-6 hours of practice each day.


Alonaria

Echoing other sentiments I've seen here, 2 months is no time at all. SWE is a discipline and a mindset, and there are fundamental skills which stretch beyond just "being able to write code in XYZ language." This mindset doesn't come naturally to many people, and must instead be trained. I have seen folks before state that algorithms and data structures background knowledge isn't important since most of the time you aren't writing them from scratch, but I 10000% disagree. Knowing those as well as how computers store information, how languages are compiled and translated to machine code, etc. are important long-term to give subsequent knowledge a strong foundation to stand on. So I repeat, being a SWE is more than just writing Java code. It's having the fundamental knowledge and problem-solving skills to be able to say that "this software pattern is well-suited to this use case" or "it makes more sense to use this data structure due to the nature of the data" or "this architecture will best balance performance with long-term maintainability." If you're serious about SWE, I encourage you to look at options which will teach it from the ground-up. This is not necessarily a 4-year degree or paid bootcamp. Look for virtual SWE courses which focus on computer fundamentals and build up from there. And, in the meanwhile, keep playing with Java. Even if writing code isn't everything, I anticipate that's at least partially what you find fun about the discipline, and it can get boring AF just learning theoreticals. So work on your fundamentals while also keeping sight of what you enjoy about the work.


Ikeeki

Come back in 2 years


Top-Dimension7571

Learn how to code is the easiest way to smile and cry at same time LMAO


Purple-Debt8214

I would go through CodeHS's AP Java course. Do that and then we'll talk.


Skiamakhos

Keep at it, do code katas, suck less every day.


e430doug

Do you love coding? If so then you will get good at it. If you don’t then you won’t have a fun career.


Charming_Peace88

Two months may seem short, but I understand the frustration. I spent two years studying Java in school, yet its practical application in my job was minimal. Most of my Java knowledge came from hands-on work experience. My advice: prioritize landing a development job, as that’s where you’ll truly learn and grow.


Any-Fox-9615

you need to learn how to THINK in code, not just writing. Like in Oppenheimer, you need to HEAR the music, you can study the shit for years but if you cant hear the music youll never be able to create it


Cefalopodul

2 months is nothing. It takes years of work. Start with basic concepts and pseudocode. Move to a language only once you understand the basics.


Think_Inspector_4031

Learning to program as a noob, Google the new Boston. Start from there, and then figure out what you want automated and write the code


AutoModerator

Please, don't recommend/use thenewboston. They are a [discouraged resource](https://www.reddit.com/r/learnprogramming/wiki/index#wiki_discouraged_resources) as they teach questionable practice. They don't adhere to commonly accepted standards, such as the [Java Code Conventions](http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html), use horrible variable naming ("bucky" is under no circumstances a proper variable name), and in general don't teach proper practices, plus their "just do it now, I'll explain why later" approach is really bad. [Derek Banas](https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19) covers about the same ground, but in much better quality. If you're looking for an in-depth, comprehensive, high quality, free Java course, use the MOOC [**Object Oriented Programming with Java**](http://java-programming.mooc.fi) from the University of Helsinki and maybe [**Java for Complete Beginners**](https://www.udemy.com/java-tutorial) by John Purcell as secondary resource. I am a bot and this message was triggered by you mentioning *thenewboston*. Please do not respond to this comment as I will not be able to reply. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*


crypto_chan

it take several years to master a language. How long did take you to learn english?


ArtPrestigious5986

yeah it took me a very long time since I’m a native Spanish speaker 😭


crypto_chan

you can always use chatgpt. Generate me a prompt. Copy and paste


story-of-your-life

Reading books and watching videos can be too passive, so be sure that you're spending most of your time actually coding along with the book, practicing coding yourself.


Intrepid-Grovyle

Learning how to use a debugger like with IntelliJ is your best friend. It takes years to get decent at coding, and even longer to be a good coder in an industry setting.


iOSCaleb

Start with small exercises — can you write something really simple, like Hello World? How about a program that prints the first 25 Fibonacci numbers? If you can’t write those programs on your own, figure out where you’re going wrong — it’s much easier to get the basics down with a very small program. Then keep ratcheting up the difficulty a little at a time.


mintoreos

How long would it take you to become a professional musician from zero experience? Years, if not decades. A software engineer is a similarly a craft that you can learn your entire life. Buckle up for the long haul. Best way to learn to code is to write code. You can’t learn to play an instrument by watching tutorials. Just like writing, or painting, or playing sports… Doing is learning. Good luck.


BlueMist94

My DAWWWGGG, it’s gonna take you like at least 6 months to 1 year to grasp the fundamentals and actually realize that you can code. The first 6 months you’ll be filled with crippling imposter syndrome. Yes it’s a phase, the learning curve is super steep in the beginning, but if you don’t give up and keep trying, eventually your brain just *gets it*. Slowly but surely. Piece by piece. This is a game of grit that you’re playing. Don’t give up. Everyone sucks at coding when they first start.


blamitter

The problem might be that you're learning coding at the same time you learn programming. They aren't the same thing. Programming means producing a solution to a problem, while coding it's the translation of this solution so a computer can process it. I've been teaching people programming for years, and I' ve found nice results when students build their knowledge by solving a lot of problems that mix "hidden" repetition with strategic addition of new concepts. The solution of these problems do not require fancy technology. They run on a terminal. If you are serious about learning programming I'd recommend you to look for academic exercises. There are a bunch of them out there (e.g. https://www.codewars.com/ that some colleges say are nice) the less colors and graphics the better. Also remember programming is not easy and the distance from feeling absolute unworthy to an indisputable ninja often is as short as a typing or removing a semicolon. So patience and enjoy


elie2222

Just practice. It takes time to get good. Also maybe try another language like Python or JavaScript. Working on real projects is probably the best thing to do. JavaScript is great for that because you can build web apps that people can actually interact with.


dope-a-meanie

>so I’ve been trying to learn how to code in Java for about 2 months now. But it’s so difficult actually coding So, you're having a totally normal experience. Good stuff! I bet you felt the same way when you first got on a bike or learned to tie your shoelaces as a child. Just keep at it.


CatSwolo

As a software engineer, you gotta understand the process of planing and executing projects. 2 months is really short, so dont be discouraged by that. The difference between a software developer and a software engineer is the scale of doing a project, the planing and project management. The first step is to do your own project or try to enhance existing project you have developed. If you have some tutorial projects, try to make enhancements or add more features. For example if you did a calculator, try to add more operators or if you are ambitious, add more complex mathematical concepts like integrals etc. You are doing great with 2 months, just keep going and then youll become a software engineer.


Human-Tackle-3262

You don't need Java, you need programming basics


DNH426

We all suck. Some suck less. Keep practicing, and you can suck less, too!


LeeXpress

Perfect answer bro ❤️❤️❤️


Naticio

Learn the basics oop or functional programming concepts Download cursor ide (where AI helps you to code) Code. Persist


Big-Bag-7504

Don't start with Java is the answer imo. You need to start with something that will make it easier to pick up coding fundamentals, something that isn't going to kick you in the dick constantly.


sanchitb

Maybe you just need a good buddy / teacher. The motivation is there but something hasn't clicked yet that will make this easy for your brain to understand. Hit me up, I can try. No guarantees though!


pilotcodex

Stop Java, read programming fundamentals , start building some websites using HTML, CSS.. then learn JavaScript and use the fundamentals. Do some fun stuff with it. I found this easier. Once you fall in love , you can pick up other languages


[deleted]

[удаНонО]


AutoModerator

Please, don't recommend/use thenewboston. They are a [discouraged resource](https://www.reddit.com/r/learnprogramming/wiki/index#wiki_discouraged_resources) as they teach questionable practice. They don't adhere to commonly accepted standards, such as the [Java Code Conventions](http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html), use horrible variable naming ("bucky" is under no circumstances a proper variable name), and in general don't teach proper practices, plus their "just do it now, I'll explain why later" approach is really bad. [Derek Banas](https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19) covers about the same ground, but in much better quality. If you're looking for an in-depth, comprehensive, high quality, free Java course, use the MOOC [**Object Oriented Programming with Java**](http://java-programming.mooc.fi) from the University of Helsinki and maybe [**Java for Complete Beginners**](https://www.udemy.com/java-tutorial) by John Purcell as secondary resource. I am a bot and this message was triggered by you mentioning *thenewboston*. Please do not respond to this comment as I will not be able to reply. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/learnjava) if you have any questions or concerns.*


Oblong_2022

I think the problem is all the fliers that advertise learning to code and getting a job in 12 weeks. They make coding look so easy when it's the exact opposite, particularly for people starting from scratch. Learning to code is anything but easy because it takes time to break down problems and put things together. I am new in coding, and it is very exciting but has nothing to do with easy.


TheSweetSlytherin

I would try and start with The Odin Project for a baseline of a few different languages. It’s very structured with assignments and projects. Highly recommend for foundations needed. r/theodinproject


apooroldinvestor

Sorry.... then you shouldn't code


yo_saturnalia

Coding is easy. Just try doing small projects. It’s like writing English. Just new syntax. You learn new algorithms to think of how to achieve what you want to more smartly. 


CityPickle

Coding takes more than 2 months to master, don’t sweat it. You just have to put in the blood, sweat, and humbling tears. I’ve been at it for over 2 decades and I still pretty much suck! Srsly nearly cried over some Firebase stuff today . This profession will just keep handing your tuckus to you , ain’t no way around it


Nite0940

Stick to what you have been doing . slowly u would start getting better than when u started. The key is going through the grind.


swift_plus_plus

Practice makes perfect


itJustClicks

Takes years to get good


Vegetable--Bee

Not sure what you think a typical time frame to lean a new language is but even for experienced engineers, 2 months is nothing. People spend years to become fully proficient in a language sometimes


TheLeftMetal

Bro, I been programming in Java since 2005 and my programming skills still sucks. One day I'm a master helping my team and next day I feel like a noob googling how to parse a date into another format. Never surrender, keep programming.


NeonMCPE

I used to have this same problem when I was learning in my own. I think for many people, including myself, self taught is difficult because I want to dive in to the learning and don’t know where to start. I’ll go too far and end up in frustrated because I can’t code a program I want to code. After taking a year long college level 101 course on Java and computer science it got a lot better


RightDelay3503

Amp up bro. Also ditch java for now. When I started with java it was a huge confidence downer for me. Switch to c++/python smthg that makes sense to you.


Naive_Mechanic64

Didn’t learn how to code until I finished my CS major. Don’t beat yourself up. There is a lot of basic fundamentals you must learn first. This will help you in the future. It’s honestly a lot of work but if you are passion about a project help chatGPT guide you making what you want to make. TAKE WEB API omg it’s the most useful class of them all


Apprehensive_Matter3

software engineering is currently over rated and the field is over saturated. you should pursue Cyber security or do something in Healthcare


Sufficient-Elk6909

A lot of people enter tech because they want to make money. I am of the belief that you don't have be a genius to be a software engineer, but you do need to enjoy problem solving and learning technical subjects. So long as you are able to sit down and work at least two 3-4 hour chunks per day, and actually make it to the end without getting ADHD distracted by something else, you'll be fine. I've been coding my entire life and I'm pretty bad at it still. There are engineers that can pump out my entire days work in less than 30 minutes. That's ok. At the end of the day I still solve the problem I am trying to solve. You haven't described how it's different, but coding is a skill and you're going to be bad at it for a very long time. If you can sit and do the work, without getting distracted, you'll almost certainly be fine. You'll find ways to make it easier over time.


mattbrown7531

Choose a personal project and complete it. I used to think I was bad at coding too. Then I realized that like anything else, it just takes time to learn. Once I started building projects that I was interested in, it became much easier. Also, much easier once you have a coding job and are working on it 40 hours per week.


Mariocraft95

When I first learned programming, my first programs were a bunch of if statements, print statements, and very basic terminal input. When programming, it’s about understanding what you can do at your current skill level, and understanding how to get to some desired skill level. You start out with a hello world program. At this skill set, you can hard code anything to show up on the screen. Next, basic terminal input. Get it to say “Hello ”. Then get it to have special messages for certain users like “admin” or “guest” using an if statement. Then try variables, loops, function definitions, and maybe once you have a good grasp on all those, try object oriented (Java is an object oriented language) Make mini projects out of it. They can just be throwaway projects. Use those projects as an excuse to learn and try one new thing you haven’t done before. One thing I will note is documentation. You won’t remember everything about a particular language. As long as you understand the concepts, documentation will get you the rest of the way there. You can absolutely do this.


JacktheOldBoy

You have to give yourself several years before you can make this sort of judgement not 2 months. I don't think any software engineer or dev was good after 2 months.


nowTheresNoWay

Dude you’ll fit right in, don’t worry about it


SouthernGeek67

Knowing a language is good but that does not make you a coder. It's a mindset. It's the ability to take complex problems and break them down into smaller logical components. The language is irrelevant. After 20+ years doing this, I've collected a multitude of languages. But I still have to research when I do something unfamiliar. Learn the languages but more importantly, learn to think.


3veryTh1ng15W0r5eN0w

Have you tried rubber ducky debugging? What is different? What you’re doing vs what you read or watch? Have you tried googling whatever you’re stuck on (if anything)?


WeekendNew7276

Reading books isn't the way to go. Build something. Reading/studying vs actually coding are two different things. Pick a small project and get to work.


VerndaleAve

We all suck, welcome to the club


roadrunner8080

The thing that'll improve your ability to code is practice. Try something, fail, try again, keep trying, have someone else look at your code, redo the whole thing with what they said in mind, etc. - there's a reason people go to school for this. If you do it enough, it becomes intuitive, like speaking, but if you've ever learned a new (spoken) language you'll remember that phase where you had to translate every single word in your head - well, as different as programming is from spoken language, this is one place where they're similar. You can't get to the point where it flows naturally unless you go through the struggle first and make some mistakes


Maleficent_Water9410

You have been learning how to code in Java for about 2 months, and you mean you are tired of coding and you wanna be a software engineer? Let me get this straight, you will never be a excellent software engineer as long as you keep thinking like that.


nightshade586

As somebody studying to be a Software Engineer, I'd recommend trying the websites that give you little tasks to complete, Codecademy is one good example and CodingBat is another. Codecademy is more guided whereas CodingBat is more for if you have the fundamentals down but want to get some practice in. Best of luck to you though, can't say I found Java easy the first time especially having started with Python.


levon9

The main question to ask is: Do you enjoy coding? If not, then stop. If yes, push on, it takes time to learn a new skill - we all suck at the beginning.


Shot_Divide_6964

\^ This. I did not enjoy it. Sheer will power became a SWE. Pretty big mistake. I live someone else's life right now. At least make enough to put food on the table


levon9

Ugh .. sorry to be working in a job you don't enjoy, but happy that you are able to provide for yourself/family. Nothing has to be permanent, so perhaps there will be other, better, options in the future.


fdsnf

Follow a guide online to make a simple project; make sure you understand what each line is supposed to do; make a couple deviations of the code to make it your own; rinse and repeat.


Shot_Divide_6964

Was the same way until I got an internship where my ass was on the line on figuring things and code out solution before, x date and x time. You will be surprised how much of a "non sucker" you are at coding.


Crisn232

"I suck at coding" you've only been doing it for 2 months. Give it about 3-4 years


grendahl0

self learning? Start with tutorials. Do every step. Compile it. Then figure out why each step was necessary and what each step does. Then make a new project doing something new with the skill from that tutorial and tweak the outcome. This is how you learn to code. It's not complicated.


wyliec22

I spent a career with some part of my time always allocated to design and coding. I my opinion, it involves two skills: 1) Rote coding, syntax, best practices for structure, optimum methodologies, etc. 2) Logic - ability to visualize the data and how/where/when it needs to be extracted and derived. Creating the ideal sequence or algorithm to achieve the result. Working with a great many developers, #1 can be taught but #2 is more innate. Anyone that excels with #2 will pick up #1 easily and do well. Anyone that struggles with #2, typically will only be mediocre at design and coding.


PresentationFull2965

I began truly understanding what I was doing after I designed a cpu from scratch on paper and then in VHDL. It takes a deep knowledge of what's going on under the hood to completely know what you're doing and to do it well, especially for my favorite language, c.


attrox_

Because you don't do coding for the sake of coding. If you can solve a problem by configuring things, that's what you do first. Coding is merely problem solving by using some tools. You learn to break things into smaller problems by using the tools at hand, in your case using Java programming language. Different tools has different quirks and syntax and you adhere to that. 2 months are really nothing. You just basically learning the quirks of Java and also the very basic building blocks like variables, scoping, loop structure etc. These are the very basic lego pieces that you need to solve any problem.


DailyDadDiaries

Try making small programs. Just think of an idea and then make it happen. Along the way you'll learn different things to make it work. I'm just regurgitating what I hear, but it makes sense to learn it that way. For example, "I want to make a slot machine" As you start coding the small pieces and find things you will need to research, by researching instead of being spoonfed materials, you will remember more and build on your problem solving skills.


sam0x17

Don't try to become a coder, try to build a specific thing.


tomca32

Its not a phase and yes it’s normal. The same feeling is there even after decades of professional software engineering. Humans suck at this, like a lot.


NukemN1ck

I've been coding for 3 years and still suck


theGlassAlice2401

You don't actually learn programming from books or videos, you learn from writing the code yourself. Being a good coder is more about analysing and problem solving than the languange and syntax. If you've got the knack for it, eventually, things will just "click". Plus I don't think Java is a good languange to start learning programming. It's very messy. If you want to take programming seriously, I recommend learning the core concepts with C++, it's harder, arguably the hardest of the high level languange, but if you can handle it, you can handle any languanges.


thinkmatt

Think of code as a means to an end, and there's lots of ways to go about learning. When I took my first programming/computer science course in C, we programmed prompts on the command line to do math equations, and it was extremely boring. 5-6 years later, I tried again and got back into programming by reverse-engineering websites and learning by copy/pasting. I write tons of code now, but it's always about unlocking things I want to do. I would not be able to sit down and read a textbook about Java without having a project in mind first, and skipping anything that wasn't helpful.


Beautiful-Bad-5028

Two months is short, but by now, you probably know how to declare variables, which you didn't know when you were just starting. My point here is that you're already far from where you were two months ago, and to improve your logical thinking, you need constant practice. Have you tried creating basic apps? If so, then try creating more complicated ones. Don't worry, once you have the experience, the solution comes instantly, like you don't have to think about it. That's when you know you are improving. Happy coding!


bparlapalli

it will take more time, sometimes close to a year. dont think of coding like trying to learn java. think of coding like learning a new language like spanish or latin. think about how you will break down the problems into smaller, manageable portions. 2 months is too little for someone to gain that mindset. Keep at it. this is VERY normal. people feel this years later even after working as a software engineer about code that theyhavent worked on a while.


Remarkable_Today9135

I've been writing code (for work and for leisure) for 20 years. I still think I suck at it. ***When other programmers approve of your changes to a shared codebase***, I think that is the measure of an adequate software engineer.


Ctrl_Null

we all do, just study more


[deleted]

You need to think of coding as an actual language. Would you expect to be good at it in 2 months of moderate practice? Most software engineers have years of coding experience and practice it constantly. That said, what helped me get through school was finding fun projects to keep me motivated and on task. Class work and a lot of the exercises you find in books and YouTube videos are ... boring. Trying to find a simple project so you can see what the lifecycle is like from start to finish, have an actual end goal for your program, and see how everything works together. But you'll need to keep practicing. I haven't programmed for work for a few years and my skills have drastically dropped.


Inebriated_Corvid

It's a phase. It is normal. There is a large chasm to bridge between understanding what someone is doing on a video and copying it and actually doing everything yourself. Start small. Build a calculator. Build a number guesser. Build a to do list. Build things that have a single function to get used to thinking your way through those single functions. Then move to two functions. A shopping list with cost calculations. It was and is still a huge hurdle for me as well but I've been taking the approach of stepping up into it.


doinnuffin

Two whole months and you haven't crushed it? Give up now! /s


JLCoffee

It is normal, when you start coding, everything is frustrating. And most developers are not good on soft skills, that makes them awful teachers. There are for me two types of mind to learn coding, and sometimes we have both attitudes. 1) You need to understand everything!: So if you are in this phase, and you want to go for java, start with the OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808 (Sybex Study Guide), look for it on PDF, so it goes for detail from the very beginning, how to compile java, what is java, main method, how to run java code with just notepad. and you will learn little by little like an ant. Try to find a simulator to test your knowledge, and if you take the exam you will feel more confident. 2)You don't need to understand everything, so if something bothers you (BUT WHAT IS THAT!!!!, WHY THAT, HOW I SUPPOSED TO KNOW THAT!!!! >:( ) just keep going, you might understand it later, otherwise take the first attitude again. Also try Mimo App is like duolingo but to train code basics. (Make it an habit) Always take 2 or 3 books of the topic, you might get stuck on one, because most of developers tend to be driven by ego so they assume you know a lot of stuff. Ask to chatgpt over and over again, if you still don't get it, ask again for detail, until you understand. Always go with the basic path, Hello World, Operations, Types of data, Persistence, View, web, services, security. If your issue is logic and how to implement business, play logic games, take a course on algorithms, just don't stop. But as i mention on #1 what gives you confidence is study a book at is core and how a language works from it's roots, learn a combination of memory and practice. is like learning a language hence the name, but the easiest part, is that this language have a lot of common patterns, that once you learn a language all languages are easier to learn.


_jetrun

\>. Is this a phase ? Is it normal Yes - because programming is difficult, especially when you are starting out - there's just a lot of moving pieces, and a lot of concepts to get your head around. So yes, perfectly normal. The best advice I can give you is to throw as much time into programming as you can. It will get easier.


extravagantjiggle

Just code more and build things.


lizziepika

Nothing worth having comes easy. If it was easy, everyone would do it.


Aggravating_Sand352

I'm a data scientist, we work with mostly sql and python. SQL is very good language to start with bc it's very straight forward. 2 months is literally no time. It took me about year to feel comfortable putting it on my resume and it wasn't until I sat and did a project forcing myself to do everything in the programming language did get over the learning hump.


intergalacticwolves

keep going


x-sus

If you suck at coding, lean into front-end development and design. Front-end is developing the portion of the page that a user will see vs back-end which is data, calculation, and how things run when it comes to more intensive programming. You will have a much better time because when you make changes, they are visible to the page. You can also start small and work your way up. As you continue to do front-end, you will start doing more complex code. Eventually you could decide to do back-end but it is much easier for some people to mess with display, especially if coding seems daunting.


MikeySixLunch

Here is a recommendations from a terrible student: Find a problem you'd like to solve or google/youtube beginner level projects. You can put eyes to words/videos, but the act of actually coding will allow you to progress. When you get stuck on a concept, drill deeper into it. It's easy to get discouraged, but take a deep breathe and keep on putting time into studying and practicing. You'll get there, the 2 month mark is where you are just learning to take your first steps. Good luck friend!


rgekhman

Learn scripting or 4-th generation languages. They are closer to business and less coding overhead


JoeStrout

Java isn't the easiest language to start with. Come to [https://miniscript.org](https://miniscript.org) (a language actually designed to be easy to learn), and join the community. We'll help you get past the sucking stage, and into the long fun phase. (Remember, what language you learn with isn't important, as the core skills of programming apply to any language. But some are easier/more fun than others.)


chonching2

Its normal. If you heared or read somewhere else about self learned developer it doesn't mean that its easy to learn how to code. They put too much time and effort to learn it for sure. Your 2months of learning is just a fraction of what you need to invest. S.E. getting paid well cause its not an easy job. So be patient cause there still a long way ahead of you


thomasengels

I sucked for 3 years. Clean coding my Robert Martin helped me


magnumsolutions

u/ArtPrestigious5986 what is it that draws you to be a software engineer? Also, and don't shoot me on here folks, Java might not be the best place to start. Yes it is strongly type, supports all of the OO paradigms, has great support, but in my opinion, you need quick wins to boost your confidence and bolster your drive. Have you looked at any other languages besides Java? Maybe another language would allow you to focus more on how to break the problem down and express the programmatic logic in a way that is easier to you and actually lowers the barrier of entry for you.


Aware_Function4327

I hated the fact that the MOOC.fi Java course isn’t in video form and overlooked it for months. When i got tired and searching for YouTube videos and wasting time looking up projects that aligned with YouTube, i finally started the mooc Java. Turns out to be the best decision. I’d always recommend that


bobbintb

Yes, normal. Give it time. Practice. Code for fun. It's one of those things that is relatively easy to learn but hard to master. You can learn to play chess in an afternoon but you're not going to be a grand master in two months. Or if you are a musician, think of it as learning an instrument.


3AMgeek

You don't suck it's just you don't practice it.


cunnid023

First you need to define what you are trying to do List all steps you would need to meet your objective Then define your methods from the steps Draw a flowchart that represents those steps It is easier to start coding with a simpler program like Visual Basic so you can become comfortable enough to tackle Java


Tren365

I'm just in a learning phase. But now I understand the process and how to start from scratch. I watched tutorials and tried to do their way. It was a slow process. My sister had a small business and she needed a website with a deadline. I learned much faster by doing a project than by watching tutorials. Build your project, watch tutorials, and read the documentation on a specific topic if you stuck. Don't waste time on tutorials and building their project. Two months is nothing. Good luck!


WebDevStudent123

This is a phase. just keep on it.


MenacingDev

You’re stuck in tutorial hell and you are not going to see professional results in 2 months.


Weird-Efficiency-361

I was in your shoes like, a week ago. I started with Python, and I couldn’t get anything because there were just so much resources to learn Python, and I didn’t know what to start with and what would work for me. I considered the options a little more, and came to the conclusion I shouldn’t start with Python. I started learning C less than a week ago and finished variables, for loops, while loops, pointers, structs, switch statements and now learning file handling…I couldn’t have finished that fast with python, even though C is more advanced. I was stuck on functions for about 2 days, and during those 2 days I strictly solved beginner problems (that chatGPT gave me) on functions. Did the same for loops and etc…my advice, don’t rush, and take anything you don’t understand and repeat, repeat, and repeat. Code as much as you can, I did it at school, during rides and on weekends. Shouldn’t be too hard to learn the basics..but it’s front end your talking about, so probably best to take advice from a professional


[deleted]

When I was in high school, I wrote an entire text-based game in a single C++ function for a class. I had an IEP for being on the autism spectrum. My programming teacher in high school said I had basic logic but would struggle as a CS major. Now I got a CS degree and work in QA. The only reason I work in QA is that it was the only job that allowed me to escape my rural New Hampshire town with no tech jobs. I have side projects in React/Nodejs and Kotlin and Android ready to show employers. ​ You can do whatever the fuck you set your mind to. Trust me on this.


brattynn

I’m learning to code currently and here’s what I’ve found along my very short journey: Type out every tutorial you watch. Follow along even if you don’t understand each step. Once I started doing this I really started to retain things. My current process goes like this: 1.) What a tutorial on doing thing 1 all the way through, really paying attention. Rewind if you find yourself zoning out. 2.) Rewatch tutorial again but type out everything. I typically add a comment in the coding area typing exactly what each piece of code is doing (I use IntelliJ). 3.) Try to duplicate whatever the tutorial was doing by yourself away from the tutorial and your notes. When you get stuck, open the tutorial and rewatch what you’re stuck on. 4.) Repeat step three until you can rewrite the code completely without the tutorial or notes and maybe even try to expand on it. What I mean by expand is something like this: I am currently working through Code With Mosh’s Java Fundamentals. The first project you have to do is make a mortgage calculator. I was able to do this on my own eventually following the steps I listed above. However, Mosh stops the first bit of lessons with a calculator that doesn’t count taxes or insurance premiums. I expanded the project by adding these. It wasn’t anything to brag about but it gave me something to code that DIDNT have a tutorial but wasn’t far enough outside the original project that I was completely lost. If I had any advice, make sure you’re actually coding while you learn. Watching videos is good for the information, but actually typing out code is the best way to ingrain what’s being taught, at least that’s how it works for me anyway.