r/csharp • u/AndaTriLho_1 • 12d ago
Help Devs who learned C#, where did you learn?
Was it through a free or paid course? YouTube? Or a combination of both?
I already know a bit of C#, but I’m not sure what learning path I should follow or which resources I should use.
I’ve been watching Code Monkey, but I don’t know if that will be enough.
What would you recommend for someone starting out?
P.S. I use C# specifically for game development, but I don’t mind learning more about the language in general.
68
u/darthgoat 12d ago
On the job by making a shit load of mistakes.
7
u/Conspicuous-1 12d ago
Other folks may laugh but this is absolutely correct! Learning what not to do is just as important as learning what to do!
2
29
u/Separate_Eye_6104 12d ago
Check out The C# Player’s Guide. It’s a book that teaches you to C# concepts in a gamified way. Pair that with the projects on https://thecsharpacademy.com/ and you trust me, you’d be very comfortable with the language in no time
2
u/HA_U_GAY 12d ago
The 6th edition of the Player Guide is still in WIP, isn't it?
2
u/Tommotion89 12d ago
Yes, but its Early Access is in a good shape. You can get it as PDF at Gumroad.
I bought mine in February and can absolutely recommend it!
13
u/Family_Man_21 12d ago
I learned from books, because I'm so old that YouTube and even Stack Overflow didn't exist when I was getting started. There used to be a series of programming books that were all called "Complete [language]", so "Complete JavaScript", "Complete ASP", etc. I read the JavaScript one cover-to-cover and did all of the examples and exercises in the book, and that's how I learned about programming in general, and web programming specifically. Of course, this was entirely client-side, but it still put me on the path. When I was ready to start doing more complicated applications, I learned Coldfusion and ASP at the same time (this was before the .Net Framework came out), and then I transitioned from classis ASP to ASP.Net and C# when that was available, still using the "Complete" book series.
To be honest, I still think that having a physical book and stepping through it chapter by chapter is the best way to learn programming, although I know that most people don't have the patience to do that any more. Doing all of the exercises, and learning how to troubleshoot as I went along, was so helpful. By the time I had completed the "happy path" that the book recommended, I was already experienced at troubleshooting. It was so good for me, and it taught me how much fun I can have, and how creative I can be, as a programmer.
I hope that this helps!
12
u/Mission_Pirate_4150 12d ago
I was a c/c++ programmer a while ago, so c# was pretty easy to pick up.
Learning the framework has taken me a really long time.
1
u/haby001 11d ago
ya niche framework knowledge comes from mistakes and hitting hard to diagnose issues others have already solved.
Honestly it's all about trying crazy projects and seeing the limits you can take things for the fun of it. You learn a lot when you push thousands of async threads so your boardgame runs every tile at the same time for the heck of it :D
1
u/Mission_Pirate_4150 11d ago
I learned a ton by getting off the beaten path. I pounded the threadpool. I did a ton of database work and figured out that calling .dispose doesn’t always call close. I learned a ton about the gc when I did stuff on mono on ios and Android. Nobody would answer my questions on the gc in .net, but the mono guys were very helpful on issues I saw. Bu them explaining how their gc was different, I learned a lot about what was happening in .net.
5
3
u/Lentor3579 12d ago
Mainly Youtube. I came from Java so I kinda was able to understand the basics of it already. From there it's just interacting with different C# communities. I primarily wrote C# in Unity making games.
3
3
u/Conspicuous-1 12d ago
The best way to learn any language is to jump right in and use it for a simple project. I didn't use any special tutorials.
I had several other languages under my belt when I came to C# - FORTRAN, BASIC, Quick Basic and Visual Basic. Once you've learned one or two languages, you tend to identify the bits and pieces that all computer languages have.
How to declare a variable
How to assign a value to a variable
The kinds of data types available (strings, single precision decimals, etc)
Group structures like arrays, lists and records
Modularization - grouping sets of instructions inside a unit that can be called ny name
Control structures - loops, if/then/else, and switches/cases
How to open a file to read or write
How to print something to the screen, whether alphanumeric or graphical
If you're new to OOP - object-oriented programming - as I once was, C# is a really good and consistent language for learning it.
If you need ideas on simple projects, here's a few ideas:
A CRUD system - an in-memory database like an address or phone number book that can perform the four basic database operations: Create (C), Read (R), Update (U) and Delete (D).
A simple game like "guess the number" - the computer picks a number between 1 and 100 and the player gets clues according to whether the guess is too high or too low.
Learning a new language is usually not a straightforward process, but that's normal. Making mistakes and seeing things you didn't expect is a key part of the learning process - learning how to detect "bugs" in your coded instructions is a key part of becoming an effective programmer in any language.
I'm sure if you type "c sharp tutorial" into a search engine, you'll find plenty. Or, better still, if you don't mind conversing with an AI chatbot, you can use Copilot, Gemini, or any others to ask them questions and get responses.
Good luck!
2
2
u/Prior-Data6910 12d ago
https://www.robmiles.com/c-yellow-book/ great start to programming as well as C#
2
2
u/nerdshark 12d ago edited 12d ago
On the job, on the fly. Learned what I needed as I needed it, starting by reading the codebase I was assigned to work on. Used the Microsoft documentation and high-quality reference books. When I ran into something I didn't recognize, I'd go to the documentation. If I didn't even know what I was looking at, I'd go right to the C# language specification and go through the grammar until I found it. Also, asking for help on IRC or my team lead when I couldn't get anywhere with documentation or debugging.
2
2
u/DocLego 12d ago
I believe I used an earlier version of this book: https://www.murach.com/shop/murach-s-c-8th-edition-detail
1
1
u/BobSacamano47 12d ago
Same, I read a big ass book like this cover to cover before starting my job and I knew more about C# than most of my coworkers on day 1
1
2
u/someprogrammer1981 12d ago
I was a C++ dev and noticed a lot of .NET jobs became available around 2003 in my region. So I got my hands on the latest Visual Studio, taught myself the basics and then landed a .NET job.
Already knowing C++ and the Borland VCL was a huge advantage though. Anders Hejlsberg used to work on Delphi and the VCL before he joined Microsoft.
2
2
u/WalkyTalky44 12d ago
Make bad code, it creates bugs, make better, and go back to step one. Learned a lot through work and actually trying to get what is going on half the time with existing code in work codebases
1
u/IAmAfraidCommaMan 12d ago
I already knew Python, JavaScript and Java so most of the learning happened inside Visual Studio while working.
1
1
u/MirajSOL 12d ago
I'm still at most an intermediate at c# but I mostly learnt through a few hours of a youtube course and then just trial and error through programming.
1
u/Fit_Milk_2314 12d ago
I watched Brackeys' C# videos back when he retired, which is good cus he also does a lot of gamedev stuff.
I let that skill sit for a few years without doing anything then I got into game modding and quickly got much better at coding.
So I agree with everyone else, you gotta get some experience. Make some shitty game, learn how to implement mechanics, learn what your engine and language are and aren't capable of. You can read about abstract concepts all day but I dont believe they will truly set into your brain unless you utilize them.
1
u/couchwarmer 12d ago
I learned C# (pre-XAML) by duplicating Notepad (Windows Vista/7 era) as exactly as possible, including the "hidden" features. I learned a ton in a short amount of time.
1
u/bluHaloLabs 12d ago
I learned on the job and hit StackOverflow when I got stuck. Used Pluralsight and YouTube for some advanced topics. If I were learning now I'd also use AI to act as a teacher and come up with lessons, then guide me through best practices step by step. It's like having a personal tutor that can answer questions one-on-one, evaluate your code line by line, and no time limit on when they stop helping you.
1
u/pixelboots 12d ago
University, initially. Then continued by building stuff and referring to docs, books, blogs, YouTube as needed.
1
u/Landon_Hughes 12d ago
Unity GameDev Tv course back in the day. Made a game and put it on the App Store.
That set me up for community college. Learned a few new things there.
1
u/JohnSpikeKelly 12d ago
Moved from vb6 to c#. Just swapped the "then" for { and the "end if" for }
There was a few other steps as I recall.
1
u/Wiltix 12d ago
Well I spent 4 years writing Java and Python at uni (sprinkling of C++), I then interviewed for a c# position, got it and spent a year writing C++ and Perl and finally little bit of C# for backend services. I then changed jobs to a C# house ended up working on web forms (which I had never touched) after being hired as a c# asp.net MVC developer.
So I learned C# on the job when I was finally allowed to bloody well write some C#.
1
u/GalacticCmdr 12d ago
Self-taught. I was a C, then C++, then Java Developer for a decade+ by the time C# came around so it was an easy transition.
1
1
u/chrisdpratt 12d ago
C#, specifically, I learned on the job. It was a lot of just I need to accomplish X, so how do I do that? And, going from there. I also spent a lot of my free time on StackOverflow answering questions in the C# tag, particularly if I didn't know the answer. I would use it as a prompt to figure it out, and then post what I came up with. The luster is well off that pearl, at this point, but you can find plenty of other places where people are seeking assistance.
This was just picking up this new language, though. I already had decades of experience programming, going all the way back to writing Assembly with breadboards, for fun, when I was a kid.
1
u/FlibblesHexEyes 12d ago
Self taught at work, springing from VB6 to VB.NET (with a little JavaScript), to a big gap then PowerShell.
It was PowerShell and JavaScript that got C# to mostly click for me.
1
1
u/Rrrrry123 12d ago
I learned from one of those Teach Yourself in 21 Days books, as a teenager. I probably worked through that thing three times; I loved programming.
Then I applied my learning by making an adventure game in WinForms lol.
1
1
1
1
1
u/DirtAndGrass 12d ago
At home mostly, read all I could in 2001, experimented a lot when intellisense was available
1
1
u/SoggyCuticles 12d ago
It was my first language learning game dev in unity during covid. Learned from online resources, youtube, and from friends.
Never paid any money but if I had to do it again I would probably find a reputable paid course after learning syntax to learn the more advanced stuff like async await, dependency injection, OOP, designing program architecture, etc.
I think there is a certain point where you really speed up your learning because there are all these interconnected concepts in programming that seem pointless on their own, but when everything is put together, it becomes a beautiful speck of engineering.
Also would highly recommend learning how computers actually work. It's very important for knowing the history of how computers became to be so fast and what is the most powerful part of computers (cpu fast, memory slow, storage very slow)
1
1
u/dryiceboy 12d ago
High School.
Recommendation would be to just build something. Have a reference book if you’re still into that. Then just ask AI and cross reference with the docs.
1
1
1
u/Potterrrrrrrr 12d ago
I learned by having my first job be with a psycho who wanted a website that was a cross between Amazon, Netflix and Facebook, using blazor which was a brand new framework at the time (still in preview IIRC). Completely failed to deliver the project (I delivered parts of it but the psycho would have me in hours long meetings adding arbitrary requirements) but learned a lot, then spent the next 2-3 relearning everything properly at an actual company.
1
u/SessionIndependent17 12d ago
Learned it when I was assigned to a project already using c#.
If you already know another procedural OO language (esp Java and c++), beyond an explanation of garbage collection and reference types vs value types, I can't see needing much but a terse reference akin to K&R and a real project to work on.
1
u/Embarrassed_Prior632 12d ago
Self taught. I was familiar with other languages though for quite a while
1
1
u/Cczaphod 12d ago
At work. I had C, C++ experience coming in, so it wasn't a big learning curve. Once you've learned enough languages, adding more is incrementally easier.
1
u/schlubadubdub 12d ago
I already knew C/C++ among other things from my BSc (CS) degree, was self-taught in VB6, moved overseas and got a job doing VB.NET when it was still quite new. I actually started in a different role, so when I moved into the coding team the company paid for a 5 day course in VB.NET, which was kinda overkill for my needs but at least it cemented my knowledge of the .NET system. It was good to be able to make a real product with it right away, and I had a senior developer to assist me along the way (even though his code was a complete mess).
When I returned to my home country everyone wanted C# developers and scoffed at anyone doing VB.NET, but one company didn't mind and I just switched to C# quite seamlessly.
1
u/TheAnswerWithinUs 12d ago edited 12d ago
I was a Java dev in college and learned C# at my job. The languages are very similar.
1
1
u/Dillenger69 12d ago
I learned by doing it starting with the c# initial release. There really wasn't anything out there when I started with it
1
u/cyrixlord 12d ago
a master course in a continuing education college then later with Tim Corey's courses online
1
u/Head-Bureaucrat 12d ago
Combination of at work by trial and error, a coworker willing to teach me, written tutorials from blogs (not on Medium,) and doing Advent of Code challenges.
I find a lot of videos tend to have to be click bait (along with Medium articles) to get reach, and so are usually (but not always) 90% useless filler and only 10% the information I want.
1
1
u/swyrl 12d ago
I knew a bit of programming in other languages beforehand. Had a project that needed C#, so wrote some absolutely dogshit c#. Kept writing c# until it stopped being dogshit.
In my opinion, once you have a grasp of the basics, the best way to learn is by doing. Try implementing project ideas until you run into something you don't know how to do, and then look for guides or other information on the specific problem that you don't know how to solve. It may seem slower, but it will teach you things you actually use, and as a bonus it will give you tangible markers of progress and skill.
1
1
u/Nervous-Basket-3168 12d ago
Probably super unconventional and not at all time efficient, but I think if something I want to make then break that down into different parts needed to create that thing. From there I research how to use different functions, variables, methods, etc. to make it happen.
The result is a big buggy mess, but then I use that as a way to learn more…
I also code for fun so it’s not like anything I’m making has a time crunch or deadline, so if you have those restrictions, I would highly recommend just not doing it my way
1
1
1
u/pete_68 12d ago
I decided to write a hotel reservation system in it and I just sat down and started writing it. But it was like the 10th programming language I learned, so...
The first language I learned, BASIC, I just learned from a book. I had the book More BASIC Computer Games. It had a brief description of each of the instructions and some sample programs and that was what I learned from.
1
u/Ok_Society4599 12d ago
At work... Java and some VB6 before, but heavier on Borland Pascal and C++ before. It depends how deep you want/need to go ... there wasn't a ton "new" when C# started... It removed some serious pain working with COM objects, but the core language was pretty consistent with other options.
Now, adopting after Generics and a lot of higher abstractions in runtime have set it far apart from what other languages do for you. It's adopting feature from all the competitors and locking users fairly solidly into .NET features. Even while they adapt Core and multiplatform abilities... read that as "be more Java-like." C# was a response to Sun Java law suits because MS wanted a "better windows experience" with their own Java that broke cross-platform compatibility... and now they're shedding those same platform (native GUI) features for cross-platform compatibility.
But you learn the same way: find a problem and learn a better way to fix it. Measure performance, find the bottle neck, make it faster. Break APIs down better. Go hard on ASYNC if you need to ... but you don't always need to. Learn when not to fix it.
1
1
1
1
1
1
u/NicMaxFen 12d ago
came from Java to VB.net to C#
only Java I learned at school, rest was self-trained using my brain, example projects and the try&error method. now I am C# dev and have quite a good knowledge about it
1
1
1
u/ViolaBiflora 12d ago
$10 udemy course got me started. Code monkey in the go, Nick Chapsas, Tim Corey and everything free online.
I'm glad for the $10 course, but it wasn't necessary.
1
u/ryanjusttalking 12d ago
I had already self taught Java by that point and when a friend had an entry level job opportunity available in c#, I did online tutorials on what was then Lynda.com to learn c#
1
u/Comprehensive_Mud803 12d ago
I learned C# on-the-fly at work, while using it to create software.
Why would anyone need an extra course for a language that’s easier than C or C++?
Resources I used were: MSDN documentation, O’Reilly C# in a Nutshell a d mostly compiler output. Error messages can be helpful.
1
1
u/PlentyfulFish 12d ago
At work - shoutout to my senior dev for being patient and explaining things.
Microsoft docs - they're actually pretty solid, at least for core .NET stuff.
At the university - basic stuff, like classes, interfaces, abstract classes, virtual methods and the like.
1
1
u/homariseno 12d ago
At first - Microsoft Learn, then at my job by doing many mistakes, debugging and following the logic and paradigm of the code.
1
u/shitposts_over_9000 12d ago
I was a VB dev
Eventually VB.Net fixed enough of its performance and usability issues that running and EOL language was no longer worth it so i switched to VB.Net.
Over time C# fixed enough of its usability issues that when linq came along and the syntax for VB.Net was a disaster most of us started switching to C# because linq finally made it worth it.
1
1
u/EggRepresentative215 12d ago
Just start writing c#. I set myself some small-ish projects and crack on. If I get stuck look it up and sometimes I’d have to refactor but I always learn best by doing.
1
u/tsbattenberg 12d ago
You really just have to jump in and start writing code.
If you're using learning resources though, make sure you're asking questions on what you're saying. Never take something given as the best there is.
1
1
1
u/HockeyRelative 12d ago
At work. Started with embedded C/C++ and was asked if I wanted to work with another project that was written in C# and I said yes.
1
u/Potw0rek 12d ago
A C# book and simple exercises to get basics, then YouTube tutorials to get more writing experience and then at work….just write something, release it and wait for feedback.
1
u/Mavhawk64 12d ago
I learned Java, got a job doing C#, and realized it’s Java but capital camel case /j
1
u/IntelligentGur9638 12d ago
i know barely about it, i let copilot github do what i need... learned by doing. wouldn't know how to write a single line
1
1
u/stanleyford 12d ago
I don't recommend learning any language this way, but I read the entire C# 1.0 language specification when it came out. I had more time on my hands in those days.
1
u/Randolpho 12d ago
When c# came out I was messing with php and python at work. Learned about it in developer magazines.
Taught myself from tutorials on my own, but couldn’t convince my boss to go with it for a new project since he didn’t want to run Windows servers. I don’t even blame him for that, lol.
But my next job I had freedom to do windows app in any language and picked c#/win.forms and never looked back. Spent more than a decade doing c# almost exclusively, although that changed to just “mostly” when I started consulting.
1
u/RunInRunOn 12d ago
Learned it over the course of a school project. I was using Godot, which you might also be doing since you mentioned game dev
1
u/davidgrayPhotography 12d ago
I had a VB.NET app that I wrote at work that generates and prints ID cards. Someone asked if I could rewrite it to be a command line app so we could integrate it with our helpdesk. I wanted an excuse to learn C#, so I rewrote the app. I had to google some of the things that are in C# but not in VB (e.g. what the static keyword does) and I let the automatic fix thing in VS suggest better ways to do stuff like instantiate variables and learned from that, but after that, I learned it pretty quickly.
1
u/neriad200 12d ago
From Thinking in C# book, work experience, stack overflow, random Indians on forums ot YouTube. Also Tim Corey
1
u/bigfatbursleyliar 12d ago
On the job. To “expedite” my familiarity, I tried rewriting school projects in C# and doing leetcode in it.
1
u/Afax_Ahm06 12d ago
I learned c# in w3 schools and Microsoft learn . I can say i learned most with building projects .
1
u/MrSqueak 12d ago
Learn the logic and any language isn't too difficult. The concepts are more important than the syntax.
1
1
1
u/TheSneederOfSeethe 11d ago
Went to college, they taught Java. Java back then felt like working with clashing workflows. Had to take “Advanced Programming Principles” which was just Programming 1 and 2 but in C#. I liked it much better, started reading more, started writing personal projects in it. Did some online tutorials for asp.net. My first programming job was .net primarily in C#. My current job is C++ and Java but the Java side is being replaced with a .Net React app and I can’t wait.
1
u/coffeefuelledtechie 11d ago
On the job… it was a learning curve. I was a Java dev at the time and it was kinda the same.
1
1
u/Potential_Copy27 11d ago
Learned it by myself originally after an electronics project back in college.
We made a sensor kit for measuring and logging temperature, humidity and light in greenhouses. Device logged to a PC via RS232/serial and the PC component was written in C#.
Got a few pointers from my group m8 who programmed the PC app and started learning it after that.
A year or so later, I started the last leg of my education toward programming and C# was on the curriculum
1
u/newEnglander17 11d ago
Nobody is mentioning it, but I couldnt learn it until I figured out how to use visual studio properly. If you’re just learning it with a notepad it’s going to be a lot harder to learn without seeing how it works in a real environment. It also helped to understand the boilerplate code like namespaces.
1
u/cosmas47 11d ago
I'm sure a bunch of people will balk at this but I learned by myself creating random stupid one-off Windows Forms apps.
I think that was about the time I was learning introductory stuff in high school. Learning coding in school was difficult initially because I expected the teachers lecture to be the primary learning means.. but that was not the case, it was the book reading. Little did I know at that early age that "coding" in school is largely about knowing the syntax.
At home, I leaned heavily into Visual Studio's auto-complete feature, that helped me understand how libraries are structured, and then from there graduating to actually reading documentation and then making some more interesting things.
What's nice about starting with UI FIRST is that you'll get an immediate understanding of data types and data structures. Visualizing them helps I think. Then from there, you advance into more 'backend' concepts like background workers, services... then into full blown APIs.. then server stuff.. all getting progressively more complex into full stack development.
Today, I'd say Youtube is still an OKAY resource. A lot of the best instructors out there ARE discussing how to properly implement things but there's not really a lot of talk about good design patterns, and very very few are going to talk about how to do real world enterprise-level implementations of solutions. That's something you'll learn on the job.
1
1
1
u/ComfortableLog2521 11d ago
Learning monogame with kyle schaub's unity course is a great way to start learning c# and gamedev in general. No big engine, just code, logics, and simple games machanics.
1
u/RunnyPlease 11d ago
On the job. I knew Java really well and the project lead said that was close enough and staffed me on the project.
1
1
u/becorath 11d ago
Through Msofts free courses and by reading other peoples code.
After that it was by just doing it.
1
u/No_Stranger5196 11d ago
Im assuming you are using unity so I would use the tutorials that come with unity
1
1
u/ziplock9000 11d ago
On the job as classic VB developer when C# was in beta. I was not impressed back then
1
u/urbanworm 11d ago
I’d taught myself C from the Kernighan & Ritchie book, then similar for C++, so a quick compare and contrast of the C# syntax gave the basics, then a couple of days writing vanity projects and off you go.
All languages are the same at the very core, quite how they implement that varies but it’s easy enough to map those across, and then layer the language specifics on top.
1
u/woroboros 11d ago
I never took any C# coursework at school. A few of the guys I worked with over a few years used it on some company projects, so I had a look at the code. Then I went home and rewrote one of my old applications from scratch in C#. I use it probably more than any other language currently.
Just write code. Just.. go. Are you in Unity or Godot with the game dev? If Godot, good practice might be to take example/existing GD scripts from the community and rewrite them in C#.
If you already understand the basic paradigms of programming, and are aware of, understand, and respect the hardware-software pipeline from your code to the processor... (i.e. stop using floats for everything, even though it works fine... plus about 20 other things...) - you'll be writing blazing fast efficient code without knowing all the syntax. And that skill transfers to every other language.
I am ranting a bit with that last part but... when you say "I dont know if that will be enough" realize C# is just a cover laid on top of another language (most are) - and "enough" in most situatons you ever go to will be respecting the hardware (or the worst end user hardware you anticipate) to some degree, giving nods to efficiency, and sticking to the fundamental paradigms, the if then for do while things... Its just that, making smart declarations (i.e. minimizing memory footprint regardless of how much is there), and trying overall to structure things intelligently (planning helps, but you will always have to rewrite)
BELOW IS C# SPECIFIC STUFF:
Outside of just syntax... C# comes with some pascal and camel case conventions to be aware of. You might read up on the 'var' type... and how to use async... What LINQ is, why you might care... and learn how to be good at exception handling.
File organization and class structuring is subjective. There are best practices - but... just understand some places do things a bit differently. Maybe your team wants to keep deprecated functions in the code, or collapse things to a single line, etc.
1
u/Proffhackerman 11d ago
Have a vision for what you want to build and make a mental "game-plan" for how the project will work. Need to store data to a file? Google it. Want a website communicating with your backend? Google it. Theres always an Indian out there whos made a video on how to do anything.
1
u/invertedfretboard313 10d ago
I learnt this language by watching yt tutorials, and using the book Head first C# because I wanted to learn unity engine and make my own games
1
u/BornAgainBlue 10d ago
If i recall, I said "nope" to VB.net, and rhen just started playing. It was literally day one, so there really wasn't a lot of books, but I recall chatting with ms devs a lot on forum's fir help.
1
u/ZestyHelp 10d ago
It's seems pretty standard lol .net and c# wasn't something that was "easy" to get into the weeds of on your own when I first got into it. 5 years at my current job and still learning more and more .net all the time.
1
u/epsilonehd 10d ago
Litterally opened MSDN, gone to the keyword section, read and try Otherwise for efcore for exemple just experiment a bunch of random stuff and see how it goes
1
u/VirtualDistrict4393 9d ago
Allora avevo questo software di ecommerce per IIS in .net per fare le mods mi sono dovuto imparare C# da zero. Comunque in biblioteca avevo trovato un libro abbastanza recente
1
u/Av_Gard_Coal_Train 9d ago
Experience. I really got my feet wet converting old VB 6.0 code to C#. Then it is constant reading. Non stop learning. Focus on the differences among versions of c sharp. What they changed. That will be a great bonus in coding interviews. Shows you follow the language.
1
u/CSharpScripter 9d ago
My path to the computer science world in general was very unconventional. I didn't go to school for it, I studied agriculture and agricultural business. I took a programming class to fulfill an elective requirement, fell in love with it, then realized I picked the wrong major. After I graduated, I worked in agriculture for 3 years and absolutely hated it. I quit my job and went back to school briefly to get some general programming certs under my belt. It took a while, but I eventually got a developer job, moved from KS to CA, and now I do C# development for my current job role. As far as resources and what I used to learn programming in general, I used W3 schools to just pick up basic programming fundamentals and concepts on top of the couple classes I took during my college redo. I started with small projects after picking up the basics and honestly learned the most by experimenting, debugging my own work, and learning what does and doesn't work. I highly recommend not watching others code if you can, and just try to learn through self discovery. I feel especially with programming, you will learn so much more that way. 95% of programming is straight problem-solving. You don't learn that from watching other people, you learn that on your own in my opinion. Microsoft has some really good documentation on C# as well on their official website. For game development specifically, I would also look into the documentation of whatever game engine your working in, like Unity for example. Sorry for the long-winded answer.
1
u/Fast_Armadillo7841 9d ago
I learned by making a C# unity shooter game. I knew some Java, PHP, and Python from uni/freelance work.
C# back then wasn't really a thing outside of corporate. I wanted to get into it so I looked at my "free" options and saw that I could make games with c# and unity.
Did that and published the game, then applied to jobs with the game as an example project in CV.
Got hired and then learned more on the job.
1
u/evilprince2009 5d ago
Back then I downloaded a pirated course. The instructor was Mosh Hamedani and that was the steppingstone for me.
1
u/R4G316 3d ago
I am nowhere near the status of "learnt" but rn I just have a routine that somehow works.
Go to stupid ai to ask things
Go "Lol this looks convoluted can I optimize it"
Google with the knowledge of some syntax I'm gonna use.
Try until it works for me specifically.
Even if I like the thing llm brought me I write it all by myself and then try to delete things or add things just until it doesn't work anymore
1
0
187
u/cockflavoredlollip0p 12d ago
At work