Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Python Java Programming

JavaScript, Java, and Python are Most In-Demand Skills, Survey Finds (infoworld.com) 82

InfoWorld reports: JavaScript, Java, and Python skills are most in-demand by recruiters, according to a report published this week by tech hiring platforms CodinGame and CoderPad. But while the supply of those skills exceeds demand, the demand for TypeScript, Swift, Scala, Kotlin, and Go skills all exceed supply.

The State of Tech Hiring in 2023, a CodinGame-CoderPad report published January 10, draws on a survey of 14,000 professionals and offers insights into what 2023 may hold for tech industry recruiters and job seekers. The demand for JavaScript, Java, and Python skills is consistent with previous years, the report notes.

Among development frameworks, Node.js, React, and .NET Core proved to be the best-known and most in-demand.

InfoWorld summarizes some other interesting findings:
  • "59% of developers do not have a university degree in computer science. Nearly one-third consider themselves primarily self-taught."
  • "Developers' main challenges at work include unplanned changes to their schedule, unclear direction, and a lack of technical knowledge by team members."
  • "Most teams are now hybrid between remote and on-site work. Only 15% work onsite 100% of the time."

This discussion has been archived. No new comments can be posted.

JavaScript, Java, and Python are Most In-Demand Skills, Survey Finds

Comments Filter:
  • by franzrogar ( 3986783 ) on Sunday January 15, 2023 @07:44AM (#63210028)

    Quote: "JavaScript, Java, and Python are Most In-Demand Skills, Survey Finds"

    Since when, I ask, a "programming language" is a SKILL?

    I mean, programming IS a skill, or the OP wanted to say "PROFICIENCY" instead for the programming languages?

    • This. When I ask someone whether he knows what programming is about and he starts listing languages, I stop listening.

      Imperative language is imperative language. From someone who claims he understands programming, I expect to pick up any imperative language in a short period of time, because it does not matter what language you use if you understand the fundamentals. Yes, I could see that getting someone versed in imperative languages to take a moment to grasp the concept of declarative programming, but I w

      • I dunno, if you try to write C code in a JavaScript environment then you'll be Doing It Wrong.

      • by gweihir ( 88907 )

        I mostly agree. However, Python is an imperative/OO/functional hybrid and you can do real world any of the three styles (with some restrictions). Somebody really competent will mix all three (where appropriate), of course. I would expect anybody with real skills to pick up the gist of all three styles in Python in a few weeks at most and require a few weeks max in addition for Python-specific things like embedding Python or embedding C in python. I would also expect them to pick up how to do OO in C (not a

        • Both oo and functional, are: imperative.
          The complement or opposite to imperative is declarative (like Prolog or SQL).

          I would also expect them to pick up how to do OO in C (not a typo) along the way without problems
          You can not do OO in C. It is called "object based" and not "object oriented" when you hammer and nail an OO-system onto C.

      • From someone who claims he understands programming, I expect to pick up any imperative language in a short period of time
        Care to explain the difference between languages like:
        * Bash
        * Lisp
        * Assembly
        * BASIC
        etc.?

        then?

        They are all imperative. If you can program in Lisp, I drawn my hat though. I can't, and never will.

        Sure, every language has its quirks and special keywords that you will look up, but I do expect you to understand the logic in the flow without first having to consult Stack Overflow.
        Just lol.

        You d

        • Unfortunately I do.

          Lisp is fairly easy when you know a bit about lambda calculus. But outside of machine learning and AI you won't have to suffer too much from it, don't worry.

          Yes, different languages have different advantages and disadvantages. Shocking, I know, but programming languages don't just come into existence like new dances in the 50s, i.e. because some teenagers were bored and thought it would be a nifty thing to feel special. Well, ok, some do, but for most, at least the more successful ones, t

    • by godrik ( 1287354 )

      Agreed! We need to stop talking about languages as skills. No one actually a python programmer. They want a fully fledged software developer to do work a web back end that happens to be in python. Or they want a machine learning engineer to work large scale data models where the ecosystem happens to be in python.

      And because they are both labeled "python" it get aggregated by languages by stupid companies. And then you have people who say "I'll learn python with this 'Python in 24 hours' tutorial and make $2

      • It is extremely hurtful to all of us to talk about languages as a skill.
        Strange that you think so in context of programming languages.
        In natural languages obviously: it would be a skill. Why not in a programming language? Every language has its own idioms and paradigms, regardless if natural or artificial/programming language. And *those* you have to learn, and that is a skill.

    • Language and platform are close in web world I think. Picking a language is picking where in the web you want to live. Like node.js and react mentioned in the article you might as well say you are developing inside the .net core environment.

    • by Somervillain ( 4719341 ) on Sunday January 15, 2023 @01:41PM (#63210690)

      Quote: "JavaScript, Java, and Python are Most In-Demand Skills, Survey Finds"

      Since when, I ask, a "programming language" is a SKILL?

      I mean, programming IS a skill, or the OP wanted to say "PROFICIENCY" instead for the programming languages?

      Yeah, I don't want a skilled heart surgeon or proctologist. I want a doctor who is good at doctoring. A great proctologist should be a great gynecologist too, right?..the holes are less than 2" apart, after all.

      If you don't know the difference between a sharp generalist and a sharp specialist, I pity the poor schmuck who inherits your code. There is a MASSIVE gulf between code written by a Java expert and an arrogant jerk who thinks his JavaScript/Python/C/C# mastery means he knows what he's doing in Java.

      Yeah a generalist can get hello world working in many languages...and I'll wager you reinvent the wheel quite often because you're not familiar enough with the frameworks and libraries to know the nuances that you learn as you work with a technology for decades.

      If you think your C# skills will make you good at Java, you're a novice. Programming languages are like spoken ones. I can order breakfast in 3 languages. I can hold an intelligent conversation in 1...and speak at a child's level children in 2 (if they speak Spanish slowly and clearly enough). In my experience, people learn programming languages about as well as they learn spoken languages. You know one really well...2 tops. Everything else, you barely know and speak with such a thick accent barely anyone can understand you. I know Java REALLY well. I know JavaScript well enough to get stuff done...but it's in a heavy "Java accent"...and while my stuff works, I am not confident I am following best practices or writing code that will be easy to hand off and maintain. The same applies to every programmer I've reviewed the code for.

      The difference between a novice and master is not simply getting the code working, but getting it working with best practices and leveraging the built-in libraries and frameworks as well as writing professional-grade code that is easy to maintain and more future-proof. This requires deep mastery of the specific language. Me being a world-class expert at Java means I can easily read C#, but my lack of knowledge of their frameworks and libraries means I can write C# at a novice level and require a lot of help and supervision. I am confident I can get stuff working...just not at the level of a master.

      Your attitude is unfortunately common, quite ignorant, quite arrogant, and dangerous for the industry. It's no wonder costs are going up, vulnerabilities are going up, as are bugs across all applications...while efficiency is going down...the industry is trending towards hiring generalists to their peril rather than respecting the craft of individual technologies. If more developers actually mastered the technologies they worked in, the quality of our applications would be going up, not down, with time.

  • by bb_matt ( 5705262 ) on Sunday January 15, 2023 @07:48AM (#63210030)

    I've been a web dev for 27 years, very front-end focussed for the bulk of my career, seen it all come and go.

    In the last 10 years, I've shifted more toward a dev-ops focus, like a lot of the web industry - and I guess others?

    I'm growing real tired of JavaScript. The pace of change is insane, by the time you've finished building a web service / app or whatever you want to call it, the platform and tools you used are already out of date. Then you go into maintenance hell, to avoid "bit rot" - but usually old projects languish, gathering cruft and vulnerabilities at a stupidly fast rate. If you don't touch a repo for 6 months, you are in for a helluva ride trying to slap it back into shape again.

    There's a level of absurdity involved here - it's as if a lot of young programmers have really just re-invented wheels that were already there.
    They've gone ahead and made the same damn mistakes that were made 10, 15 or 20 years before.
    We've gone from "everything rendered on the server" to "everything happens in the client" and all the way back again.
    Every other week, there's a new framework.

    About the _only_ good thing that's happened with the ecosystem, is TypeScript, which really says it all about JavaScript - I don't think it was ever intended to have reached the popularity it has.

    And the really good thing about knowing TypeScript, is it makes it somewhat easier to migrate to a different solution away from JavaScript... which is what I intend to do.

    • by bb_matt ( 5705262 ) on Sunday January 15, 2023 @07:54AM (#63210038)

      It's not so much the node package manager itself that is an issue, it's the dependency hell and the sheer volume of dependencies and replication.

      It reminds me in some ways of wordPress devs who are crap PHP coders. They use plugins for _everything_ - even the most mundane and simple tasks "there's a plugin for that"

      With npm and packages, devs get super lazy - they'll load up on huge libraries and use like 1% of each. For example, using a date functions library, when the basic functionality in JavaScript will do the job 9 times out of 10. Rather than learning to code, it's more a case of learning how to paint by numbers - ending up with a heaving monstrosity of unmaintainable fragile code.

      Enough to drive you insane...

    • by dvice ( 6309704 )

      > We've gone from "everything rendered on the server" to "everything happens in the client" and all the way back again.

      Software is just doing so much more work nowadays. We are moving work from humans to computers and at the same time, increasing the amount of work.
      1. First everything happened on server, mostly just data record storing and reading.
      2. Then we had simple client applications that send the records to the server.
      3. Then we increased logic on server, which required client to load and upload da

      • If your application has 10 000 users, and they each can save 1 second every day with the application because of your hard work, they save 1000 hours of work every year. So it is well worth of your time. For the same reason, validating input data is well worth the development time. Fixing errors later is extremely costly.
        In German we call that "a milk maiden calculation".
        As long as not EVERY worker has saved up an significant amount of time, during which he can do _additional work_, or take time off and cost

    • It is completely possible to write a nice front end in pure JavaScript, that is clean and maintainable. The world has changed: consistency of JavaScript behavior across browsers is supremely better than it used to be. You just need to stick with the basics and not mind a little tedium.

      That, of course, is too much to ask. Everyone wants to download someone else's ready-made solution and just pop it in. Employers prefer that too, since it is much faster in the short run. The long-tail of dependency maint

      • My traditional expertise generally was mostly database, server, and middleware, and sometimes Windows front ends, not Web UI.

        But I've been pulled back into Web development lately.

        There are exactly two Javascript libraries I can see some use for in my problem domain. JQuery, although since we do control the browsers and can limit ourselves mainly to modern ones, I don't actually use it; and Bootstrap, simply because it adds a little bit of abstraction around common tasks that would be more tedious to do in

    • Then you go into maintenance hell, to avoid "bit rot" - but usually old projects languish, gathering cruft and vulnerabilities at a stupidly fast rate.

      They aren't gathering vulnerabilities...the vulnerabilities were already there, all along.

    • Actually, JavaScript itself is quite stable. So keep to Vanilla JavaScript.

      https://plainjs.com/ [plainjs.com]

  • by phantomfive ( 622387 ) on Sunday January 15, 2023 @07:52AM (#63210034) Journal

    "59% of developers do not have a university degree in computer science. Nearly one-third consider themselves primarily self-taught."

    If you are self-taught, make sure you spend some time learning about multi-threaded operations, including the Coffman conditions, avoiding deadlocks, and avoiding race conditions. Learn about transactions and the issues that can arise. This is especially important for microservices, because they can fail in many ways and you need to handle all the failure cases.

    I've seen a lot of self-taught learners write decent code, but then fall on their face when it comes to asynchronous issues. This isn't because they can't do it, just because they never learned it.

    • by iNaya ( 1049686 ) on Sunday January 15, 2023 @08:38AM (#63210102)
      I've met many degreed developers who also fall flat in their face when it comes to asynchronous issues. I also learnt nothing about them in my comp 'sci' degree. Had to self teach all that stuff. I learned a few things at uni, but the vast majority of what I do has nothing to do with what I learned there.
      • I also learnt nothing about them in my comp 'sci' degree.

        That's too bad, you should have. That's a deficiency of your university. Usually they teach it in the operating systems class.

        Either way, you need to learn it somewhere, and it sounds like you took care of it.

        • by f00zbll ( 526151 )

          That's too bad, you should have. That's a deficiency of your university. Usually they teach it in the operating systems class. Either way, you need to learn it somewhere, and it sounds like you took care of it.

          Just because OS class teaches multi-threading, that doesn't mean a person understands it. The concept and practice are two very different things. I would say most people who took OS class leave with a false sense they understand multi-threading. It's only when they work on complex threading apps that

          • From my own experience, after you've written 3 compilers you start to really understand what "right expansion" and "left expansion" means.

            You're a slow learner. But I'm glad you figured it out.

            • by f00zbll ( 526151 )

              You're a slow learner. But I'm glad you figured it out.

              That's funny. I know other compiler writers with a decade of experience. We all agree, the first 2 times you really don't know shit. People who think writing a compiler once or even 3 times means you understand the subtleties of compiler theory are delusional. I've read up on compiler theory and one thing is clear. Text book examples only scratch the surface. Only real way to learn this stuff is to try writing a compiler for poorly designed language or

              • Heâ(TM)s just being a jerk. Maybe his period started today. In any field, the idiot who thinks he knows something is usually the one with the least knowledge and full of assumptions. Iâ(TM)ll venture he has not written compiler code beyond maybe some shit with yacc back in college. What you say about compiler design is very true.

                • And here I found the person who doesn't understand asynchronous code. Better stay away from microservices.

                  • Seems your brain is operating in asynchronous mode.

                    • The evidence would seem to indicate so, although there is a hypothesis that actually your mind only focuses on one thing at a time, and just switches very quickly so you don't notice it.

              • That's good, sounds like it took a while but eventually you figured it out. Nice work.

        • Usually they teach [multithreaded programming] in the operating systems class./quote.
          My university Operating Systems class was wretchedly bad. The closest we came to anything useful was a group project to make a very simple web site. The group I was in chose ASP, so I elected to write the documentation rather than to inflict an ASP bite upon myself.

          I also had to learn multithreading concepts on my own. Frankly, I learned nothing of consequence about computers and programming through formal channels. Everything useful was learned informally on my own. As far as programming went, to paraphrase an Adam Sandler movie, I felt dumber after the classes than I did before them.

          When I started my CIS degree, my university was (according to CIS staff) the top-ranked CIS program in the U.S. When I was halfway through my degree program, the university had dropped out of the top ten. When I finished my degree, I'm not sure the university was even mentioned on any of the lists.

          Coincidentally (or not), the school started its ranking freefall the year after it embraced Windows as the teaching and learning platform. I strongly suspect a causal relationship exists.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I'm an open source developer and seen a wide variety of developers over the last 20 years. Being self taught is not a good predictor of someone understanding complex CS concepts. I'm self taught, but I spend a lot of time reading code for things I think are cool. If I look at Apache, I would say more than half have CS or engineering degree.

      Of the apache server side developers I know, I would say 10% really understanding threading and race conditions at a deep level. Most developers can use thread pools and

    • If they're self-taught in Javascript or Python, they ain't doing multithreading.
      • If they're doing internet stuff, they will be doing asynchronous stuff. Which is the same but mostly without locks.

      • SMP isn't fundamentally different from multi-threading and plenty of Node.js code does that.

        And the way I/O is handled actually means pretty much all Node.js code is multi-threaded. Just because they actually came up with a nice, working model for multi-threading doesn't mean you aren't doing it.

      • If you think that then you neither know a lot about JavaScript or about Python.

        The simplest web page is multi threaded.

    • I've been a developer for over 3 decades, and one of the more valuable things I've learned is that I have limitations just as all people do, and one of them is that I find it difficult to do threading right, unless I have a full grasp of ever piece of mutable state that could come into play, and everything that could potentially modify and/or use that state.

      In simple, line of business CRUD applications, the need to worry about such things is limited.

      I've lately been involved in some gaming software where it

  • by Schoenlepel ( 1751646 ) on Sunday January 15, 2023 @08:52AM (#63210118)

    I talked with a developer. He explained to me he hates javascript with a passion, and is willing to murder the inventor of it over its idiotic practices.

    He was interested in learning python, as he had heard so much good stuff about it... then I told him it had significant whitespace. Now he isn't interested anymore. The decision to make whitespace significant in python is the most horrible decision they made in creating python.

    Why are languages developed by idiots the most in demand? Has the mental health industry got a shortage of patients, so they went lobbying with the software development industry?

    • He explained to me he hates javascript with a passion, and is willing to murder the inventor of it over its idiotic practices.

      Well, there are people who would like nothing more than to see Brendan Eich gone for the same, and other, reasons.

      Why are languages developed by idiots the most in demand?

      They're not developed by idiots. They're developed FOR idiots. Guido van Rossum programs in C, because that's what Python is implemented in.

      One part of the industry went the way of C++, another part of the industry went the way of making everything noob-proof, and assumed people liked programming to the lowest common denominator, instead of bringing noobs up to expert-level faster.

      • They're not developed by idiots. They're developed FOR idiots.

        How true.

        Sure, you can make an unreadable mess using languages like C or Perl. But being fitted with a programming language strait-jacket just to keep you from doing stupid things isn't the right approach either. But I'm sure corporate likes it. They can hire anyone off the street who can code in Python because it means they don't have to understand what a style guide is.

        • So you think having a style guide for e.g. C or C++ is better than having significant white space and you do not need a style guide?

          Hm ... I wonder what that says about your programming, programming languages and natural languages style.

          You know, most human documents have significant white space. Of course, youcouldreadthismostof thetimegoodenoughwithoutany.

      • One part of the industry went the way of C++, another part of the industry went the way of making everything noob-proof, and assumed people liked programming to the lowest common denominator, instead of bringing noobs up to expert-level faster.

        This has been the fundamental divide in programming language development since the 1950s.

    • I see your JS (seriously, whoever invented that atrocity, break his fingers, preferably multiple time, and make him a consultant so he can't do any damage anymore), but Python actually has a point: Self-taught programmers, and let's face it, that's the target audience for Python, are not exactly the most disciplined programmers. They tend to be sloppy with their whitespaces and indentation, they use tab once, then spaces next and if you happen to run into their code and your tab stops are set differently, i

      • Python actually has a point: Self-taught programmers, and let's face it, that's the target audience for Python, are not exactly the most disciplined programmers. They tend to be sloppy with their whitespaces and indentation[...]
        Python solves that problem by making whitespaces relevant, and also by not allowing you to mix them.

        That problem is solved by running fmt, not by creating a new problem.

    • by Anonymous Coward

      Sounds like significant whitespace, in addition to its other very strong virtues, is doing a good job of keeping idiots out of the Python ecosystem.

    • by greytree ( 7124971 ) on Sunday January 15, 2023 @10:22AM (#63210230)
      I am an experienced C++ developer and came late to Python.

      I find the cleanness of Python and the absence of all that awful {} boilerplate in C++ to make for nice-looking code and it often comes the close to the idea of literate coding.

      Being overly concerned with significant whitespace smacks of someone who has problems dealing with new, different concepts, a la autism.

      Me, I would "like to kill" the person who fucked up the Python 2 to 3 transition. That still causes problems today, 14 years later !
    • by dstrupl ( 588119 )
      Obligatory link: Whitespace| [wikipedia.org]
  • > Nearly one-third consider themselves primarily self-taught.

    "A self-taught man usually has a poor teacher..." - Henny Youngman

  • Has there been any research into how fast a competent developer can produce a fairly complex ( say a day's work ) GUI+DB+file contents-processing application in each of the popular languages ?

    And a nice follow on research would be how relatively buggy those applications are and how fast minor and architectural changes could be made to them.

    From my own experience, I suspect making something even fairly complex in Python would be faster, less buggy and easier to change than in C++, for example.
    • by dvice ( 6309704 )

      This might interest you:
      https://stackoverflow.com/ques... [stackoverflow.com]

      But I quote one finding here:
      "that experience with the language and framework appeared to be more relevant than what that framework was."

      • Thanks. Not many definitive answers. And mostly 12 years old.

        "that experience with the language and framework appeared to be more relevant than what that framework was."
        So run the study on students at the end of one year of training in a randomly-chosen language and framework in which they had no prior experience ?

        I am surprised there appears to have been so little research done, considering the relative simplicity of doing it and the massive financial implications.
  • For decades, C was my only true love in this arena.

    It is good for general programming, CGI programming, real time programming, and one of my favorite sports, writing Linux device drivers.

    In fact, as far as I know, the entire Linux kernel is written in C. Linus, I think, is starting to embrace C++, but not C sharp.

    I have not heard any suggestion that the kernel will have any python in it.

    I attended a lecture about trends in computer programming held at the Mount Baker Theatre here in Bellingham, Wash

  • The article notes that 59% do not have a CS degree. And, 1/3 claim to be self taught.

    These are the same people complaining that they face a lack of sufficiently trained individuals at work. Calling the kettle black, are we?

    Itâ(TM)s also interesting that two of the languages in âoemostâ demand require the least technical proficiency to learn ( Python and JavaScript).

    Donâ(TM)t get me wrong, I like Python when it comes to solving certain types of problems such as ML and NLP because the to

  • by OrangeTide ( 124937 ) on Sunday January 15, 2023 @12:14PM (#63210500) Homepage Journal

    Basically these are the three easiest languages to learn that require no low-level system knowledge nor a college education. Certainly the later helps broaden your scope, but it's not strictly necessary.

  • Recruiters have learned that Java and Javascript are not the same thing. It's only been 28 years.

  • Tools make getting work done easier. Tools do more and people do less. This increases the pool of available workers and therefore drives labour cost down. So a dumbed down language is the tool in this scenario. So, in theory, people who know less, can do the work of people with more knowledge and experience.

    Further reading around here would indicate that "AI" tools like co-pilot further reduce the need for deep understanding.

    HOWEVER, writing a loop or branching in a stanza of code is NOT deep understanding,
  • I've been working as a software engineer for over ten years now. If you can learn to code decently in one language, you can pick up a second or a third pretty easily. In my career, I've coded in C, C++, Java, JavaScript, C#, Go, a number of dialects of SQL, Python, and others. Employers really should not care much at all which languages a person knows. The question should be how well they can code, not the language.

    • by Serif ( 87265 )

      As regards picking up new languages, what you say is true to a certain extent but apart from SQL all the languages you mention are imperative. It's one thing learning another language using the same paradigm but I think you'll see a disconnect if you started to play with functional languages like Haskell or Clojure. Also even languages like Rust can have quite a learning curve with the concepts of ownership, borrowing and lifetimes. I agree with you though that it's understanding underlying theory that coun

    • The question should be how well they can code, not the language.
      Yes and no.

      In reality your new job has an old code base. Being able to jump quickly into work without having to learn the language first is helpful.

      On the other hand the business side is usually more important, and that means learning the self crafted frameworks every organization has. That is usually more a hurdle than the language they use. Then again, with so many "coding style advocates" you see here on /. - what point is in learning a sub

There is no opinion so absurd that some philosopher will not express it. -- Marcus Tullius Cicero, "Ad familiares"

Working...