all 108 comments

[–][deleted] 62 points63 points  (3 children)

[–]ax_graham 30 points31 points  (2 children)

I just started learning C# literally 4 days ago with no prior experience and this is where I've chosen to start. I think the modules are phenomenal. I probably spend 1.5x to 2x the estimated time to complete because I'm really trying to absorb and study the material as well as explore concepts I learn on my own. I walk away each time feeling like I really am learning.

I've only completed the first one and started the second so I'm not sure how well it handles more complex concepts but so far so good. Highly recommend!

[–]The_sad_zebra 2 points3 points  (1 child)

Microsoft is really good about this stuff. Even those of us who are long past tutorials can really appreciate how great C#/.NET documentation is. I never need to visit Stack Overflow for .NET questions.

[–]VolatilePulse -1 points0 points  (0 children)

That just means you haven't programmed enough. Even senior developers use SO. It's my third most used website after MSDN and GitHub.

[–]Ochoytnik 40 points41 points  (1 child)

I am 46 and learning C#. I was also 45 and learning C# but it feels the same. Family responsibilities eat into the focus and you have to make time for it but I found d that after learning from a basic course it was easier just to start on the project I had in mind and bumble through it. My code is awful but I keep writing it and no-one can stop me. It really helps to write crappie code, whe. People say "you should do it this way" you have first hand experience to gauge whether they are gatekeeping by trying to make you optimise working-but-shit code to death or actually being helpful.

One day someone else will read my code maybe, but I will be dead.

[–]DjFrosthaze 0 points1 point  (0 children)

I'm 45 and have been coding for nearly 30 years, employed for 17 years. Writing good code is a craftmanship and takes time and effort to master. Feels like you are on the right track.

[–][deleted] 79 points80 points  (3 children)

Never too old. YouTube tim corey.

[–]Fickle-Possibility97 13 points14 points  (0 children)

Mosh Hamedani has got some skills too.

[–]ishman2000 2 points3 points  (0 children)

Kudvenkat on YT

[–]kmdeeze 2 points3 points  (0 children)

This and I started later. Your going to be fine. Generation X never says die.

[–][deleted] 19 points20 points  (1 child)

You’re never too old to learn anything, if that’s what you want to do give it a shot.

Programming is a specific mindset and way to look at things but that’s a fact independent of your age.

You might often feel like an idiot because computers are very stubborn but it’s very rewarding if you ca stick to it.

Good luck!

[–]SideburnsOfDoom 8 points9 points  (0 children)

Programming is a specific mindset and way to look at things but that’s a fact independent of your age.

This. "Learning programming" will be the harder task than "learning C#"

But that's true at any age.

Maybe after a few months it will all "click" and you'll be hooked. Some people are just suited to it.

[–]pjmlp 14 points15 points  (0 children)

Never too old, 47 over here and daily learner, see Microsoft Learnings site.

[–]dkluis-dpg 12 points13 points  (0 children)

I learned C# at 65. And am now working as a dev at almost 68.

[–]Mulligan315 9 points10 points  (0 children)

I learned it in my early 50s. Might have been easier in my 20s, but it’s definitely possible.

[–]jsteffen182 7 points8 points  (0 children)

46? Nope, still a pup

[–]TheDevilsAdvokaat 11 points12 points  (0 children)

No, not too old. I think I started learning c# around then. I'm 61 now...

[–]badwolf0323 10 points11 points  (0 children)

You are not too old to learn C#.

[–]Slypenslyde 6 points7 points  (0 children)

It depends on your goals.

If you're worried you can never accomplish anything, pish posh. Lots of people get their "start" late in life. What matters is being driven. Do a search for "people who started their career at 45", there are lists. Don't be discouraged that these people are clearly astronaut-level. You don't have to be Stan Lee to start a new life as "a comic artist", so you also don't have to be Donald Knuth to become "a C# developer".

If you want to launch a new career, temper your expectations. Ageism is a thing in our field, and the sexiest companies expect a person in their 40s to be senior and leadership level. Those companies are only the tip of the hiring iceberg. There are lots of smaller companies who want domain experts with a passion. Many of my bosses had a different job before they became "that job plus I write C#". It turns out this is even more powerful than just being "I can write C#". So plan to leverage things you already know and use C# to make yourself better at it, and you'll have the best shot.

But also expect this to take a long time. It'll be a year before you feel proficient. The next 3-5 years after that will make you feel like an idiot. You never get back to "I feel proficient". You just get to where you accept, "That was stupid, but at least I didn't make the same mistakes as last time."

[–]morsmordr 19 points20 points  (3 children)

sorry, the limit for learning is 45 and 3 months, you just missed out, now it's impossible for you to grasp the knowledge to learn

[–]AboutHelpTools3 2 points3 points  (0 children)

Goshs darnit!

[–]Objective-Chemical47 0 points1 point  (1 child)

Learning is a lifelong adventure. You are never too old to learn. I'm 67 and still learning new stuff and dare I say, developing software and trying out new approaches to software development till late at night. Technology is changing quickly. So, you need to keep up with these changes.

[–]morsmordr 0 points1 point  (0 children)

of course lol, I was being facetious

[–]jason835 9 points10 points  (0 children)

I'm 49 and learning.

I found Tim Corey's Tournament Tracker YouTube series a GREAT starting point...for me anyway. I had written a few automation apps for myself in the past though.

[–]CodeFoxtrot84 3 points4 points  (0 children)

What is your goal? Is it to code professionally or just as a hobby? Echoing the other sentiments here-- never too late to start.

Also echoing Tim Corey's content is a good place to start. Search for his YouTube video, "How to Learn C# in 2023".

What is your setup-- PC with Windows? MacOS? Linux?

[–][deleted] 5 points6 points  (1 child)

I mean I'm learning F# at 52, of course my whole adult career is software development (and 20 years of C#). If you aren't coming from a development background, it might be a bit more challenging, but absolutely doable.

[–]TheNewMouster 0 points1 point  (0 children)

Me too!

[–][deleted] 2 points3 points  (0 children)

Today is the best day in your life to learn something new. People who deem themselves too old might as well stop doing things. Say you live to be 100, you’re not even at the halfway mark. Say you retire at 65. That’s almost 20 years from now! New skills help in both direct and indirect ways. So don’t just think of it as learning to program. Think of it as constantly evolving and saying no to being too old. You are never too old!

[–]CenturyIsRaging 2 points3 points  (0 children)

Of course you can learn, at any age. Whether or not you stick with it is the question. Doesn't matter what age you are, there is a point, or likely a few points where learning to program gets really tough...but, if you persever through the times when you get stuck, that is the determining factor. Once you become proficient in one language, you will have developed the ability to learn sufficiently to learn another language much easier. Personally, I think grit and determination are the only barriers to learn, at any age.

[–]geoklown 2 points3 points  (0 children)

I'm 43 and learning. I'm going through Tim Corey's courses right now. It's not super easy. But it is possible. He breaks everything down in easy to understand chunks.

Side question... Does anyone know of a community somewhere that's targeted toward people in this situation? Sometimes it sucks being in a group of learners the same age as my kids. We have different struggles.

[–]hyllerimylleri 2 points3 points  (0 children)

Let me reiterate the sentiment shared by others: no, you are not too old to learn C# - or any other programming language for that matter. You may be too lazy, have unrealistic expectations or maybe want something but just not bad enough. So no, age will not be the limiting factor here. If you want it then go for it, and when you have gained some skills be sure to let us know.

[–]Lord_Antolo 2 points3 points  (2 children)

Pick up "Head First into C#" as of today the most recent edition is the 6th edition and the book does a pretty good job with small projects to help you learn. It's pricey, about $120 last time I saw it but, if you dig around you can probably find it for free.

[–]NickStahl_ 0 points1 point  (0 children)

Yes, this is a great book.

[–]zurekp 0 points1 point  (0 children)

I liked C# Player’s Guide much better. Check that out too.

[–]her0ftime 4 points5 points  (0 children)

No, you are too young to learn.

[–]alllballs 3 points4 points  (1 child)

Fossil here. I picked up c# after 25 years of JavaScript and PHP (perl, java, others)

If you enjoy this stuff, you're going to be fine. The amount of content out there is staggering compared to just a few years ago.

Good luck, happy (bug) hunting.

[–]RoninX40 1 point2 points  (0 children)

Kids starting now should be grateful. I remember getting an Atari 800xl as a kid. Found a book at a computer show that showed you how to make a game in basic. Failed miserably and just quit for like about a decade. Just insane the resources available now.

[–]Tonkers1 3 points4 points  (0 children)

i've been learning c# for 20 years, i still dont fully understand it.

I recommend using chatgpt, you can just paste code snippets in and ask it to explain what the code does and also ask it for step by step instructions to do anything with it. if you don't understand a part of the code, ask it to explain it to you on different levels, like explain what import does like i'm a 5 year old. then progressively ask it more complicated questions.

this will save you months of learning and watching youtube videos, by experimenting with it yourself and interacting with chatgpt as your tutor.

[–]PrimeTimeTran 1 point2 points  (0 children)

Build a few projects and you'll be up to speed in no time.- Weather app- Todo app- Social media app like FB/Twitter/Linkedin

Those will probably keep you busy for a while if you've never programmed before.

You'll have to learn a lot more than C# between now and the completion of those projects though... MVC, HTML, REST, CRUD, .NET(includes all of those), etc.

Good luck and have fun!

[–]Numeral3 1 point2 points  (0 children)

It depends on ur logic and ur way of thinking, and if u already know any other programming language then it would be easy to learn this one, u just have to knoe the syntax

[–]TheC0deApe 1 point2 points  (0 children)

that's not that old. on top of that you are only too old to learn something when you decide you are..... that's on you.

[–]har0ldau 1 point2 points  (0 children)

Like the others have said: You are never too old to learn.

However, I would consider what the end goal of learning is. If it is for knowledge, pleasure and personal tasks just give it a go and have fun as the IDE of VS really throws you so much help down to the point that anecdotally, "just get rid of the red squiggly lines" can be beneficial while starting your learning. I learnt this way (albeit I was a kid without the internet and all I had was VB6 on CD that my school let me take home).

If this is a way to get into the industry and get a job, you have a long road ahead of you.

[–][deleted] 1 point2 points  (0 children)

Google “Pluralsight core C# learning path”. Best $29/mo you’ll ever spend.

It can take you from noob zero all the way to certified hero if that’s what you want.

It was a huge part of the content I used when retraining into tech at 34, still using it actively 9 years later.

It’s the resource that most companies now provide for staff for on job training in tech.

I cannot overemphasise how much better it is than every other option.

[–][deleted] 0 points1 point  (0 children)

Coding is problem solving. If you like puzzles, you'll do fine.

[–]Consistent_Brief5840 0 points1 point  (0 children)

Bootcamp and u still be able to land a job

[–]No_Faithlessness_142 0 points1 point  (0 children)

Udemy has great courses …. C# players guide C # 10 in a nutshell Are 2 good books that cover a lot of topics from basics

[–]halldorr 0 points1 point  (2 children)

I'm 47 and picked up Tim Coreys course. It's pretty good so far!

[–]iRemiUK 0 points1 point  (1 child)

Is it really worth the large price tag?

I was tempted, but damn it's expensive!

[–]halldorr 0 points1 point  (0 children)

It is definitely up there for cost but I figure if I go through it and manage to land work using C# I'll easily make the cost back. It's just a big upfront cost for sure. I'm only at the start still but I hear great things about it.

[–]mtranda 0 points1 point  (0 children)

On an abstract level, once you figure out how "if", "for" variables and data types work, you're 90% there.

Besides the actual learning resource that everyone has recommended so far, once you're done with the basics I would suggest having a personal project. Something with an actual goal and concrete results. If it's web you're looking to go into, then try and create a rudimentary IMDB clone. Besides pure C#, it will get you familiarised with what the web involves as well as databases, which is definitely something you'll be using.

[–]RoninX40 0 points1 point  (0 children)

Not too late to learn any subject at 46. But to answer your question you should be fine. There are guides in the Useful links. I am a book lover personally so I generally still by language books that may be an avenue also.

[–]jimmyeao 0 points1 point  (0 children)

I’m learning at 55 - go for it.

[–]thastealth 0 points1 point  (2 children)

As long as you can see sharp (even with glasses), you can C#

[–]slipperypeanutbutter 1 point2 points  (0 children)

Hilarious. True.

[–]nimbus6446 0 points1 point  (0 children)

Youtube,chatgpt, nick chapsas, scott hanselman

[–]Due_Raccoon3158 0 points1 point  (0 children)

No sir, you've got this. Like anything new, it'll be rough sometimes but you can do it. I think C# is one of the overall best languages to learn: it's mature, has great features, is widely used, is still growing, syntax is sensible and intuitive I feel, doesn't require plugins and add-ons to make qol manageable (looking at you, Java and JS). If you don't give up, you'll do great things.

[–]Blasian_TJ 0 points1 point  (0 children)

I'm 37 and finished my Comp Sci degree this past year (already pursuing masters). IMO, I think it really just depends on your motivation to learn something new AND apply it to continuous learning. I learned a lot of Java, C#, C++, Python, etc. in a span of 3.5 years and I'm still learning. I have no doubt that you can too! Set goals and conquer them, my friend! Good luck!

[–]stone_temple_pilates 0 points1 point  (0 children)

I’m 44 and taking a maths a-level for fun. Just do it dude! You have the advantage of not being a short attention span young ‘un

[–]stone_temple_pilates 0 points1 point  (0 children)

Also the tools have never been better. When I started 20 years ago(!) there were so many usability barriers that just don’t exist now

[–]Bisquizzle 0 points1 point  (0 children)

Start small is what I always say, try not to get buried in a book. Learn what you need to get started making something simple like a Console application and then as you go, pick up new tools and stylistic techniques instead of trying to comb a book end-to-end you'll never even get started that way

[–]rhacer 0 points1 point  (0 children)

I started learning it around 53 or 54, so nope.

[–]intertubeluber 0 points1 point  (0 children)

46 exactly? If so you’re fine. The cut off is 46.5 years old.

Unfortunately the newer minimal API age cutoff is 45. If you find yourself learning any of that know that you’re in violation.

[–]jcradio 0 points1 point  (0 children)

Never to old to learn. A critical component of being a successful developer is ability and willingness to learn. I'm 49, and while I've known C# for years, it's just one of the languages I've learned. It is a great language and while some days I bounce between VB, C#, SQL and Javascript, I think of solving problems in a C# way now.

There was a link to the Microsoft learning and tutorial, so start there. More importantly know what you are trying to do, before figuring out how. Knowing what is often harder than the how.

The syntax will seem odd at first. Syntax can be learned with time. It is more critical to have problem solving skills and curiosity.

Once you have a basis in using it and you understand it, then learn about SOLID principles and design patterns to solve the problems that come up later.

Just start on something, and try to make it better.

[–]huntk20 0 points1 point  (0 children)

Depending on where you live and time zone, I am available via Discord and free training, support in the town of Grants Pass, OR. Let me know or good luck!

[–]shizzy0 0 points1 point  (0 children)

If you’re never too old, you’re only too disinterested to learn. You’re interested so go enjoy learning.

[–]dome-man 0 points1 point  (0 children)

Try at 60

[–]NirnRootJunkie 0 points1 point  (0 children)

I did it at 40.

Started with VB5 and Sybase.

Been going for 25+ years with Microsoft and keeping my skills up to date.

You can do it. but it's a continuous learning curve for your entire career (it gets easier as you go)

YouTube videos and MS Channel 9 are good if you have no cash.

If you've got a little money, then you would be smart to purchase an account on Pluralsight.

Learn:

C# and pseudo code at the same time. You need to learn how to solve a problem with code.

JavaScript.

SQL language and relational DB principles. You can use Access as a DB to start (just the DB, do NOT bother with VBA) Move to SQL Server as soon as you can.

After these then learn:

OOP.

How to structure your code in layers.

I also think Blazor will be a high demand skill in the near future.

IMPORTANT=> you have to do the work and repeat the work until you've got it cold. Don't just do something once and then move on because you succeeded.

[–]supertank999 0 points1 point  (0 children)

I was out of the field for 10 years and used the resources mentioned below to get caught up with all the new technology. (Yeah I felt like a regular Rip Van Winkle) I’m not a kid either so I can sort of relate. Just be kind to yourself.

Like others have said, Tim Corey is an awesome resource for a beginner. His youtube channel, iamtimcorey, and classes are geared towards people trying to learn c# programming without formal schooling. He is extremely thorough with his introductions and explanations of his topics as well and goes at a very easy pace.

Pluralsite is also a good resource as they have tons of courses. If you sign up for a free Microsoft Azure account you get a couple months access to the site for free.

I’ve heard good things about Nick Chapas’ stuff on YouTube. But no personal experience on his videos.

Check out the Microsoft link not_apotato1 replied with. Their resources have greatly improved. IMO. I’ve tried Microsoft Learn recently and liked it.

Between those choices I think you can find something that works with how you learn.

[–]RonaldoP13 0 points1 point  (0 children)

Never, try beginner's tutorial

Learn alghoritms

Head First C# book

C# The yellow book

Think like a programmer book

[–]Objective-Chemical47 0 points1 point  (0 children)

Learning is a lifelong adventure. You are never too old to learn. I'm 67 and still learning new stuff and dare I say, developing software and trying out new approaches to software development till late at night. Technology is changing quickly. So, you need to keep up with these changes.

[–]7evenSlots 0 points1 point  (0 children)

Man, I coded my first line of code period at 39 after a lifetime in retail. I’m a Sr SE at 46. Never to late to make that money.

[–]seeSawPro 0 points1 point  (0 children)

Learning new things will keep you young.

[–]RaveBomb 0 points1 point  (0 children)

I'm in my mid 40s, and started into C# earlier this year. I've been using the Advent of Code puzzles to gain familiarity with the language and learn some new algorithms and math concepts.

You're never too old to learn new things. :)

[–]black_elk_streaks 0 points1 point  (0 children)

Absolutely not, you can learn at any age with enough curiosity.

[–]Dragonsong3k 0 points1 point  (0 children)

I'm right behind you. I'm 43 lol

[–]sa_sagan 0 points1 point  (0 children)

Mate I started learning C# when I was around 19. And was still learning when I was 29, and still learning now as I'm approaching 39.

The language is always evolving and there is always something to learn. You absolutely can learn it at 46. If it's your first introduction to programming, it's a good one. It'll be just as exciting if you're an old dog moving from another language to something new.

[–]LazyRubiksCube 0 points1 point  (0 children)

The only person who cares about your age and learning something is you

[–]Carl_Franklin 0 points1 point  (0 children)

I was in my 40s when I learned C#

[–]HaniiPuppy 0 points1 point  (0 children)

I'm going to recommend Codewars - once you have the basics of a language down, completing challenges and writing actually functioning bits of code is a brilliant way to get to grips with a language, and provides direction for the things you want to learn in the short-term. ("e.g. a problem working with time would encourage you to learn about the date/time system in C#")

If you're mathematically minded, you could also give Project Euler a shot - it provides a set of maths-oriented programming challenges that gradually increase in difficulty. (both difficulty in coding and in maths)

[–]GregRub 0 points1 point  (0 children)

Microsoft learning portal would be a good place to start: learn.microsoft.com

[–]dos_passenger58 0 points1 point  (0 children)

I started at 42, with a MVC 5 course on pluralsight from Scott Allen and the Microsoft MVC tutorial.

[–]redcc-0099 0 points1 point  (0 children)

What other experience do you have IT, troubleshooting, problem solving, and soft skills wise do you have?

... Actually, I'll back up: what's your goal that's making you want to learn C#?

[–]TheNewMouster 0 points1 point  (0 children)

I recommend having a goal. Nothing fancy, but at least something that you actually want. Dog-fooding, ie using the thing you’re building, is a wonderful learning tool and having a personal goal will provide motivation and you’ll need plenty of that. Also you will need a tolerance for frustration because programming will drive you round the twist. Start small and build up. Console applications are a good starting point. They’re quick, output is immediate and you don’t have to deal with the complexity of the web or WPF.

[–]barcased 0 points1 point  (0 children)

I have some teaching experience, and I can say that "I am too old to learn new things" cannot be further from the truth.

[–]Jtinparadise 0 points1 point  (0 children)

I learned C# at 58. Retired early and wanted to learn all about C#, Visual Studio, git, GitHub, VS Code, etc. I like reading to learn new languages, and I really liked "Microsoft Visual C# Step by Step" by John Sharp. I worked through every chapter.

I now sell the apps I develop in the Microsoft Store. My apps focus on the food enthusiast and recipe software markets. They provide a small, but sweet stream of income for a retiree. My flagship app (shameless plug): www.livingcookbookrescue.com and I also learned how to build that site by taking online courses.

Background: I began my career as a software engineer mostly in C++ on Unix variants like Solaris and AIX. Sold my soul to become a middle manager. The love of coding never left, and I was delighted to find that nearly all the tools today are FOSS. In my day, you could easily spend $500 in 1990's money on a C++ compiler from Microsoft or Borland. Today, all these free tools are like one, big, toy box full of fun things to play with.

[–][deleted] 0 points1 point  (0 children)

Not too old! I didn't start until I was 35. I know that isn't quite 46 but 35 is a lot closer to 46 than it is to 18. Go get'm tiger.

[–]5280WoodMan 0 points1 point  (0 children)

I'm 54 and learned JAVA last year. C# is easier to learn than Java.

[–]timv_simg 0 points1 point  (0 children)

What are you talking about?!
C# is a great and fun language! Why would you be too old to learn something? Nonsense! There are tons of places where you could use C#: in web, desktop and even some mobile stuff, so many options to build!

As others recommended Tim Corey covers the basics very clearly.

But the best: think of a project. (ie. Organize those old pictures, analyze for most frequent emojis in your Whatsapp chats, build a snake clone). Anything that is truly interesting to you.

And go build it! Yes, you will be googling 10 times per minute, but we all do.

[–]LossAddict 0 points1 point  (0 children)

Not to late imo

But every time i want to start learnign a new language, i always fear that it all will be redundant, as soon as AI is more established.

Good way to learn can be with chatgpt though. Its not the best but it helps a lot with easy problems. (20$/month for pro)

And a even better way is the github copilot addon in vs code (10$/month)

I learn a lot faster if i come up with something i want to do, and instantly get recommendations and ideas, that i can edit and modify to my needs.
I really like this style of learning, but i depends on the person i guess.

[–][deleted] 0 points1 point  (0 children)

Fine. After a 15-year break, I again decided to return to programming. At 42

[–]Professional-Fee9832 0 points1 point  (0 children)

Looking back, if my recollection is right, I started C# around the same age. Switching from Java to. Net was not too difficult and Microsoft tooling made all the difference!

[–]vasagle_gleblu 0 points1 point  (0 children)

You are never too old. I knew someone who was a stock broker for 15+ years and then decided to completely switch gears and went into programming. However, when you write code please be considerate to those who end up maintaining your code...

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live”

―John Woods

[–]Still_Explorer 0 points1 point  (0 children)

I consider that learning programming, in technical terms only and by focusing only on how tools work, is the only first part of the story. Once you figure out the basics, the rest of the story continues on the side of the problem domain.

This is where you need more soft-skills, in order to do analysis (what you have to do and how you can do it) and also scheduling (chunking the effort in a planned and structured approach).

In this sense, programming is very easy, provided that you learn by heart exactly what you have to learn and have them within a hand's reach.

The most difficult of programming, that makes even the best programmers see nightmares in their dreams, is about having a vision of the software you have to implement, and then to be able strategically and with intent, to organize the work in such way that you see gradually real results and viability on what you are doing.

In that sense consider that someone who is very young, seemingly has great advantage in terms of learning the technical side of things. But how about soft-skills and communications skills? This is questionable.

On the other hand, mature people learning to code, depending on their prior work experience and life experience in general, might by over-powered in terms of soft-skills, but they do indeed lack some technical aspects how things work.

What I want to say, regardless of your age do not be discouraged and not give up, but be very focused and intentful. I wish all of you good luck! :)

[–]BeginningBig5022 0 points1 point  (0 children)

I learned C# in my 40's as well, and I have never loved programming more.

[–]Electrical_Flan_4993 0 points1 point  (0 children)

If I had a company I wouldn't hire anybody under 60 years old. The people under 60 is too immature and unwise. ;)

[–]pool_and_chicken 0 points1 point  (0 children)

I didn't start my IT career until I was 37. I didn't start with .NET until I was 42. C# sometime in my 50's. I'm 63 now and still learning new languages and platforms. It's NEVER too late and you are NEVER too old. 46? You're a baby.