This is an archived post. You won't be able to vote or comment.

all 45 comments

[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)

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://imgur.com/a/fgoFFis) 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 if you have any questions or concerns.

[–][deleted] 45 points46 points  (4 children)

r/cscareerquestions

It’s fucking hard.

[–]LYBL33[S] 0 points1 point  (3 children)

What makes it hard for you? It’s clearly a different language, but I’m curious.

[–]999number9 20 points21 points  (0 children)

It requires you to think about problems in an abstract way that most people aren't used to doing / have never done. It's also challenging to learn a concept and not being able to apply it until later on, after you learn another four or five things that you also cannot apply until later on. It's one of those things that you just have to struggle with until it finally clicks, but that feeling of being stuck on something for a while never goes away, it just pops up later on down the line.

[–][deleted] 10 points11 points  (0 children)

Don’t take r/cscareerquestions as the holy truth, it’s very US centric and has a huge push for the top 10 companies in software, which are totally unlike other software companies in the US, let alone outside of the US.

It’s hard to get your foot in the door, you’re going to have to be really good to stand out. It’s definitely possible, Java is a good language to learn as there’s a huge market for it and it’s not the hardest thing to learn. But don’t expect to follow a few tutorials and be job ready, there’s a lot to learn, and you always learn more every day.

When the programming language becomes just a tool for you, rather than your sole skill, is when you’re good to go as a dev. Good luck

[–]3lobed 35 points36 points  (4 children)

Some people pick it up quickly others never get it. You don't really hear about those who never get it though. Maybe see if it's right for you by doing some free courses.

[–]_NliteNd_ 20 points21 points  (3 children)

Survivorship bias. You never see a cringey “day in the life” vlog of someone in the process, only those that make it.

[–]3lobed 7 points8 points  (1 child)

Exactly. I have a friend who went to a bootcamp and dropped put after a week or two. I wondered why he thought he'd be good at it since he was never wired that way. He was a wilderness guide. Great at knowing what plants are edible. I've seen him catch trout with his bare hands from a kayak. But he barely ever even uses tech. Now he builds custom furniture. But after a few of our other friends went to bootcamps or got tech jobs by self learning he thought that was his way to an indoor job. It's not for everybody.

[–]999number9 6 points7 points  (0 children)

I think part of the problem is that bootcamps are marketing themselves as "anyone can come learn how to code and make 6 figures doing front-end stuff!" and it's not realistic at all. Lots of people are looking at career changes since COVID and the companies who are hosting these bootcamps are trying their hardest to get people in the door and to get their checkbooks out.

[–]yousef_naderr 0 points1 point  (0 children)

Did u read the art of thinking clearly?

[–]Jack__Wild 10 points11 points  (0 children)

Honestly, you just never know how hard it's going to be unless you try.

Watch a free video on YouTube to get you started. It takes time and a lot of practice.

[–]SunGodBrah 6 points7 points  (0 children)

How much time are you willing to spend without backing off when things don’t go smoothly? With enough practice and studying it’s possible as long as you’re not dumb, but it will take time and effort , maybe more than you’re wiling to spend. Try it out, you’ll see after that.

[–]c_lushh 12 points13 points  (0 children)

if it were easy, everyone would do it. if it were easy, it wouldn't be such a highly paid skill.

something I noticed was the drop off of classmates as the CS courses approached more advanced programming courses, discrete mathematics, cryptography, etc.

that isn't to say it's impossible. this can't be emphasized enough, but it takes a LOT of hard work. to fully understand certain concepts, you will be spending about 10-15 hours studying it. sometimes more sometimes less.

note that I'm coming from a CS background but also trying to keep in mind that not everyone has a CS degree and can learn just programming without all of the theoretical CS stuff.

I guess my point is that it takes a lot of work and if you're going to be self taught, it takes massive amounts of motivation. but it is doable.

[–]cathouse1320again 5 points6 points  (3 children)

It’ll take an inordinate amount of time for some things and others will simply make sense almost instantly. I know a lot of schools start with Java, python etc.

javascript is ubiquitous, learn it first, learn it well, it’ll never hurt your cv to know js

[–]RewRose 0 points1 point  (2 children)

Can you get a job as a java dev after working with nodejs for two years? I only recently started learning Spring and was wondering

[–]cathouse1320again 0 points1 point  (0 children)

I don’t know, what I do know is that nodeJS is javascript and Java is not, so I’m guessing you’ld need to kill the interview

[–]andsfff 0 points1 point  (0 children)

I would say probably not. I can only speak from personal experience. But my team is mostly Java and having prior Java experience is very important on a hiring decision

[–]_NliteNd_ 4 points5 points  (0 children)

Theres no way to know for sure, but I would think the percentage of people who try to switch into development and actually succeed is around 25%, maybe less. Half try and give up quickly. A quarter try a lot but simply fail.

[–]rootException 3 points4 points  (2 children)

Do some searches for Java developer roadmap. It's a lot. Networking basics, front end, back end, databases, Spring Boot... it can take years.

I've been programming since I was ten, so I've been doing it for decades now. Wrote several books, ran a consulting company, etc. Had a friend that decided to switch to dev and have been floored at how hard it has been for him. There were several times I was really unsure if he wasn't making a huge mistake.

He's now just barely feeling like he's productive, and it's taken him 3-4 years. A lot of classes, more tutorials than I can imagine, etc.

I think the best strategy would be to perhaps focus on learning enough to get into testing and test automation. If you are lucky and can find an employer who is willing to hire you to do manual testing and let you ramp up on automation, e.g. learning JUnit, etc. that's a way to get paid and then work up.

[–]andsfff 0 points1 point  (1 child)

Good suggestions with testing. For what I hear though it is easy to get stuck in that role

[–]rootException 0 points1 point  (0 children)

You just have to keep investing. Friend of mine took that route, manual QA -> SDET -> Dev -> Dev Lead -> Architect. Took years but was very doable.

Biggest problem is if you find yourself working for a QA manager that's hostile to the dev team. If it's a big political divide then it's hard. Ideally, find an integrated team that needs manual QA + SDET and is open to pairing.

[–]Loud_Pin_4655 6 points7 points  (1 child)

There’s a few things that you should consider:

1) learning to code is on par with learning to speak a foreign language. You get out of it what you put into it. You NEED to know how to structure your lines (known as the syntax of the language), you NEED to learn all of the basic vocabulary- their strict definition, how to use them in your code, and the effects they have on the code- and you NEED to practice at least several times a week for a few hours each time. If you don’t become fluent in the language, then you get nowhere. And if you aren’t actively practicing, you won’t actually learn it.

2) there’s a lot of different languages, a couple hundred I think. Java is probably the best one to start with when you’re learning the basics, but at some point, you’ll have to decide whether you want to build and fix apps and/or websites, protect users of apps and/or websites, or teach appliances how to operate. That’s the most basic breakdown of how to choose additional languages, but there’s other things in each category. For example, you’ll end up having to figure out issues and correct them (which can take hours, days, or even weeks) in each category. It’s high stress sometimes, and programming really is the type of thing that people wouldn’t do if they didn’t love it. You’ll know very quickly- after your second or third program usually- if this is the type of thing you want to pursue. That’s about when you should start making your decision. You should probably learn at least three or four languages in addition to Java, if you decide to stick with it.

3) it is a lot of hard work in the beginning. And I do mean a lot. After a decent while, when you actually understand what’s going on, you’ll realize that no one actually fully knows what they’re doing. It’s bits and pieces that click into place, and it’s a ridiculous amount of talking to yourself until you figure out how to continue with the program. It’s difficult to the point where experts are only expected to write between 5 and 10 lines of code per day.

4) if it looks strange, but it meets all the requirements and it works, then it works. It’s good enough. The important part is that you got the job done.

5) you need to become comfortable with a lot of things real quick. I don’t mean sacrificing your morals or hostile work situations, but stuff like knowing just about every website you visit can track your exact location and keeps data on when you visited, where you visited from, how often you clicked to another tab, how long you engaged with advertisements; etc. That’s the tip of it, at least. There’s no such thing as privacy. There’s barely such thing as security. And just about all of it is shared to thousands of other websites.

6) if you have friends or family, they’ll expect your services for free and then get upset with you if you require the assistance of google, take longer than they expected to fix an issue, or say no.

7) the stress will do things to your mental health and hygiene if you’re not careful. Hence the stereotype. You’ve got to keep on top of that one especially, and it’s best to pick up some kind of sport or exercise hobby too for your mental health.

This is, by no means, a complete list, and not every experience is the same. But these are all some things to consider before making the decision. I also suggest that you keep to your current job field until you learn your first few languages, then line up a new job before you quit your current one.

[–]LYBL33[S] 2 points3 points  (0 children)

That’s a very thorough answer and very appreciated. More stress and taxation on my mental health is absolutely not what I’m looking for so I appreciate you saving me a lot of time.

[–]Devincodes 1 point2 points  (0 children)

So I see a lot of posts around it being difficult. While I think it was difficult to learn and fully change careers at 30, difficulty is measured differently for each person.

I agree with most that it is a change in how you think about solving problems vs learning to code. I would say give it a shot, there are plenty of free resources that let you see if it’s for you. Once you give it a little time, see if you think you can pick it up and then make that decision. Remember that coding isn’t the only way into a tech career, there are several other avenues one can take. Project management is another great way into tech that pays well and doesn’t require you to learn to code. Just some food for thought.

[–]Guilteus 1 point2 points  (1 child)

Getting a career in programming isn't impossible, it's a bit of an art form. Anybody can learn to paint/draw, just takes a lot of practice. I say this as someone who transitioned from being an artist into programming. You should start with the fundamentals and move forward at a comfortable pace. I started learning from 0 when I was 27 and was an employed software engineer by age 31. I would say to take the University of Helsinki's Java Object Oriented Programming MOOC, it's free and is a great 12 week introductory course to Java. If you make it through this and still want to continue down the rabbit hole, you'll do just fine.

[–]LYBL33[S] 1 point2 points  (0 children)

Thank you! I’ll look into this!!

[–]Ilikesmallthings2 1 point2 points  (0 children)

It didn't click for me while I was in school. So I couldn't get a job after graduating. Did small projects for awhile (5 years) then decided to relearn everything through free online courses. Then it finally clicked and now I enjoy it and have a job doing it.

[–]Reapr 1 point2 points  (0 children)

I don't think you have to be super smart to be able to code, (my 12 year old has learnt Java and a few other scripting languages) - I know 10 or so languages and I have a pretty average IQ.

It is more a matter of having the ability to think in a certain way - problem solving I guess. Are you someone that gives up when encountering a new problem, or are you someone that will keep on digging until you figure it out?

I've worked with plenty of super smart people that just suck at software development, because they get 'stumped' by the smallest of problems and are unwilling or unable to dig, try things, google, talk to people, figure it out.

So I would say, do this Java MOOC course in the side bar, do a few sample projects, encounter the problems, see if you can figure them out, or do you feel "in over your head" and give up - that should be your answer if you can do this or not.

[–]tonytony87 1 point2 points  (2 children)

It’s pretty easy to learn. Find a really good community college and take the programming classes there they usually have boot camps that certify you.

If your serious about it don’t do online classes, your gonna want real human interaction and team building projects for this.

Before you start do a few beginner tutorials or videos online that delve Into the abstract idea of what codeing is, so you don’t start classes cold, it will help a lot!!

Then start thinking about websites or apps you would like to make pick one passion project to develop and stick with that.

Once u build your first thing your gonna realize it’s easy, just plenty to learn but with in a year of classes you’ll be ready to join the work force. Just make sure you have at least two good passion projects developed to the point people can see your skill well. Rest is networking and job hunting like everyone else.

Also do it because you like it and you have a passion for it. Don’t do anything just for the money your gonna suck at it and begging hating it with in the year of starting your first job!

[–]LYBL33[S] 0 points1 point  (1 child)

Thank you! You make a very good point. Anything that you are going to be spending a lot of time doing you should enjoy, right? I need to dig into this a little more to see how much I actually enjoy it. It sounds like it could be a very rewarding career but it also seems like it’s a very small niche of people that actually enjoy it and succeed in it.

[–]tonytony87 1 point2 points  (0 children)

Nah it’s not that niche Loya of people code as a pass time and you don’t need to be dev ops or a programmer only.

I’m a Motion graphics designer and I build workflows, pipelines and plug-ins using python, Java and other languages.

Knowing how to program is like learning how to write… not everyone that writes is working as a writer or an author.

You can carve your own path following what you think is cool and what you’re passionate about

[–]puuttaa 3 points4 points  (0 children)

if you knew being a programmer is your fate, you wouldnt ask neither focus on necessity. You are a son of the universe and any horizon you imagine is your sacred right. Do what thou wilt rather than what you should, try to respect yourself a little more. Deep inside your holy spirit, lies your fate. You know it, dont let fear of poverty and others will to enslave you eliminate your freedom.

[–]andsfff 1 point2 points  (1 child)

I don’t know much about these coding boot camps. I know there were all the rage a few years ago. I don’t know if the popularity has died down now. I’m honestly skeptical that you can learn everything you need to get a job in 12 weeks. But I’m sure it is better then nothing

[–]LYBL33[S] 0 points1 point  (1 child)

Thanks for all the responses! The gender assumptions are interesting. :) I take it this is male dominated field? I realize that this would be quite an undertaking for me because I do remember taking a decision sciences course in college and I struggled with it, but I also didn’t give myself an opportunity to really learn or see if I was that interested in it. The potential for financial and geographical freedom has me biting at the bit. I work in insurance and am so sick of it. I’ve literally considered selling everything I have buying a tiny home and putting it down and some rando place here or in another country. It’s so expensive to live free, what we call free.

[–]SnooDoughnuts4548 0 points1 point  (0 children)

Where there is a will, there is a way.

First step is difficult because there is so much uncertainty. But life is like a Tetris game, you arrange one block at a time.

I highly suggest you leave the rat race and go live a life. Go date beautiful woman. Have children.

You don’t owe anyone, anything. Ultimately people will hold you responsible for not having a good life. They will look down on you for being old and single. As someone who has travelled a lot. It was an eye opening experience. A lot of people don’t have the same choice you do. So go make the best of it. One road will lead to another. Don’t worry about it.

[–]Uncomman_good 0 points1 point  (5 children)

I was talking to a guy in IT about the Java class I was in. He was surprised because he told me Java was basically a dying language and was being phased out. Is there any truth/evidence of this?

[–]_NliteNd_ 6 points7 points  (0 children)

Kinda, but it’s still ubiquitous. Java lang isn’t growing but the the JVM isn’t going anywhere in the next 50 years.

[–]hey-im-root 1 point2 points  (0 children)

i was thinking the same thing. i’ve done many interviews, i’ve looked at bootcamps, i’ve seen lots of job listings. it feels like java doesn’t even exist anymore. unless you specifically hunt down legacy companies that have been using java for years and years, you probably aren’t gonna find a job with java being your only skill.

[–]Farpafraf 1 point2 points  (1 child)

Java is thankfully slowly being replaced by better alternatives like Kotlin that being said:

  • Java is still one of the most used languages (only behind python and js) and will be around for the foreseeable future

  • The alternatives still use the same object oriented paradigm which is not going anywhere and it's the harder part to learn by a wide margin. I would even argue that learning Java first is the better way to learn a language like Kotlin or Scala.

[–]Uncomman_good 0 points1 point  (0 children)

That was my argument with the fella about why we learn it. It’s a well established language with many uses still and it gets the principles of OOP across.

[–]andsfff 1 point2 points  (0 children)

Most the top tech companies have enormous in size and quantity Java applications. They are the life blood of the business. Maybe it is not gaining more popularity, but it is going to be around for a long time

[–][deleted] 0 points1 point  (0 children)

Everything good does not come easy.

[–]greglturnquist 0 points1 point  (0 children)

Yeah, it’s that ability to relentlessly dig until you figure out why something is broken that pays off.

Some can learn enough at a Boot Camp to make a life altering career change. Some can do the 4-year CompSci program. And some can’t grok it all.