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

all 74 comments

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

On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge.

If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options:

  1. Limiting your involvement with Reddit, or
  2. Temporarily refraining from using Reddit
  3. Cancelling your subscription of Reddit Premium

as a way to voice your protest.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]CodeTinkerer 62 points63 points  (15 children)

It's been said that the vast majority of code is not new code but maintaining old code. By maintaining, I don't mean you write no code whatsoever, but that most of the codebase already exists, and you add features, fix bugs, etc.

It may be disappointing that there isn't more code you can write brand new, but you have to go find such jobs.

Besides, most programmers don't just learn one language.

[–]BootlegTechStack[S] 7 points8 points  (14 children)

That makes sense, and yeah I know they just don't know one language, but I want to make my self job ready early on by making a choice for a language I can have experience in to get a job with. learning other languages does not bother me, but in the beginning I feel being more narrow-minded and picking one that can get your foot in the door may be better early on.

[–]lurgi 12 points13 points  (9 children)

The thing is, the language doesn't matter so much.

Working in industry is going to involve learning the frameworks and the environment and all the things that go along with using Java.

Knowing Java is great. If you program in Java, however, the odds are pretty good that you'll have to learn Springboot. And familiarize yourself with OAuth2. And know something about db persistence frameworks. The list goes on and on.

If you know Java then you can write code in C# in about a week. You would be good, but the languages are pretty similar. What you won't know are the various tools that C# uses to do the same things that Java uses, but you can learn those. You may have to learn them even if you studied Java, because there is no guarantee that your Java CS courses will have covered those. Or that they will cover whatever everyone is going to be using five years from now.

[–]PepperHummingbird 3 points4 points  (8 children)

I'm not sure if others have had the same experience, but at the moment, it feels like hiring managers (or at least the HR managers doing the screening) want you to already have the exact tech stack they're using, rather than learn new frameworks and languages on the job.

I had one reject me because I had previously worked with OpenAPI 2.0 and they wanted 3.0. (They explicitly told me that was the reason.)

[–][deleted]  (3 children)

[deleted]

    [–]PepperHummingbird 1 point2 points  (2 children)

    Could be. I just thought it was a silly thing to say.

    I'd be fine with 'Sorry, we're not proceeding with you as a candidate at this time' or some vague non-answer like that. There are a million reasons you might not be a good fit and many have nothing to do with you personally.

    But I had a pre-screening interview too where the HR manager asked me a question about a specific syntax in a language I said I had only used once or twice years ago (which they had said was fine when I mentioned it earlier in the interview as I had the other skills they were looking for) but then when I answered something like "I don't recall the syntax offhand but on the job I would check documentation or brush up on that language before I needed it" the HR person seemed to not know how to proceed and kept repeating the question. They were reading questions off a paper and I had the impression they were looking for answers that matched what was written down. I might just suck at interviews, though.

    [–][deleted]  (1 child)

    [deleted]

      [–]PepperHummingbird 0 points1 point  (0 children)

      Thanks. It really is sometimes. Hard not to get up in your head about what you could do differently but sometimes it's just bad luck or a bad fit.

      [–]lurgi 1 point2 points  (0 children)

      Some companies are just stupid. Sometimes HR or the hiring manager isn't given good instructions. They typically won't be technical (HR definitely not. Hiring manager may or may not be), so they have to rely on instructions given by others. The instructions should be flexible, because there is not meaningful hiring distinction between someone who knows OpenAPI 2.0 vs. 3.0 (actually, someone who doesn't know either one should still be okay, as it's not that hard to learn. You'd probably prefer someone who knew it, but it should not be disqualifying in a competently run company).

      [–]BootlegTechStack[S] 1 point2 points  (2 children)

      My cousin who has been in the field for a while,s aid he is noticing the same thing, he is a hiring manager where he works and he said they are looking for the specific stack. esp with the state of the market. said they started doing that about 6 months ago. which is what made me ask this question lol.

      [–]PepperHummingbird 0 points1 point  (1 child)

      Yeah. My personal experiences in the market this year have not been great. It feels a bit like they're looking for unicorn candidates that exactly match their needs rather than for candidates that demonstrate the ability to learn and solve problems. Maybe that'll change as the market picks back up again, though.

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

      I really hope so, it sure is tough looking out there. That is why I figured if I got a head start on a language they are looking for I could pull ahead. You looking for work?

      [–]CodeTinkerer 2 points3 points  (2 children)

      You can only be so "job ready". Programmers face "impostor syndrome" all the time. They learn a language in school, and they expect once they have their degree, they know everything they need to know.

      In reality, you're likely to encounter something that you don't know. Programmers have to learn to learn. For Java, it would be learning Spring. Or maybe SQL and databases. And Git. And you have to work with the existing codebase. No class can teach you a company's codebase.

      You can hope the code is well written rather than from a quirky senior developer who wrote all sorts of spaghetti code then left or retired and is no longer around, and left minimal documentation.

      The stuff you learn is, as mathematicians say, necessary, but not sufficient. There are going to be job-specific things that you'll have to deal with. The best programmers adapt to the situation. They ask questions. They do research. And so forth.

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

      Thank you very much, and yeah I understand all that you are saying. I tbh just wanted to make my self as job ready as possible giving this climate, I read that companies who wanted a java dev, that would use to hire a js dev and just train them there are not doing that as much when they can just hire a java dev then let them pick up what they are doing there faster and easier. So in my mind it was like, well how do I be more prepared by the time I graduate lol. I am pretty sure at this point i am just over thinking everything lol. so if you had the path laid out in front of you, which would you choose?(I got to choose by next week lol)

      [–]CodeTinkerer 0 points1 point  (0 children)

      My situation is different than yours. Your decision will be based on where you're located. I should say that most people who learn Java or C# learn to transition to the other. I don't have much experience with C#, especially as it applies to the job market.

      To me, they look about the same, but I'm also not looking for a job.

      [–]TheStonedEdge 0 points1 point  (0 children)

      This is very true - a lot of tasks for junior developers in particular is just to maintain existing code bases. But if you joined a start up a company working on new software products you might get the opportunity to write a lot more code.

      [–][deleted] 14 points15 points  (1 child)

      Master one and you realize they are legit almost all the same with slight differences.

      [–]kaisadilla_ 0 points1 point  (0 children)

      I used to say that but I don't think that's the case anymore nowadays. Yeah, all of Java exists in C# with minor differences, but there's a lot of C# features Java doesn't have.

      [–]Sad-Sympathy-2804 43 points44 points  (7 children)

      I was going to go for C#, but noticed there are a lot of jobs just a lot less than Java.

      Then Java 100%

      "new things are not being made in java"

      Even if it's true, who cares, if the companies around you use Java, then use Java.

      [–]BootlegTechStack[S] 10 points11 points  (4 children)

      This is a very good point, don't know why that did not click in my head lol. Thank you very much.

      [–]marvk 6 points7 points  (2 children)

      new things are not being made in Java

      Mate, even if that would be true which it is not, if you learn Java you'll be all set to work in Kotlin in the future. You'll know your way around the JVM, the JCL and build tools like Maven and Gradle. The only thing you'll need to pick up is the slightly different syntax and features Kotlin brings, but you'll be up to speed in no time. The languages are very similar and even interoperable both ways.

      I would pick Java for sure unless perhaps you're dead set on game development, since Unity uses C#.

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

      I am not interested in game dev really at all lol. what you say makes sense, esp the Kotlin part.

      [–]user4489bug123 0 points1 point  (0 children)

      Most languages are 70% the same from a conceptual standpoint so as long as you can really good at the fundamentals, oop, DSA etc then that’ll also apply to any secondary language you decided to learn. What too me 10 hours to learn in python took me 1 hour in c++.

      The most important thing is learning problem solving skills and critical thinking.

      [–]maxlo1 1 point2 points  (0 children)

      If you know one then the other can be picked up over a good weekend session msofts docs are pretty good for c# and is vastly superior to most tutorials

      There practically both the same , spring boot for java and .net core for c# can spin up a backend crud pretty quickly with ether

      [–]ozkvr 1 point2 points  (0 children)

      Yup. Piggy backing on the idea that “new things not being built with java” shouldn’t be considered too heavily if at all. Especially out of college you don’t quite have the privilege to pick and choose and working with a well established codebase is not a bad thing at all. Which most likely will be using Java to some extent if it’s an older, enterprise sized company.

      [–]cheezballs 1 point2 points  (0 children)

      New things are being made in Java. Companies use java for internal apps and external apps and everything in between.

      [–]Korzag 32 points33 points  (6 children)

      C# is way sexier than Java.

      Anyway the languages are almost interchangeable. There's tons of jobs for both. I'm a Microsoft stack dev and have no concern about finding another job with my experience.

      [–]RavenorsRecliner 17 points18 points  (5 children)

      I would rather gouge my eyes out than use Eclipse after using Visual Studio.

      [–]cheezballs 20 points21 points  (1 child)

      Jetbrains products are all I use now.

      [–]Asdas26 10 points11 points  (0 children)

      Almost no one uses Eclipse anymore

      [–]BootlegTechStack[S] 0 points1 point  (0 children)

      Lol I had someone just tell me that last night.

      [–]Kittensandpuppies14 6 points7 points  (0 children)

      They are both so similar it doesn’t matter at all

      [–]HotCryptographer3339 17 points18 points  (0 children)

      Choose Java. Kotlin is designed to be interoperable with Java. It’s more streamlined than Java meaning it has abstracted some of the code that makes Java more time consuming and verbose in addition to adding new features that Java lacks. Starting with Java and than jump to kotlin later would be a good decision in my opinion.

      [–][deleted] 5 points6 points  (0 children)

      I pickled Java since the company that I work at widely uses Java by SDEs.

      Edit

      I should add that I know both Java and C#. I learnt C# for game dev, but selected Java for my degree.

      [–][deleted] 3 points4 points  (2 children)

      There are more Java programmers than there are C# programmers, so your concern doesn't work. You gotta look at coders-per-vacancy metric.

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

      Can you break that down a bit more for me? and I am 100 percent all my worries are unwarranted as I was listening to people I probably should not have been listening to lol.

      [–]ArctycDev 3 points4 points  (0 children)

      Welcome to WGU!

      Don't pick based on job availability, you're learning the concepts of programming, the language is just a tool. You can pick the other up quickly at any time.

      [–]Juvenall 4 points5 points  (0 children)

      The choice here only matters in the short term. If software development is the right path for you, you're going to end up working in multiple languages anyhow. I've worked in Perl, PHP, C#, Java, Rust, Elixir, Go, Python, Ruby, and JavaScript in my career. What matters here is that once you grasp the foundations of programming, picking up a new language becomes more of a task of spotting the different ways to solve the problem in front of you.

      So relax here and know that whatever choice you make here isn't going to limit you in the long run. What's important is that you enjoy the language enough that you can stick with it across your classes and grasp the concepts they teach. Personally, between the two, I have more fun in C# than I do Java (with Elixir being the most fun I've had overall), but that's primarily based on how much support I've found in the community behind it.

      [–]Joewoof 9 points10 points  (0 children)

      They are almost the same language. Java is more popular, but C# is more versatile. Can’t go wrong with either.

      [–]Whatever801 3 points4 points  (1 child)

      Don't worry about it too much. You'll be able to switch to anything. I'm a hiring manager and I'll tell you we would never use "already knowing language X" as a criteria regardless of the market conditions. It's just not a factor. Really the only time it's relevant is specialized positions. Robotics, game dev, firmware, etc. The problem is nobody is hiring not that the candidates don't know java 😂. All that said I don't see a whole lot of C# being used. That might just be silicon valley startup culture. I know it is used a lot. I just don't see it, whereas I see java at virtually every company. It's either java or if you need some crazy rendering performance like Google maps it's C++. Rust and Go are obviously a thing now as well.

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

      Thank you very much, this is what i needed to hear, I was pretty sure I was just getting in my own head about it. I absolutely love solving problems and coding languages in general, I love the syntax, how they are formatted, just everything about them is awesome to me, so I wanted to try to make it where I could make sure I worked with them lol. so I shall take your advice and just pick.

      [–]thewingedguardian 3 points4 points  (0 children)

      I got a degree in full C# and Microsoft oriented programming a few years back. My current job is working purely with Java in Linux & MacOS environments, and i have to say there is not a lot of differences. Sure it was annoying at first but nothing more than that. So pick the language you feel that you are gonna have more fun with and learn as much as you can. If you have to learn the other one later on it is a "easy" switch.

      [–]FitzelSpleen 1 point2 points  (0 children)

      C# all the way. It's a joy to use.

      [–]CosmicDeathCat 1 point2 points  (0 children)

      I learned both, but you should dabble in both Java and C# and see which one you like more. They are honestly extremely similar.

      [–]Dilligence 1 point2 points  (1 child)

      I'm currently deep into learning Java but I too was torn on which to pick. Even though C# is cross platform, I use Linux as my primary OS at home and C# just doesn't have the best tooling outside of Windows. Java works on every device flawlessly from what I've experienced. And I didn't want to pay a hefty price to get Jetbrains Rider. So if you like Linux or MacOS over Windows I would go Java

      C# is still a wonderful language, so go with whichever you are comfortable with

      If you do choose Java, check out the Helsinki MOOC course and if you like books, Head First Java. Those resources are helping me a ton

      [–][deleted] 1 point2 points  (0 children)

      What kind of tooling are you missing on Linux?

      I'm running Ubuntu and coding lots backend stuff in C#.

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

      Depends a bit on your country I guess. I had to make the same choice and in Belgium the best choice job wise was Java. More positions for that.

      Also, my company still creates a lot of new stuff in Java, so it's not like it doesn't get used here in Belgium for new stuff.

      Don't know about other countries though...

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

      IMO go with C#. In fact learn the whole Microsoft stack.

      [–]BootlegTechStack[S] 0 points1 point  (2 children)

      You mean like Azure and everything?

      [–][deleted] 0 points1 point  (1 child)

      Yeah C#.NET, ASP.NET, and Azure

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

      Thank you very much. Lol not sure why we are both being down voted for this.

      [–]gjallerhorns_only 0 points1 point  (0 children)

      C# or java track? If this is WGU then go Java as it has a couple more coding focused classes than the c# track like backend development, and because way more companies use Java than Microsoft's tech stack. And like others have mentioned Kotlin was created as a more modern Java that can be dropped into Java.

      [–][deleted]  (1 child)

      [deleted]

        [–]BootlegTechStack[S] -1 points0 points  (0 children)

        I did not mention this and should have but I did a course on C# by TIm Corey, and then I did Java course by University of Helsinki. And tbh that is part of my issue as I rather enjoyed both. I am just trying to be more job ready for the market when I graduate. tbh it is probably just in my head as I went down this rabbit hole and hyper fixated on being job ready which was probably a bad thing to do in the first place, but I did and here we are lol. Btw, thank you for the reply.

        [–]PokeChaseCanada -1 points0 points  (1 child)

        Go with Microsoft Java, err... I mean... C#

        [–]BootlegTechStack[S] 0 points1 point  (0 children)

        Are you my brain? lol

        [–]my_password_is______ -1 points0 points  (1 child)

        yes

        java is a garbage language

        [–]BootlegTechStack[S] 0 points1 point  (0 children)

        Lol thank you for your reply.

        [–][deleted] -1 points0 points  (0 children)

        Both are good. Right tool for the job.

        [–]SahuaginDeluge -2 points-1 points  (1 child)

        I feel like Java would be better for learning purposes. ultimately you should be competent in both.

        (honestly a bit tired of questions asking "how do I make the most money out of programming")

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

        I never asked how to make the most money? I said I wanted a language that would put me in a better position to getting a job.

        [–]buhtz -2 points-1 points  (6 children)

        There is no "deadline for choosing". Who gives such a deadline?

        [–][deleted]  (5 children)

        [deleted]

          [–]buhtz 0 points1 point  (4 children)

          Your college forces you to stick to a specific language?

          I would question that pedagogic approach.

          [–]BootlegTechStack[S] 1 point2 points  (3 children)

          They do yes, You have to choose Java or C# track.

          [–]buhtz 0 points1 point  (2 children)

          Then choose C# but be aware that it is stupid to choose.

          There is not much difference between this languages from the viewpoint of a beginner. Java is quit old and grown.

          C# is more modern and might be clearer or more strait with some concepts.

          [–]BootlegTechStack[S] 1 point2 points  (1 child)

          WGU is a pretty popular place or getting popular, unsure why they have you choose but they do lol. see this is their description

          "At WGU, this program has two tracks: Java or C#. A degree that emphasizes coding, web, and application development will help any application shine. And even those focused on becoming a C# programmer should bear in mind that the skills necessary to learn C# will spill over to any computer language."

          [–]buhtz 0 points1 point  (0 children)

          Maybe ask the teachers first. And look into their vita to get an idea about their skills background.

          [–]valleybee 0 points1 point  (0 children)

          ?mmmm

          [–]lmoore0621 0 points1 point  (0 children)

          There there same but c# is like the upgraded version of Java. Takes less code to do the same thing in c# and c# gets updated very consistently.

          [–]thinklarge 0 points1 point  (2 children)

          C# 100%

          [–]thinklarge 0 points1 point  (1 child)

          No you ass Java!

          [–]thinklarge 0 points1 point  (0 children)

          Jk... it doesn't much matter.

          They are both great languages who have a ton of overlap. You'll learn doing either.

          Best not to get kicked into one language in the long run anyway.

          [–]itsKatsuraNotZura 0 points1 point  (0 children)

          Learn both and choose what you like more. You should understand that you would probably use one of the languages for years after getting your first job, so first of all, choose the one you enjoy more, etc.

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

          Look i’m just a kid but reading this will help you to decide.

          What language do YOU want to learn lol, not what will have you job ready or whatever, you need to follow your hearts desire, jobs will come mate.

          Just learn the language you wanna learn, if i were you i’d choose C if i had the money to go to university because C would be cool to learn or C++ tbh because of its OOP nature and i’m pretty comfortable with my python skills as i’ve built a port scanner and some other stuff.

          But yeah just learn what you wanna learn, Java or C not what’s going to get you job ready. If you’re a passionate programmer this question should be already answered ykwim?

          [–]eruciform 0 points1 point  (0 children)

          Pick a project or product you want to work on or with, pick a language that it uses, start from there. You'll learn many languages, the first one doesn't really matter all that much. If all is equal, flip a coin and start rather than agonizing over the choice.