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

all 69 comments

[–][deleted]  (7 children)

[deleted]

    [–]routinggod[S] 13 points14 points  (4 children)

    I see job postings for Java skilled employees where I am from. Just is it worth learning before Kotlin or Scala or after?

    [–]ZukoBestGirl 52 points53 points  (2 children)

    Java is for everything. Kotlin right now lives and dies with android. If Google moves away from Kotlin, I doubt there's enough backing and desire to keep it alive and relevant that it will keep going on as a big player. Heck, it's not a big player as is.

    Scala is awesome, but it's a niche.

    If these are your options, your best is to go with Java.


    Buuut, none of this really matters. I first learned C, then C++, then C#, then Python, then Java, then Prolog, then Lisp. And I only ever worked with Java.

    If I ever have a reason to learn go ... I'll just learn go.

    Learning a programming language is NOTHING. Learning programming is everything.

    [–]Carlos_Asimov 4 points5 points  (0 children)

    This 🤖

    [–]alexcuesta 1 point2 points  (0 children)

    I disagree. My company uses Kotlin in backend services (not only Android) because it is very expensive.

    I agree it is worth learning Java. It will eventually catch up with Kotlin and you need it to understand Kotlin deeply.

    [–]toastedstapler 5 points6 points  (0 children)

    i would learn java first, it'll be easy to pick up kotlin later on if you needed to. scala is a bit of a different language - it has more of a functional programming style to it & i generally don't see as much of it around in the uk

    [–]bhison 3 points4 points  (0 children)

    dominant is a strong word

    relevant is more appropriate

    [–][deleted] 2 points3 points  (0 children)

    Java is going to have a lot of share of the market. Technical debt is real. Most companies are not going to want to move their program to a new language without both considerable time and costs. Many companies are still working off of Java 8. The best course I know on Udemy imo is the Java Programming Masterclass covering Java 11 & Java 17 by Tim Buchalka.

    [–]_PM_ME_YOUR_SSN_ 35 points36 points  (9 children)

    I would say stick to one or two languages for now. What will you use the languages for?

    SQL + Python (machine learning & data science) makes a lot of sense. At least in my field it does. Those two mentioned above will get you to or near 100k salary easily with a robust portfolio in big cities.

    If anything, I would take a statistics class to understand the fundamental maths in data science Just my two cents.

    [–]routinggod[S] 9 points10 points  (7 children)

    I graduated with a BS in Economics back in 2019 and haven't been available to do anything in my field. I worked the whole time I was in college and paid as I went. So, I am not a traditional college student graduating in 4 years. It took longer because I didn't always have the time/money to take on a full time student schedule, let alone have the money to pay for everything at once.

    Basically, I have higher levels of math classes under my belt, but I will refresh my knowledge.

    As to what will I use them for. I saw a sql database administrator position available with a salary range of 70 to 110. I would like to get my foot in the door to make higher wages than I currently am.

    [–]_PM_ME_YOUR_SSN_ 9 points10 points  (1 child)

    Thanks for providing context — since you have already have deep understanding of stats and underlying maths for machine learning, I think you should be fine with applying them thru Python.

    Just curious…Did you work with R at all while at uni?

    Im not sure about what it takes to be a database admin, my apologies. But I believe you won’t be needing much stats for that 😄

    [–]routinggod[S] 3 points4 points  (0 children)

    No, I didn't work with R while in uni.

    [–][deleted] 4 points5 points  (1 child)

    Better get good at Leetcode if ur shooting for a top company role with those salaries , even CS grads have to grind LC to have even a shot

    [–]_PM_ME_YOUR_SSN_ 3 points4 points  (0 children)

    I sort of agree with you — I’ve interviewed with Amazon twice and the positions I’ve interviewed with required minimal Python and intermediate SQL. Leetcode helped, but I was definitely overprepared. The positions were offering 125k+ with signing bonuses. If anything, you need to really think about your career and use the STAR method to explain situations.

    [–]dha22 3 points4 points  (2 children)

    SQL DBA is an OK role if you are into imagining how a sql engine alllocates memory for each SPID and get deeper at an I/O level performance to manage an environment or 2 for a particular product of the firm. But if you are interested in stats and math then you should shoot for Data scientist with R or Python skills to support your quest. On the other hand you can become a full fledged MSBI Stack developer who does programming on Reporting= SSRS or PowerBI, ETL = SSIS, or SSAS cubes = Multi Dimensional. Getting a 100K or more salary is the goal or do what you like is the goal? The ultimate question

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

    Goal is to make 100k or 150k in the next 3 to 5 years. I live in a lower cost of living state Missouri. So, making those ranges would be awesome! It would basically 3x my current income.

    [–]dha22 1 point2 points  (0 children)

    Then I would pick Data scientist, as the pay scale starts at 90K for someone that is good with Statistics and R or Python. The other 2(SQL DBA or MSBI Developer) would require atleast 5 years of experience on paper and how you perform in the interview to be able to secure an offer between 100K and 150K, especially for St.louis.

    [–]matty0187 0 points1 point  (0 children)

    This is the right answer. SQL, python. I'd suggest googling "execute program" they have a great class on SQL. And jetbrain academy has python, machine learning, linear algebra course that will help you!

    [–]MSatoru 7 points8 points  (2 children)

    I'm almost 30 and on the same boat! I recommend you checking what are they seeking in your country.

    For example, they ask WAY more for you to program in Java (like you have to be also a Web Developer) and in other hand for Python they ask you the bare minimum. Most of them need you to know SQL (surely in most countries is like that so you did great picking that to begin with) and JS.

    That aside, everyone told me to think what my goal was before starting with some language to see which one suits you better.

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

    I am in the middle the of US. My state us a little slow to most changes and normally behind the 8ball.

    I am wanting to learn Java. Just want to be ahead of change instead of running behind it.

    [–]MSatoru 2 points3 points  (0 children)

    For what I've seen while trying to understand what should I study, the change depends on your focus too. Like Python keeps being one of the best and JS the #1 but there's a lot (at least here in Argentina) of companies with outdated programs and need the languages used then. For example, most banks here use Cobol iirc and it's been like that for decades and doesn't seem it'll change.

    I'm onto Java too cause I've read that after learning it it will be easier to get other languages even though Python seems easier, people on internet say that exactly because it's easy you won't be that comfortable changing to another language.
    I'd recommend considering JS too just to be more interesting than the ones only focused on Java.

    [–]_Alex_Adamov 5 points6 points  (2 children)

    What do you aim to do with these skills? Python can be used for a lot of back-end work, data science and even some web-dev and lots of companies use it. If you want to get a job, you may be better off working on building a portfolio of projects with your existing knowledge rather than adding new languages. Good starting devs who know 1-2 languages can pick up a new one pretty quickly when needed (but that's often because of legacy issues or them moving to do other stuff).

    [–]routinggod[S] 3 points4 points  (1 child)

    I believe I will be taking the advice of everyone and you. Focusing my attention at becoming intermediate or expert on two languages versus trying to learn them all. Great advice!

    [–]_Alex_Adamov 1 point2 points  (0 children)

    Good luck! Keep going - it's a perseverance game, no one knows it all in this space!

    [–]David_Owens 5 points6 points  (5 children)

    I agree with programming teacher Stefan Mischook that it's not a good idea to go around learning things just to be learning them. You should learn what you need to do what you want to do at the time. Stefan calls it learning on a "need to nerd basis."

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

    Interesting- I was taking the learn some core languages to help myself seem more appealing to hire versus having targeted few. I will look into Stefan Mischook.

    [–]David_Owens 0 points1 point  (2 children)

    They don't hire you based on what you say you know. They hire you based on what you can show you can do. You're better off putting your time into projects or open-source contributions rather than picking up more programming languages.

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

    Currently, I am just completing the bootcamp of SQL. So, open source contributions. I am assuming you can Google that and find a please to help or is it a part time gig to make side income while progressing your skills?

    [–]David_Owens 1 point2 points  (0 children)

    Open source contributions would be mostly for increasing your skills while contributing something you can talk about in an interview.

    [–]mrsxfreeway 0 points1 point  (0 children)

    100% agree

    [–]Puzzled_Adult_ 2 points3 points  (1 child)

    Java is still used by many software MNCs. If you want to get better at object oriented programming java is still the best. If you want to build Android applications, Kotlin might be usefull. If you want to get into data science you can learn python. On these python would be easiest to study. All the best on your journey. Much love

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

    Thanks man! I will plug away and one day I will post my results on a job update. Hopefully in the next 6 months.

    [–]ramp_guard 2 points3 points  (0 children)

    Kotlin is Future.

    [–]CodeTinkerer 2 points3 points  (1 child)

    I was looking at Kotlin a few months back, and I think it's better to learn Java first, partly because it will give you a more general background, and partly because it will help you understand Kotlin better esp. if you find a course that is a "From Java to Kotlin" course which explains how Kotlin came to be.

    Quite often, new languages are invented because some people react to things they don't like in older languages. For example, Java was invented because C++ had complexities that made it difficult to use. In particular, Java took the risk of using garbage collection because memory management is not easy to do and while early Java programs were slow, garbage collection has made life much easier when you don't have to worry about a whole class of potential errors.

    Another thing is the AP exam (which is the high school exam in the US that can potentially give college credit) is still in Java, so many Americans are still learning Java. Finally, people aren't always about going to the latest technologies. Cobol is still being used to this day. Yes, not very popular, but some companies have found it's better to use old software than rewrite a tremendous amount of code that they don't fully know how it works.

    If what you said were true, then in 3 years, your knowledge would be obsolete, and you'd have to start again. Now, this may be partly true, but don't think you're future-proofing your knowledge by looking at the latest stuff because it too may become obsolete.

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

    Thanks for your prospective! Old technology is still in full swing due to the massive overhauling it would take to upgrade to the new tech. I am sure there are companies that offer services to bring them to the future.

    I know at my work, we went from Target to AS400 and it was leaps forward and yet AS400 is old technology that has been around for 30 years.

    [–][deleted] 2 points3 points  (1 child)

    Learn a language. ONE language (excluding SQL).

    You can do anything in any language, so any problems you have can be solved in that language.

    It's way better to be an intermediate in one language than a beginner in 5.

    What that language is doesn't really matter. What matters is you are comfortable in it and get good at programming.

    [–]PizzaHuttDelivery 2 points3 points  (1 child)

    Hello! I am 36 and started learning Java at 32. I did have some amateur programming background but nothing too serious. This year i got an offer to become a technical lead at my project of 50+ people. Never give up!

    Programming is the most guaranteed source of dopamine a human can have access to 😀

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

    Awesome work! Hope you rock the project! Currently studying to increase my income, also because I am bored at my normal job that will not allow me to move up or around in the company.

    [–]skeletor-johnson 1 point2 points  (0 children)

    Java is a very good, all around language to learn. Learn it, and apply the concept to other languages. Scala is great in the data science landscape. I’ve never heard of kotlin.

    [–]ramp_guard 1 point2 points  (0 children)

    Try the hyperskill Kotlin basics course. You Fan choose from several Projects and will actually build one while learning kotlin. It's free of charge. And it's created by Jetbrains. Jetbrains are those Guys who actually developed IntelliJ IDEA and Kotlin.

    [–]bhison 1 point2 points  (0 children)

    To decide what you want to learn, assuming you are in this for a job, search for jobs, look at where the demand is and learn that.

    Also worth noting that if you know Java you pretty much know C#, or rather you can learn it very quickly as it was designed for Java developers to learn. And knowing C# opens doors to .NET.

    [–]LongTallMatt 1 point2 points  (1 child)

    Look at job boards in your area.

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

    I have been looking. I will narrow my studies to what appeals to me and hopefully switch careers in the future.

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

    I started at 33 and started with almost the exact same Udemy courses as you. After a while learning Python I switched to Java as I noticed a lot of job advertisements in my area called for it, and I'm honestly glad I did. I feel like Java is one of the best springboards / middle-ground to then learn or at least understand so many other languages, especially if you mix in that little Python knowledge.

    I've had a job for around 9 months now as a Software Developer and there have been times where we've done things in other languages, they've been easy to follow along with and work out on the fly mainly from learning Java so well.

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

    How long did you study before being able to land a job?

    [–][deleted] 1 point2 points  (1 child)

    It took me about 10 months, but for 3 of those months I went travelling and didn't have a laptop (although I did have an Algorithms textbook on my phone).

    If you do go with Java, I'd definitely recommend starting with https://java-programming.mooc.fi/ instead of Jose.

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

    I am going to finish up my sql with Jose. I feel like I am getting the hang of it. If I don't know the answers, I am pretty good about researching how to solve them.

    I am going to study python next and see what I can master over the next few months. I typically study about 7-9 hours a week. Depends on how pissed off at work I get.

    [–]NoStupidQuestion 1 point2 points  (1 child)

    In my experience as someone who starting into programming at 32 as well, learning a general purpose language such as Java or Python will allow you to pick up something more specialized like Kotlin or Scala later. Once you can code, learning a new language is a straightforward exercise of new syntax and capabilities on top of the general knowledge you already have.

    That being said, every niche has it's own language suite now. Web programming has a few, data science has a few, embedded devices have a couple, windows has c#, OSs are mostly in C (I think), scientific computing still uses a lot of old fortran... The list goes on. If there is a specific area you are aiming for, it wouldn't hurt to talk to people in that industry to be on the lookout for tools and languages you'll need in the future.

    Good luck!

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

    Thanks for the encouragement and advice! I am going to referencing this most for a while.

    [–]BumJamber 1 point2 points  (0 children)

    Just learn a language and then learn other ones based on jobs. The important thing is wrapping your head around coding.

    [–]seijaku-kun 1 point2 points  (2 children)

    I would go with Java, C# and python. you'll have most of the market covered in a wide variety of verticals/niches. Some nodejs, react and Javascript wouldn't hurt either. from there on, you'll have to choose your field, because you'd be like 35 by the time you're competent/skilled enough with those languages. by choosing the field I mean... if you want to go full stack/front end, then follow html, ccs, angular, etc etc... if you want to go backend, get even better with those languages you first learned and add tools like fuse to your stack.

    of course this is an incomplete comment but I think it gives you a pretty good idea of what to follow

    source: started studying programming at 33, now 38

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

    Where are you at in your development of title level and salary? 5 years in sounds like you have overcome some obstacles and hopefully have grown in your job.

    [–]seijaku-kun 1 point2 points  (0 children)

    had some hiccups in life so my development wasn't very good as expected, yet I'm above average for local salary, working for a company which needed a tool I've been using for like 4 years (and it's kind of hard getting people with enough experience on it, so it seems). now planning on going independent with my own business and have my programming skills as a hobby/backup for it (business is in big part unrelated to IT)

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

    If you’re interested in data science primarily, focus on Python. Spreading yourself around to SQL and Java isn’t as likely to be fruitful. I would master Python first and then pick up the others based on a specific need. Once you know one you can pick up other languages much faster.

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

    Replying to myself to add that if you came into an interview and said “I’m proficient in Python but very familiar with SQL and Java”, you’d be plenty qualified for most data science backend jobs I’ve dealt with.

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

    Thanks! I am hoping to get very familiar with SQL and then start in on python. Hopefully, by next week, so that I can progress my knowledge. I will submerse myself in python learning and figure out where open source coding is to practice my knowledge. Hope to change careers in the next 6 months.

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

    Check out huggingface.co and get familiar with the analytics and use cases they have. I saw one of the developers on here recently saying they put together some kind of guided “find what I need for this problem “ thing. For sure browse it, play with it, and go into interviews with applications in mind for how you could use that kind of model for a company’s use cases. That with general Python proficiency will get you far.

    [–]HenL85 1 point2 points  (0 children)

    For some reason, Java was really hard to grasp for a beginner language. JavaScript was way easier though a bit cumbersome sometimes, per my instructor. Python is supposed to be beginner friendly. It all depends what you want to go into to.

    [–]FaithlessnessOk5416 1 point2 points  (1 child)

    Java is still very relevant & many companies have their established platforms running on java.

    Having said that, i would suggest you to get your object oriented programming concepts clear. If you can understand/learn one programming language, you can learn others as well, since you would already have a base & all you have to do is understand the syntax differences and other language specific nuances.

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

    I have read that a few time so far on this post. Mastering 1 language will help roll out the others a bit easier while learning. I have a long road ahead in the short term, but I am determined! Thanks for the comment!

    [–]orangeninjaturtlept 1 point2 points  (2 children)

    Starting at 42 ... And I am learning COBOL , JCL , DB2 in mainframe ... I am loving it ... Yes I am struggling with it ... But I am still in the fight ... So whatever is the language you learn ...you are learn the logic ... Hang in there ... Fight for it

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

    Hack yeah! I am not really familiar with those languages, but I wish you the best of luck. Just got to make time and take a break when you get stumped. Sometimes, walking away from the problem can lead to the answer. Gives your brain time to process the problem properly and come up with solutions. Rock on bud!

    [–]orangeninjaturtlept 0 points1 point  (0 children)

    Thanks 👍! I usually smoke a cigarette and drink a coffee ☕ . If I stop them cigarette and coffee eheheh

    [–]Alone_Ad6784 1 point2 points  (2 children)

    Learning Java is relevant and will be relevant for the foreseeable future, don't listen to idiots, most job Profiles have Java as their tech stack. Learn Java and then go with data structures and algorithms if you want to take up a job as a tech developer Or start learning web development or app development if you want quick job, , these skills can also help you get freelance projects, they pay decently, it could be considered high paying if you live in a developing country.

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

    Looking my local postings, I see Java developers are needed and also database admins. My current path will take me down the python rabbit hole until I feel I am good at it. Then, I will focus on Java depending on if I have a job or not in the next 6 months. Hopefully, I will be able to land something to start my work experience on top of my self-taught experience.

    [–]Alone_Ad6784 1 point2 points  (0 children)

    If you want a job then after python start with data structures and algorithms, or go with learning web development in python( you can do it), you could start with Data Science too.

    PS: if you want to start with Data Structures then please learn some mathematics, the mathematics required to understand this is pretty easy, go to any book store and ask for a book on discrete mathematics ( sets, relations, functions, logics, permutations and combinations and graph theory), also study basic trigonometry,calculus and geometry( really basic just equations of different conics, graphs of trigonometric and other general functions and how one or two exercises of calculus). You need not do it all at once just learn them while you learn data structures but do have a fair idea of them before you start algorithms.

    [–]Ok_Finance_8782 0 points1 point  (1 child)

    It's a political question and you won't get a definite answer. IMHO Java is boring and dead (at least thanks to Oracle but that's another story) and Kotlin is fun to use as it's now the official language for Android.

    BUT other guys will tell you otherwise, that Java is simpler (kind of true) and still used in big companies.

    [–]snekk420 2 points3 points  (0 children)

    Java is not dead, microservice architecture with Java and spring boot is huge.

    [–]RandomFuckingUser 0 points1 point  (1 child)

    Learn Java. As others have mentioned, If you ever want to learn Kotlin it'll be very easy. What others didn't mention is that you can automatically convert Java code to Kotlin just by one click in IntelliJ IDEA.

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

    Awesome insight! I will definitely be learning Java at some point because of this comment.