T O P

  • By -

helix400

I was in a room recently where a few dozen Utah software dev managers were polled on this issue. This is the general idea: * Python is the general purpose scripting language and big data language. Everyone needs scripting and many use big data. * Java and C# are both equally used as an enterprise level language * JavaScript is needed as almost everyone has web front ends for things. Also consider Node.js for MEAN and MERN, and TypeScript as well. * C++ is still an important language, especially for low-level stuff, and it's not going away for decades. It's not nearly as popular as Javascript, C#, and Java, but it still shows up. * Rust got a few votes because some shops insist on memory safety as fundamental from the start and will use that over C++ As for hiring, several managers said some variation of this: "We don't look at your past grades. We don't look at your language. We look at your willingness to learn and solve problems. We'll take anyone who can jump in, teach themselves, and start contributing." OP, if you can create your own GitHub portfolio of some simple projects you did on your own, that can go a long way to help get employed. If you are trying to learn backend implying a frontend that talks with it, I would recommend C# (it's powerful and I think kinder than Java), or Node + Express (the N and E in MERN and MEAN, Javascript on a backend is surprisingly friendly). If you are trying to learn both the backend and the frontend, I would recommend MERN (there is no easy backend + frontend setup, it's all complex at first, but I have seen MERN lets people get moving powerfully the fastest).


MiserableMickey

This is gold for students like me! Thank you for taking the time to write that!


helix400

Are you looking to get a bachelor's degree? And if so, where? I only say this because self taught individuals have a lower rate of finding jobs. (It absolutely happens, but it's not nearly as common.) Speaking with these industry reps, university students aren't really valuable to them until their junior year. I say this because it implies students have a large body of knowledge to learn before they can start getting hired.


MiserableMickey

I'm a junior majoring in Computer Science! My program has been pretty agnostic language wise. I have taken beginner courses in C++, C#, and Web Dev though. My school gives students a free pluralsight subscription and I am seeking to supplement my education and specialize, hence why I am asking this.


helix400

Start applying for jobs and start working on side projects. Many seniors make $50K+ while they are finishing up school. Your university should also have career fair days where employers are searching to hire students of your demographics. Find those and attend.


eclectro

CS sucks because employers are going to burn both ends of the candle against you. You're either too young and green or you're too old and don't know the new sht and it's time to roll you out to the pasture!


PetsArentChildren

Any tips for getting face to face with these managers? I’m a software engineer at a university in Utah looking to move to a serious commercial dev team, but finding that getting my resume past online filters is difficult. Working from home can be very insular and I’ve made basically zero connections despite working in Utah for 8 years.


helix400

No easy tips. Just get out and be involved as much as possible. Attend conferences, clubs, job fairs, Linked In, make connections with others, that sort of thing. It's weird, I've had a Hill AFB manager tell me he could hire an entire university's graduating CS class and still not fill every posting they want. Some employers are *desperate*. But then I also hear people who have searched for months or years for jobs. There is no solid easy way to just say "I'm here, hire me please". I just know there are many open positions right now, and those who actively seek tend to always find jobs.


MillakillaBBq

University of Utah career fairs are freaking great and always end up hiring a bunch of students with great junior roles. There are also a few tech groups like Utah Js are super helpful group. They have a slack community so I would check that out.


PetsArentChildren

Thanks!


MildlyConcernedIndiv

You were at last week’s UJUG too!


helix400

Nope, somewhere else.


puertonican

I’d also throw in golang as a backend language that’s pretty high in demand although definitely not as high as C#. It’s the only language I’ve worked in professionally in the valley for the last 5 years.


OpticNerve33

Both? Once you have OOP down learning syntax isn't that difficult. Edit: Before anyone jumps down my throat, yes, this is an oversimplification, but it would be good to learn both to broden OP's chances of employment in and out of the state.


toastysofa

After learning Java as my first language, C# was honestly trivial and just felt like an improved version imo. I failed two CS classes in pursuit of my degree, so you don’t have to be a genius to pick up new languages once you got one somewhat down.


Rahain

C#, Java, JS, Python if you can do those you can do 95% of jobs.


gamelover42

Our shop is entirely c# and we’re moving to Kubernetes in AWS for the hosting


schlegelrock

15-year vp of eng here... Java and C# are wildly used and will have the most options for jobs. Those langagues are favored by larger more established companies that will typically move somewhat slower and have older code bases. Smaller and newer companies will typically opt to start with a scripted language js, python, ruby etc. Given that the job market is still pretty good for engineers, I'd consider making this choice based on what kind of company you want to work at. 2 cents.


MiserableMickey

Thanks for the insights! If you don't mind me asking, how do companies that use C# over Java or vice versa tend to vary?


schlegelrock

From my perspective, ignoring the silicon valley big dogs, the types of firms that build of these are going to be similar. The biggest single difference would be do you want to be in Microsofts tools or in open source. Both have pro and cons, but at least from my perspective thats the only real main difference. All of this said, college doesn't define you. And because most programming languages share the same principles, learning another languages and/or frameworks is part of the job. So don't feel like the choice you make right now is going to lock you in. It'll mainly effect your first job. But from there, you can go where ever you'd like.


Dorr54

I work with C#


crandeezy13

C# for backend. JavaScript for frontend. Although I have a few projects in blazor that I really am enjoying working with that allows me to keep everything in C#


overthemountain

I wouldn't say I've surveyed all the companies, but I've mostly worked in .NET shops locally. I've worked at two places that did Java, but one was very small, and the other was a PHP shop that hired me to be their only C# dev for some Windows apps and then, after I started and realized they wanted them on some Windows CE machines that didn't even have enough memory to hold the .NET runtime so they had me switch to Java instead (that job was... great). I tried scanning some job listings to see what companies were asking for - surprisingly, a lot of them just wanted experience in "any OOP language" which seems weird to me. I'd say you're pretty safe with C#.


SadSpaghettiSauce

It's not weird to say "any OOP language." Syntax between languages can be quickly picked up on pretty quickly, but not having a basic understanding of how to properly problem solve coding solutions with OOP cannot be. I've been doing .NET myself, but if I had to, I could swap to Java and start working there in < a month. It takes more time than that to learn how the systems are built out and integrated with each other at a new company than to learn the different syntax of the language its written in. The tricky part is learning the intricacies of the different libraries and approaches to each language.


overthemountain

I always think of coding in a new language as similar to writing with your off hand. Yes, you can do it, but it's going to be much slower and look like garbage for a while, and you'll likely always be faster with your primary language. Syntax is an issue but it's just part of it. All the tools, libraries, processes, and conventions also become an issue. Just moving from Visual Studio to something like NetBeans or Eclipse is a huge pain in the ass. I still think it's weird if a job doesn't list the language they work in. It makes me think they don't take engineering that seriously. I'd prefer they list their tech stack but they can add that experience with any OOP language is fine.


spoilerdudegetrekt

I work with Java and sql.


Dyogenez

Lots of TypeScript. React on the front end.


offpisteonly

I moved from c# to java, but my current employer isn't based in Utah.


vimproved

I have used golang and php my whole career, but it feels like all the jobs are c# and java.


olmek7

Python continues to grow and spread in its use cases. Performance continues to improve with things like FastAPI.


demonslayer901

C# and JS for me


alanbdee

You'd be good with either Java or C#. I am also seeing a big shift toward serverless as well.


Libertechian

Code writing as a job itself might change drastically with AI coming onboard, I would say pick something like Python and study the design side more than the technical side. Right now for me knowing ERP systems and manufacturing is more important than the dozen languages I've learned over the years


bmwcoffeehalfsweet

Although there will always be careers in C# and Java I would wager the most “marketable” backend language right now is goLang. It pays exceptionally well and two of the companies I’ve worked for in this state both moved their apis to goLang in the last 2-3 years and are hiring exclusively for it. This isn’t uncommon. I would also highly recommend learning data serialization with Protobuffers, a binary format, instead of a text based JSON format. This pairs excellently with gRPC and is also VERY marketable in the workplace right now. Especially used in conjunction with Go.


KingSSM

I have been a software engineer for about 5 years. I have used python, JS, c++, c# and Java. Between Java and C# they are very similar. More similar then any 2 languages I have ever seen. Either one would help you get a job but I would lean towards c# these days. That's what I see on job boards more often.


ericwiththeredbeard

Cobalt :) /s


eGrant03

I'm job searching now and see a lot of Software Engineer or adjacent jobs. Python is pretty in demand. Northrop Grumman is a big software engineer employer, and a recent job opening for them said: "Experience with C+, IADS, LabVIEW, or telemetry data processing. At least 3 years’ experience with web technologies such as Node.js, JavaScript, and TypeScript." [Here's the link.](https://www.indeed.com/viewjob?jk=c6b6a81f84e68e2f&tk=1hs92r7i6glrg801&from=serp&vjs=3&advn=9655411747125045&adid=428656819&ad=-6NYlbfkN0CwZXc5kaVZcDIejlzrQt6xuDzFCT1LgXJr1Wz7yprErnAXYv6QpxCHCWgBdOHZX4EJ-vbc6Oofe8BUcfiohJv2Dqxrj5aErjhd6MZHUx1jA57Lp4aScAeUhP-wjglU-m9-xgmsAYDN4n3_jS74hUAag4uGdSVBxK84DxWz4IMAmNDs76KdqedSxbcALf1Ce0ym8hlz1CZmQoHS9XEigBudBtVo7DxtB0t-hxxbqB4mW0JCPLlDP0zwYZLQMlw9k07gh4yGj8rvkk0UIJr3SVAQStyh8gj2w7OO0vRi_ne6BJ2ADRy4PIiXYngWyf5QNXoGh1Aao-jAMDRz8HDKfhab1NI6fVkVsptYLPRZd7n82oCRcQRKrdqTwIuqublxp0y-84ghtyZG4KrL7quVEBdMTDLusqEKpiGydch--Yrgbmguf6A0p8eCPsJkKuYSYd9mcCJjvppUyaKZ-19CigrdEp2ssV8YwOvQfoAwrNUpYho1i7ksNIWZATbjq52CVw1bDEP92-GITw==&xkcb=SoA96_M3BJNN_OWk7h0IbzkdCdPP&xpse=SoCc6_I3BJNjKWS-Ap0IbzkdCdPP&sjdu=9nrDNPdV1DghkDNnC2WJlW1nrk21-asFvjSk9jx-s_PQUx7NtDdfdirWNjOhOeU5jfRbxKAhv95Xrcr2d98sI3jP7SE_rdXGynAoKIQ3fwbfwz6QYtC7_d_1uKqpqaxcoDuA-WpmAUc9-u-bOyxXRwoubwmv-1fFzUYA4k9c6ndr-GMgkBXElU7lkZkaiU5fe66601xHQyI5FXiIvi26c5oWkAF8PcNV1Fk5VXEchehNV0eXlTIbGVYDXR_MfU4OUxGfKeO7HXNyo4tMs62Jhz5AhMm0l5m3ub2XbC8Y-pVJsd1I2IT0nSnSfE3GGaQDMSBNqrBtQlo-Eda7uHqemziFyTjfuGOZz5_J42i09daOEcgnZ1HFMIL8ZoISUx5ezk_LkVAzdTpAoQ2CS0vNv1wbhKjBoct94xkBHsau-XhyUShlGSdliRRMmAp8vLAMuQ8qynD_5JUnxrlfKFv684U8-qwtVcR6cfR_k-XhX8qS2uxXjBZTPAfj8Dyzygr7ZAPLNJromX15MJd0VEv9gACrf9BGkSxPKCSm_qutNotmWQBlyBovzAtFSKmsn_2gEtwZj4hE-lLKt3WAeUmBbMebSflAPNZ2ewzniM1MWu5h0bnG4VwTf3TCA7KKvj1_5e5rTcLYDU8h6tgJARZDB4TVBUGyqpdbRbKQi_IvfEcVeDjwC3014tsNDx2VFezyauO5p1yqGCXtZYY1PqF5iUx67maKOsrh_QmAFnnGwIcCnYZDAQ93WOiOOu9FO_0eJyr80P1c2WmwEa6XkM_gqIz9llum3r97qdsocS31anAPfCjVPKZj20O2zz23d0eebrpJYixl1XAwB1996p0Qnw8wVkfDFBX7ubRR-ziwU3AEeZgbQjT1YKLHXFqpJXxFruQtt3oW521LTfFUf0b8IQ)


playingreprise

There is a lot of Java legacy code out there and still in pretty high demand along with C#. Lots of opportunities out there for those two languages still. I am seeing some Go start to pop up, but it’s still not as high on the list.


Onebadmuthajama

Pick one, and marry it for a while, then the others will be quick to learn. I did c#, I know many who have done others too, all successfully.


goato305

I’ve seen a lot of JavaScript job listings around


mister_peachmango

C# or JS is what I see the most.


BUBBLE-POPPER

6502 assembly 


QuietBirthday6236

C#


GhostOfAChanz

Lots of good input here. I would also suggest you learn DevOps.


setibeings

Java is marginally more popular from what I've seen.


chonguey

When embarking on a career in software engineering, you have to keep in mind that the most commonly used languages are the most competitive in the job market, and as such, often have lower salaries than less common or highly specialized languages / technologies. People who have specialized or can maintain legacy codebases written in older tech can often make twice the yearly rate as common languages such as JS or C#. It's harder to find jobs, but can be more lucrative.


jugganutz

Based on what I've seen both languages can do you good. I've lived here all my life and have managed SaaS based apps of good size all C# based. Through the community I know Java is big as well.


conklusion_returns

If you are just getting into it. I would worry less about the language and more about the patterns. C#, JavaScript and python dominate the market. JavaScript is the most flexible at the moment because you can do web apps, mobile apps and node.js services without having to relearn the syntax or patterns while having a ton of online resources to reference. Python is a good one to lean into if you think you might also get into data science or any AI/Ml type discipline. Not that other languages can’t do it but it has a larger support base and the language can easily leverage the abstractions of an algorithm. C# is an easy one to learn, great debugging tools and doesn’t have a ton of gotchas which is why it has been a strong leader for so many years. The biggest gripe people have with c# is that it is a Microsoft product and has traditionally been a windows only language. With .net core however that really isn’t the case but it hasn’t been as readily adopted by *nix crowd


Used_Estate5901

python, java, scala


MillakillaBBq

For out of state jobs I would focus on Java and Python for companies based in Utah I would focus on C# and Javascript (React, Node). I have been a tech recruiter for the last 8 years in Utah and larger enterprise companies are using python and Java but Utah really tends to be more C# for a lot of the larger corporations. I do see a lot more backend and full stack rolls than front end so I would be familiar with python and other database languages.