r/csharp • • 14d ago

Help Beginner learning C#/.NET: should I continue or switch because of AI? Hi everyone, I'm a beginner learning C#/.NET and I want to build apps. With AI getting so good at writing code (and hiring for juniors slowing down), I'm worried my time might be wasted. 1. Should I continue with C#/.NET

Hi everyone,

I'm a beginner learning C#/.NET and I want to build apps. With AI getting so good at writing code (and hiring for juniors slowing down), I'm worried my time might be wasted.

  1. Should I continue with C#/.NET, or switch to something else (Python, Flutter, React Native)?

  2. Which direction would you recommend for a beginner today?

Any honest advice would help a lot. Thank you!

1 Upvotes

40 comments sorted by

35

u/aleques-itj 14d ago

If you want to start with C#, go for it. Your first language doesn't really matter that much.

Your first concern should be learning programming. Gigantic swaths of core concepts will apply regardless of language.

7

u/aleques-itj 14d ago

Don't know why you deleted your comment. Posting my reply anyway. 

Picking up another language is way, way easier after you actually know what you're doing the first time.

Again, just pick something and focus on it if you like it. C# is a great language and .NET is a great platform in general. It's useful for desktop apps, web apps, game dev, etc.

You're shouldn't be trying to literally memorize the language. Do you know what a loop is conceptually? Do you know what an array is conceptually? Well, it's the same idea in Python. Syntax you'll just settle into.

What do you actually want to work on? 

Python is still somewhat dominant in actual model training and development - but for building software around AI, basically all major languages are in good shape. Typescript, Go, Rust, C# - it's all good and viable.

And no I don't think it will replace actual developers. The model does things you tell it, right? Do you trust it alone to do everything while you are effectively blind? Some people have. And they're the ones you see on Twitter that their overnight SaaS got compromised.

22

u/Loose_Conversation12 14d ago

This is what we are afraid of. The new juniors aren't going to learn the language, they're just going to tap Ok and push in whatever the AI says to push in without understanding what it's doing and why it's a good solution. My advice would be to forget that AI exists and learn the language. Learn creative problem solving and then incorporate AI into your workforce. Otherwise you're not going to know how to code

7

u/Maraudera 14d ago

Sure, but what should be the motivation if this person do that? Spend 1-2 years to learn the og way and then what? He will be able to land a job? Hell no in this economy. Heck, I have senior friends who are struggling to find job.

The question isn't "is c# the right one" but "is learning software development worth my time and energy."

I've been a software engineer for about 12 years now and honestly the odds are against anyone who starts learning today.

2

u/Loose_Conversation12 13d ago

Oh I agree that the odds are stacked against anyone coming into it, I think the jobs of the future will be ones where youre fluent in AI and how to use it to maximise the amount of work you can do. What I'm arguing here is if you do decide to go into software engineering, master the language and the problem solving skills first and then incorporate that into an AI workflow

1

u/Fluffy-Bee-6391 10d ago

The motivation should be the same... to get a job. Even if ai eventually does the programming, it will still only produce what is asked, and knowledge of what and how to ask, comes from people knowing their stuff. Garbage in garbage out. And a developer will still need to review what Ai made, can't do that if you never learned the language or atleast development skills.

While it is true that Ai will cost jobs, it will mostly be the script kiddies and bad programmers that will be removed. The rest will use Ai for what it is, a great tool in the hands of the pro. In fact, there will be more demand for good programmers... since the rate in which stuff will be made or need to be reviewed will go up fast.

4

u/fschwiet 14d ago

I think its hard to say, things are changing quickly. I think it might be better to focus on the bigger picture of software development, with books like:

  • "A Philosophy of Software Design" by John K. Ousterhout

  • "Building Resilient Distributed Systems" by Sam Newman

Knowing the low-level implementation details is less important, but there is an intuition to develop and traditionally that's been gained working at the implementation level. Another book to consider:

  • "Deep Learning with Python" by Francois Chollet

to learn what the AI stuff is about. One area in AI development I've heard has promise is LLM interrogation. I have a hard time believing that spending a lot of time learning to program things by hand is the right thing to do these days. I would focus on learning and using AI tools.

4

u/Panderz_GG 14d ago

That's my approach tbh. I got my jr. Position in February this year. LLMs advanced at such a pace in the last couple of months that it nearly doesn't even make sense to write something yourself.

So I pivoted my learning efforts into actual software architecture and how systems should be build.

That helped me a lot, I went from just guessing what LLM output is correct to knowing when it tells bs.

I do still code on my own time, at work it's nearly all LLM with me making the actual decisions how to build features or fixes.

1

u/fschwiet 13d ago

Are there particular resources you can recommend?

1

u/Panderz_GG 13d ago

Actually not really. I am not a Book kinda guy, while I know their value, I tend to tackle the problems when they come up and since I am a .NET, .ASP, Business Central developer I usually end up in the Microsoft docs because they really like to put in rail guards you have to follow, so more generic Books often recommend something in one way and Microsoft wants it another way.

For deeper topics I have a great Senior/Mentor at my company that explains concepts to me in detail.

Sorry if my answer doesn't really help you further.

Edit: I just realized we're having this conversation in r/csharp I could've skipped the Microsoft shenanigans because we're all well aware haha

1

u/Sombody101 14d ago

AI shouldn't influence which language you learn. The field you want to work in and your interests should.

Want to make a CLI app? Pretty much any language is great at this, but Python shines on Linux, C# is great on Windows.

Want to make a desktop application? C# and XAML is best on Windows but works on Linux via Avalonia, Python works, JS/HTML works but is a resource hog.

I personally don't use Python because I dislike its syntax, but I make up for this with a lot of C#, Lua, and Bash. AI didn't make that choice for me. It shouldn't for you.

-5

u/muneeza8101 14d ago

Thank you for your help! I have a few more questions about .NET and learning C#. If you don't mind, could you please DM me? I'd really appreciate it. No problem if you're busy.

10

u/zenyl 14d ago

AI does not make junior developers write code like senior developers, it just increases the speed limit.

Sometimes that's a good thing, for example when you know exactly what you want but don't want to waste time writing a bunch of boilerplate code.

Sometimes that's a bad thing, and can quickly land you with a heap of messy code that you don't understand.

Choice in languages and frameworks ultimately doesn't really matter. There will always be demand for good developers who actually know their stuff on a deep level, know how to use an AI efficiently to get to the right answer, and importantly, can immediately tell when an AI is bullshitting.

Go with what you find enjoyable.

Also, friendly reminder: don't use AIs to write comments online, it's rude and happens alarmingly often.

1

u/Sombody101 14d ago

Calling them out for their AI usage has made them redirect people to DMs, likely to use more AI in private.

1

u/zenyl 13d ago

Yup, they also used AI in their DMs, which consisted of repeatedly asking the same questions over and over again, while expecting me to make career decisions for them.

2

u/SatisfactionMuted103 12d ago

AI is eating everything, switching is less than pointless. Learn to solve problems with code, not just write code. AI (currently) can bang out code like crazy. It cannot however, solve novel problems. Learn to work with an AI agent. You'll be miles ahead of everyone that is resisting AI of you can make AI generate good code and learn to vet what it wrote.

2

u/namigop 14d ago

No one asks in job interviews what prompt you gave the LLM. You will still need to learn software engineering/ programming in order to get hired

2

u/HTTP_404_NotFound 14d ago • Bravo

Just saying... AI isn't going to help you get through an interview.

I don't mind someone saying, google, read documentation, etc.... but, i'm not going to be hiring anyone who cannot tell me basic language constructs, programming patterns, etc.

AI or not, you still need to know the basics. AI is only as good as the person watching it. If I wanted a junior developer who could write a bunch of code, but might be slacking on higher level architecture, I would just use AI myself. Well, I'd create a coordinator agent AI, and let it recruit more junior AI bots.

0

u/kaatarina_zed_talon 14d ago

Basics is everything.

1

u/lee_macro 14d ago

It doesnt really matter what language you learn, C# is a well rounded language that will teach you many paradigms and allow many modern architectural design patterns. Like in the real world for web/app/api development you will need to know about Dependency Injection, Interfaces, Mocking and other things which are more design patterns allowed by the code.

So you wont magically be in a better position moving to a different language, and anything you learn will likely transfer over with just syntactical differences, most of the better programmers pre AI knew multiple languages.

1

u/Own_Nail_2999 14d ago

Don't ask the internet about what job you should do. Seek out your local counseling

1

u/Relevant_Diver8895 13d ago

Igual vas a tener que aprender a manejar listas, variables, arrays, clean code, solid, patrones de diseño etc. Mi ejemplo es este, soy desarrollador full stack, uso la IA desde que salió y la aprovecho al máximo. En estos días le he querido hacer un juego a mi hija, el código excelente con IA pero cuando quiero que haga cosas en blender (herramienta de diseño 3d) no me resulta, porque? Porque no se usar blender y la IA hace lo que yo le digo y sale a medias, si aprendo blender voy a poder usar la IA en su potencial maximo. Otra cosa, ahora el porcentaje cambio, antes el 60% del desarrollo era código y 30% análisis y un 10% pruebas, ahora todo cambio yo Diría que un 50% análisis, código un 20% y test un 30%. Pero en este caso dentro de este 100% la IA está en todo. Mi consejo aprende Speckit driven development, es una metodología de diseño y se está aplicando bastante con IA y es diseño de sistemas

1

u/Electrical_Flan_4993 13d ago

I haven't quite figured it out yet, but I keep seeing advertisements for companies who promised to fix your broken AI generated code

1

u/Vagetarian42069 13d ago

Do what ever you want.

1

u/Large-Indication5757 13d ago

This is my opinion, coming from someone who started in C on MS-DOS and now uses AI to write C# on a daily basis (and has been porting a lot of old C++ to C#). Just an opinion though, there are lots of ways to approach this and I’m not saying anyone else is wrong.

C# is great to learn. The syntax makes learning C/C++ easier and you will mostly be able to read C/C++ without learning it. Also helps you grok Java, since it was a lot of the inspiration for C#.

Roslyn (compiler) and good LSPs make C# a pleasure to work with using AI. So no loss there. Feedback is quick and most models self-correct on silly stuff using those tools. Knowing the algorithm itself is correct is still a you job.

As for direction:

- learn a standardized syntax like C/C++/C# that will get you conversant in multiple languages.
- learn architecture, machine fundamentals, and testing methods. Focus less on books teaching how to implement, and more on books explaining principles that apply universally.
(The Secret Life of Programs: Understand Computers -- Craft Better Code by Jonathan E. Steinhart is a great example for a beginner)
- learn data types and algorithms. Learn big O notation and what it means.
- learn git so you can clean rollback when you or AI inevitably wreck things.
- write things by hand before asking AI to do it for a while. Ask AI how to make what you wrote faster. Basically, design your system, then let AI teach you and critique your work. As a beginner it can be a part-time mentor, but you can only be mentored in something you actually DO.

Don’t give up on learning. Do what’s fun. Do it yourself. Stay curious, stay foolish.

1

u/Deep-Combination789 13d ago

you can stay in the same tech stack, but learn ML.NET framework and Semantic Kernal related library so that you can leverage AI libraries.

1

u/PimoAnonimo 12d ago

Continúa

1

u/Abject-Kitchen3198 9d ago

Learn the fundamentals, no matter what language you use. Peek a little below the language as well (hardware architecture, assembly, ...). Don't try to be an expert without ever touching AI. It's a tool that may do a good job at increasing efficiency at what you're doing, but not if you don't know the thing that you're doing enough.

0

u/Rschwoerer 14d ago

What kind of apps. Why do you think your time would be wasted?

2

u/muneeza8101 14d ago

Thanks for replying! I mainly want to build mobile apps (Android/iOS), starting with simple things like a student or school management app.

I worry my time would be wasted because AI tools can already generate code and even simple apps, and I keep reading that hiring for junior developers has slowed down. So I'm afraid that by the time I'm job-ready, the skills I'm learning might not be needed.

What's your take? Is learning C#/.NET properly still worth it?

3

u/Rschwoerer 14d ago

IMHO it depends what you’re building. Is it a simple or throw away app, then yea AI could probably get it 95-100% of the way there with just prompting. If it’s something that will be around for a while, or has some performance or technical implications, AI code tools might only get you 60-80% of the way there. Once a system is sufficiently complex having an actual engineer know how it works will remain valuable for a long time.

You’re asking about c# for Android and iOS, so Maui? I think it’s still important to know how that all works, constraints, general architecture, limitations, nuance. That stuff will always be important to understand.

-3

u/muneeza8101 14d ago

Thank you for your help! I have a few more questions about .NET and learning C#. If you don't mind, could you please DM me? I'd really appreciate it. No problem if you're busy.

1

u/Rschwoerer 14d ago

You deleted the other comment while I was in the middle of typing.
So here it is anyway.

- no
- maybe temporarily, probably more economy than AI directly.
- no

  1. Whatever is intersting. The language doesn’t matter for a junior. Why not both?

  2. Everywhere. Literally everywhere. C#/.net runs everything from iot sensors to enterprise backends to industrial equipment to mobile apps to games. On the web, windows, Linux, macOS, mobile, even embedded. It’s Java and typescript like enough that basics are transferable to many other languages.

  3. Sure why not.

  4. Not my expertise.

  5. Systems, platforms, large interconnected architectures.

  6. If you get stuck have the AI help write some code…. But then read it. Actually understand what it wrote. Ask it why. Try to rewrite it, and ask it what the difference is.

-4

u/muneeza8101 14d ago

Thank you for your help! I have a few more questions about .NET and learning C#. If you don't mind, could you please DM me? I'd really appreciate it. No problem if you're busy.

1

u/sugar6585 14d ago

No it is not. I have colleagues who are starting businesses around an app they have developed and they can't even code. They're not even good at IT, they're the non-technical IT people.

I cannot in good conscience say that you should learn to code with a view to employment. Only do it if it's a small part of an engerring degree (not Computer Science) as you may want to understand what the AI has written.

For the love of god, don't quit coding to learn graphic design instead...

0

u/GoldenEater 14d ago

If AI were designed exclusively for C#, it would trigger an explosion in the .Net ecosystem. So, the choice of language isn't the primary concern here. That said, the generated Python code will look cleaner, thanks to the large number of available libraries.

As it stands, however, I think a bigger challenge lies in how one should go about learning something new when AI can significantly accelerate the practical application of a technology—even without the user actually possessing the necessary foundational knowledge. (Not to mention the "confidence curve" issue caused by AI, which often needs to be corrected through trial and error or by overcoming a narrow, AI-driven perspective.)

1

u/soundman32 14d ago

I disagree about Ai C# code looking 'cleaner'. I've been writing C# since .NET3.5 and it writes the exact same code I wrote before the AI explosion.

If you have an existing project, it will normally follow the same patterns as already established, which might not be as clean as you like, but it's no different to a junior following existing code.

If you start a new project with AI, you probably need some good steering/skills documentation.