Methodology

We distributed the survey via targeted ads on Facebook, Twitter, and LinkedIn and via company channels (panel respondents and the @intellijidea account in Twitter). We collected 400 complete and valid responses from the US, Germany, and UK via different advertising. The rest of the respondents were recruited from other countries via company channels.

Some bias is likely present because JetBrains users may have been more willing on average to complete the survey in advertising channels, and because we’ve included JetBrains followers in the sample.

The raw survey data are available for your perusal.

Key Takeaways

JavaScript

is the most frequently used second language among Java developers.

92%

of Java developers use an IDE as their most frequently used development tool.

26%

of Java developers are intending to move to a new industry.

Programming languages

What programming language(s) do you regularly use?

Number of answers: 1361

100% 54% 47% 45% 29% 28% 19% 17% 14% 14% 13% 9%JavaJavaScriptSQLHTML / CSSPythonShell scripting languagesKotlinTypeScriptC#C++PHPGroovy
All results

What is your main programming language?

Number of answers: 1361

JavaKotlinPythonOtherJava76%Kotlin5%Python3%Other17%

Number of languages used

Number of answers: 1361

7%14%17%18%16%11% 7% 4% 2% 2% 1%1234567891011+

Do you plan to adopt / migrate to any other language(s) in the next 12 months?

Number of answers: 1361

48%17%12% 9% 6% 5% 5% 5% 5% 5% 4%No, not planning to adopt / migrateKotlinPythonGoTypeScriptScalaC++JavaScriptC#SwiftRust
All results

Java Background

How long have you been programming in Java?

Number of answers: 1329

8%Less than 1 year
22%1–2 years
33%3–5 years
19%6–10 years
17%11+ years

Which version(s) of Java do you regularly use?

Number of answers: 1329

OtherJava 10Java 9Java 8Java 7Java 6Other1%Java 1016%Java 916%Java 887%Java 719%Java 65%

Working Environment

IDE vs Editor

IDE
Editor
92%8%

What type(s) of applications do you develop?

Number of answers: 1361

71%50%34%27%27%25%13%10% 7% 7%Web back-endWeb front-endOther back-endDesktopMobile applicationsLibraries / FrameworksData analysisMachine learningBusiness intelligence (BI)Embedded / IoT
All results

What application server(s) do you regularly use?

Number of answers: 1329

22%63%19% 9% 8% 7% 5% 5% 2% 1% 3%NoneApache TomcatJettyWildflyJBoss EAPGlassfishWeblogicWebSpherePayaraLibertyOther

What IDE features do you use?

Number of answers: 1256

Don't know, don't use
Know it, but don't use
Use Sometimes
Use frequently
31%44%17%8%19%27%30%23%19%28%25%28%16%23%39%22%14%15%37%34%13%27%34%26%13%15%16%56%9%13%28%50%7%7%26%60%6%9%25%60%5%6%23%66%4%6%26%64%4%5%23%67%3%3%17%77%2%2%15%81%2%2%11%85%2%4%19%76%DockerCode snippets / LiveTemplateApplication serversDecompilerDetecting duplicatesDatabase toolsVCS integrationTest runnerIntelligent codeediting"Go to" navigationCode inspections andquick-fixesBuild toolsRefactoringCode searchRename refactoringCode completionDebugger

Learning patterns

How much time per week do you spend on learning new tools / technologies / programming languages?

Number of answers: 1361

1% 7%28%43%14% 5% 2%I don’t spend time on learningLess than 1 hour a week1–2 hours a week3–8 hours a week9–16 hours a week17–32 hours a week32 hours a week or more

How do you feel about the time you spend on learning new tools / technologies / programming languages?

Number of answers: 1343

I’d like to spend more time on learning
I like the amount of time I spend on learning
I’d like to spend less time on learning
72%27%2%

Which of the following have you used to learn new tools / technologies / programming languages?

Number of answers: 1361

66%66%58%45%36%32%21%13% 7% 1%Documentation & APIsBooksBlogs/forums/newlettersMOOCs (Coursera, edX, Udacity, etc.)Conferences, meet-ups, tech talksOnline coding schoolsPodcastsOffline educational organizationsOtherI have not learned any new tools / technologies / programming languages

What kind of learning content do you prefer?

Number of answers: 1361

77%68%33%20% 9% 2%ReadingVideoInstructorPeersPodcastsOther

What usually motivates you to start learning new things?

Number of answers: 1361

84%80%43%43%26%15%11% 1%Curiosity / InterestDesire to improve your skillsNeed for an upcoming projectNeed to fix a current problemDesire to find a new jobDesire to get a promotionFormal training provided by your employerOther

Skills and Knowledge

What skills and knowledge...

Number of answers: 1361

... consider important to be successful at your position?

... would you like to learn or improve?

74%69%61%53%45%45%45%43%42%35%35%35%30%29%27%25%25%21%19%19%16%11%10% 1%
46%23%52%14%26%22%23%20%39%19%26%21%35%12%31%29%18%30%28%17%13%27%18% 1%Software design patternsJava as a programming languageAlgorithms and data structuresCode styleWriting testsBuild and project management toolsDatabase technologiesDependency Injection and Inversion of ControlConcurrency and parallelismSoft skillsClient-side web technologies and frameworksJava enterprise stackJVM internalsTeam toolsDockerPerformance and memory profiling toolsProject managementMathCloudsUXGUIDistributed and data-processing systemsInfrastructure as a codeOther

Demography

Could you tell us your age range?

Number of answers: 1361

17 or younger18–2021–2930–3940–4950–5960 or older17 or younger2%18–2011%21–2942%30–3931%40–4911%50–592%60 or older1%

What country do you live in?

Number of answers: 1361

  • 21%Germany

  • 13%United States

  • 8%Poland

  • 7%United Kingdom

  • 7%Ukraine

  • 4%Canada

  • 3%Russia

  • 2%Italy

  • 2%Czech Republic

  • 2%France

  • 30%Others

What is your main employment status?

Number of answers: 1361

63%20% 5% 4% 3% 3% 0% 2%Fully employed by a company / organizationStudentPartially employed by a company / organizationFreelancerSelf-employedCurrently unemployedRetiredOther

Which of the following best describes your job role(s) regardless of your position level?

Number of answers: 967

88%22%18%15% 6% 6% 5% 5% 5% 5%Developer / Programmer / Software engineerArchitectTeam leadDevOps engineer / Infrastructure developer / etc.Tester / QA engineerDeveloper AdvocateTechnical supportData analyst / Data engineerInstructor / Teacher / Tutor / etc.UX / UI designer
All results

How long have you been working in IT?

Number of answers: 1361

Less than 1 year1–2 years3–5 years6–10 years11+ yearsI work in a differentareaI am unemployedLess than 1 year10%1–2 years17%3–5 years24%6–10 years18%11+ years24%I work in a different area6%I am unemployed1%

What is the level of your position?

Number of answers: 1059

3%Trainee
19%Junior
31%Middle
47%Senior
1%Other

How long have you held a management position?

Number of answers: 214

35%30%20%10% 5%Less than 1 year1–2 years3–5 years6–10 years11+ years

Which of the following best describes the highest level of formal education that you've completed?

Number of answers: 1361

1% 1%11%20%35%27% 1% 2% 1%I've never completed any formal educationPrimary / elementary schoolSecondary school (e.g. American high school, German Realschule or Gymnasium, etc.)Some college / university study without completing a bachelor’s degreeBachelor’s degree (BA, BS, B.Eng., etc.)Master’s degree (MA, MS, M.Eng., MBA, etc.)Professional degree (JD, MD, etc.)Doctoral degree (Ph.D, Ed.D., etc.)Other

What kind of development does your company do?

Number of answers: 967

58%40%37%29%16%12% 7% 2%Product developmentIn-house developmentDevelopment of customer services (websites, mobile apps, etc.)Custom-tailored software / websites / applicationsOutsourcingInternal deployment and maintenance of third-party toolsOpen source projectsOther

What is the total number of people that work for your company / organization?

Number of answers: 967

2% 7%18%27% 9%13%21% 2%Just me2–1011–5051–500501–1,0001,001–5,000More than 5,000Not sure

Is IT your company's core business?

Number of answers: 967

Yes
No
68%32%

In which of the following sectors is IT company primarily active?

Number of answers: 659

35%25%24%24%24%17%15%12%12%11%IT servicesOther Software (all other types of software)Big Data / Data analysisCloud computing / platformMobile developmentFinTechSoftware development toolsHealthcare ITIoT / embeddedInternet / Search engines
All results

In which of the following sectors is non-IT company primarily active?

Number of answers: 350

32% 9% 9% 6% 6% 6% 6% 6% 6% 6%Banking / Real Estate / Mortgage Financing / Accounting / Finance / InsuranceAutomotive and boatingGovernment and defenseSales / Distribution / RetailMedicine / HealthAdministration / Management / Business DevelopmentLogistics/ TransportationMarketingEntertainment / Mass media and information / PublishingManufacturing
All results

Do you intend to move to a new industry?

Number of answers: 967

26%Yes
74%No

Which of the following industries would you like to move to?

Number of answers: 250

64%28%16%14%12%12%12%11% 8% 8%Information technology / Software developmentScienceBanking / Real estate / Mortgage financingSecurityMedicine / HealthEducation / TrainingAccounting / Finance / InsuranceBusiness / Strategic managementDesignLogistics/ Transportation
All results

Learning Tips & tricks

Stay determined

Software development is an enormous area so the learning process might become tough just because of the amount of available information. Don’t take it too hard on yourself: you face difficulties because there’s so much to learn, not because you’re not smart enough. If you ever consider quitting, do it because you’re no longer interested. Otherwise, believe in yourself and keep going!

Begin with a project

I suggest to come up with a challenging project regardless of how impossible it might seem - automatic watering system, budgeting application, chatbot, etc.! An exciting task inspires you to learn and provides an excellent hands-on practice.

Self-reflect

While facing a complex topic, you might be tempted to skip it. Stay determined! Consider going through earlier themes to look for missing details. Otherwise, think about alternative solutions that may help you overcome difficulties.

Seek help

It’s always OK to ask for advice from mentors while learning computer science (and even later when working in industry). An outsider’s opinion is helpful to get around a challenge. Discussions with colleagues prompt you to come with a fresh way to fix a problem you wouldn’t beat on your own.

Play

Try educational puzzles like CheckIO, CodinGame, and others. It’s a good way to see algorithms in action—all while beating monsters and earning points.

Put together a portfolio

Every project you do is an excellent addition to the portfolio. Get familiar with version control systems and put your code out there. Your best resume is an active GitHub account.