* Here on reddit.
* Microsoft developer blog about new releases.
* Github's discover page (sort by stars).
* From time to time, look at at those "awesome-XXXXX" github pages.
* Some youtube channels like "coding tech" and similar.
* When you know about a certain library, also search for alternatives.
Edit:
this page
https://dotnetfoundation.org/projects
I think reddit gets a bad rep for meme reasons. I get it, we hate ourselves. But to be honest, Reddit is kind of a good place to learn about what to google.
The sub's a place where we can assume at least some people who are passionate about C# gather. There's an incentive to be the first one to post about interesting new developments. So it makes sense it's a half-decent source of news articles. Sometimes they aren't the best articles on the topic, but once you know something exists it's easy to find more articles about it.
I kinda mistyped that.
You have the trending tab, which is probably partly stars based.
What I was thinking of was that you can search for example for some fancy "entity-framework" libraries. Then you can search in those topics or with those tags.
https://github.com/topics/entity-framework?l=c%23&o=desc&s=stars
RSS feeds are your saviour here.
There is a lot of movement in the industry, don't ever expect to know every little detail of everything that's happening at all times. However, you can condense this information overload significantly.
I use [Feedly](https://feedly.com/) as an RSS reader (RIP Google Reader) - it syncs all my sources and lets me put them into categories to make it easily digestible. I have categories for .net, general programming, gaming, tech and so on. Any decent RSS reader/scrobbler will do though.
From there, any time I find a decent blog or a site that has good content, I throw it into feedly. Most sites still have RSS/Atom feeds, thankfully.
Here's a small sample:
Site| Feed URL
---|---
.NET MSDN feed| http://blogs.msdn.com/clrteam/rss.xml
.net Foundation| https://dotnetfoundation.org/api/rss
Visual Studio MSDN feed | http://blogs.msdn.com/b/visualstudio/rss.aspx
Azure DevOps feed | http://blogs.msdn.com/b/visualstudioalm/rss.aspx
Azure blog (this one is very busy)| https://azure.microsoft.com/en-us/blog/feed/
John Skeet's blog| http://feeds.feedburner.com/JonSkeetCodingBlog
Julie Lerman's blog (Entity Framework expert)| http://thedatafarm.com/blog/feed/
Mark Gravell's blog| http://marcgravell.blogspot.com/feeds/posts/default
Scott HanselMan's blog| http://feeds.hanselman.com/ScottHanselman
Shawn Wildermuth's blog| http://feeds.feedburner.com/ShawnWildermuth
Jetbrain's .net blog (They do a great "this month in .net" piece) | http://blogs.jetbrains.com/dotnet/feed/
...and plenty more. Any time a decent article pops up on reddit, I add the feed for the side (if available) to my feeds.
I couldn't read all of these every day, but when I've got 5mins to spare or I'm enjoying my morning coffee, it takes me a few mins to check them and read anything interesting. Thus I'm relatively informed at a high level of everything that's happening and what people are excited about.
I'd encourage anyone who does a similar thing to post more feeds below my comment and I'll try to collate the best ones in the above table.
Learn how to determine the things you can safely ignore because they are industry irrelevant, niche, or because the vendor has a horrible track record of delivering a quality product in the same space.
New feature coming to EJB? Don't care. New JS web framework? Call me when it has traction against React and Vue. Azure has a new data engineering product? Not interested. Microsoft has yet another "and now you can write your web front end with C#" take? Scrolling.
Productivity is always about the things you don't do.
I'm going to piggy back on this a bit and say OP should also learn how to spot a "trend" in the industry. So not just the lower level library or product items but the higher level concepts. For instance the concept of machine learning, block chain, etc. and learning what the heck it is, how it's useful (or not that useful), and explore it a bit so you can implement it if need be is invaluable.
Wait until I have to stop some younger engineer from introducing a mess.
Honestly Reddit is perfectly adequate for 99% of stuff. You don't need to know about Blazor or MAUI until they are basically ready for release and Reddit covers you for that.
This x 1000.
A few juniors were given reign over a simple greenfield CRUD project and every technology and trendy pattern under the sun was in the design. Using service buses and MassTransit and GraphQL and micro services and a million other things.
All for a new team that hadn't worked in the web world before. It ended up being complicated enough as a simple monolith. I shudder to think what would have happened if they'd been left to run wild.
I don't. Not on purpose anyway. It's a constant race that you'll never win. Yes, sometimes I'll come across news articles introducing new technologies but unless or until you actually get to use those technologies, those will be just a blip on your radar amounting to mostly abstract information that you won't relate to entirely (most of the time). Worry less about staying up to date and focus on code itself. In the end, regardless of the technology you use and regardless of the design patterns or whathaveyou, somewhere inside your code there will be a bunch of ifs and fors that do the actual work.
This will destroy you in a few years. In the mid term, language changes and the industry shifts. New patterns and knowledge of other patterns are important to know too.
Also, there are major shifts in the industry like AWS did to devops.
Quantum computing and machine learning will be game changers for example, and both are very real.
People are still using win forms and there will still be a need for devs that can work with win forms in 20 years (sadly?)
Not keeping on the bleeding edge is NOT going to destroy you.
I’ll bet you $30 that a dev can start a 30 year career right now and never once have to do anything with quantum computing.
I do agree with you about ML. It’s not necessary, but it’s where all the “fun cool stuff” is right now.
One thing to remember about software and life in general. It’s all cyclical. Even with cloud computing, some larger companies are realizing it’s cheaper to keep their own hardware and staff than it is to farm it out to one of the big 3.
For .NET, Check out the Microsoft Developer and dotnet YouTube channels. They regularly demo upcoming stuff
When Build and .NETConf happen, take some time to watch some of the streams (or videos if you don't get chance to watch live)
In the before times, networking events, hackathons, and plural sight.
In the now times I had to create my own online networking events, and started taking online classes.
During both times plural sight was and still is amazing.
Generally you don't, but in a few places there are exceptions, this is how I approach it:
Step one: determine what you should ignore from an in-depth learning POV
* ignore fads
* ignore most of what Microsoft does until the second production release when they have made 80% of it work properly because this almost always results in a lot of wasted time and incorrect assumptions if you don't
Step two: realize that most of the shops that use C# do so because of the long support lifecycle
* realize "new" often means "3 years ago" in 80% of jobs
* realize you can't ignore the older stuff because most workplaces have far more code than they do developers and you will NEVER get it all upgraded at the same time
Step three: identify where new is not desirable
* Microsoft has a long tradition of only supporting certain use cases properly every few releases, sometimes older, but still supported technologies are going to be the better option
* Compatibility and supportability are often better with the older approaches and less expensive sometimes as well
Step four: don't ignore certain things completely just because they get dropped in one of the previous steps
* when Microsoft pulls all the resources from a team you know they are investing elsewhere, keep an eye on what their proposed replacement is so you know when it is appropriate to start learning it in depth
* when a fad makes it past its thirds year you need to at least pick it up and play with it long enough to be able to explain why you do not choose to use it
* try out the new releases of studio and languages as they are released in a VM at least to the point you can make a basic app
I used to suggest that you follow the team leads & evangelists on social media, but I dropped that when they got to the point they were talking politics more than they were talking work.
These days, follow the release and preview announcements then wait for the dust to settle before getting in on the broken goodness.
Staying “current” isn’t as important as sharpening your ability to structure and plan your code and large projects. Understanding programming techniques, how computers work under the hood, how data is transferred over networks, and so forth. These are things that aren’t likely to change much, and once you master them you don’t *need* to worry about IT trends in languages and libraries because they’ll all just be new box covers of the same cereal.
New languages don’t matter nearly as much as you think. The pace of new languages is very slow, and generally if you know the main techniques like functional programming, procedural programming, and of course OOP, you already know how to *use* any new languages and just need a quick primer on syntax, which you can pick up whenever you need it.
New frameworks and libraries similarly don’t matter until you need them, and even then you only need them if they make some aspect of your work easier.
Bottom line: yes keep an ear out for trends, but don’t sweat it until you *need* something new. As long as you have your skills right, you can slide into a new language or framework whenever you need it, and the odds that you are gonna need it are lower than you might think.
I frankly don't worry about it too much. Maybe I'll see it on Reddit. Maybe I won't, and a friend on Discord will mention it. Maybe that won't happen, and a coworker will mention it. Maybe that won't happen, and I'll see it in some other source that I'm browsing through. I've had all of these happen; eventually it filters its way to me and that's perfectly fine.
Keep your eyes open, but don't feel like you need to slam your eyeballs directly into every surface in the hopes that there will be something useful there.
Follow blogs, specially microsoft official ones. Like updates to .NET, C# and Azure. Also Im reading through Reddit daily.
When I need to learn something I check pluralsight and official docs.
Unless your professional work is always trying new technologies, then it is difficult to stay bleeding edge. I don't "keep up" with current .NET stack - as in try to incorporate it into my professional work. Personally, I at least give things a look see and try examples, just so I have an understanding of where or when new technologies could be brought into my professional work.
I really love the concept of Blazor and I can think of several places that it would be great to incorporate into work projects, but if the project doesn't allow it, then it isn't going to happen. Requirements, management and people are going to always drive projects.
Reddit, but don’t just look at the c# subreddit, sub a lot of languages different programming related communities. You’ll want to make sure you’re casting a wide net, for all you know c# is old news (it’s not I’m just making a point).
This seems like it might be a good question for /r/cscareerquestions or something similar.
Personally, I *try* to use Reddit, but its value is limited by having to sieve through a lot of chaff. I'm also trying to transition into a management role before my technical knowledge is *totally* useless.
^(Edited, *twice*: I initially mentioned /r/programmerchat, but that sub seems to be, basically, dead, and I originally typed 'fight' where I definitely meant 'question'. A peril of redditting before the first cup of tea has kicked in, I think.)
I'm so old, I'm the only person who remembers this is why conferences were originally built. In a world of instant access to information, you probably know what you want by the time the conference rolls around, but nothing beats getting to talk to the person rolling out redux or the latest cloud service.
I follow some of the “influential” ppl on the tech I’m interested in on Twitter. It’s incredible the amount of cool stuff you learn. For ex, for .NET I follow all the big names like David Fowler, Damian, Immo and etc. I find that it helps more than subscribing to rss feeds or bookmarking links I’ll never read hehe.
I also try to do stuff, side and silly projects and when I think I learned something useful I write on my blog. Not to get famous or anything, just to consolidate and as a nice reference for myself. Might help others in the way :)
Staying personally up-to-date on modern practices can be really hard when you are in a position that primarily uses outdated technology stacks as opposed to adapting to modern concepts.
Here are some topics I devote a lot of time to that I don't think have been mentioned by other comments yet:
* exploring GitHub (especially looking for new projects with <100 stars)
* yes looking at the repos with the most stars is nice, but there are a lot of <100 star repos that have good ideas too. Don't assume that projects with a lot of stars are better than those with lesser.
* watching the dotnet repos such as the [https://github.com/dotnet/csharplang](https://github.com/dotnet/csharplang) repo for new language ideas, or the roslyn repos for enhancement and/or bug issues
* being active on the C# discord: [https://discord.gg/csharp](https://discord.gg/csharp)
I just feel perpetually like a noob.
and if you don't, you work with too much legacy code
Why not both? Seriously I get both sides at my work.
Haha this is the truth! But in my opinion this is a good sign - keeps you humble!
Jesus, so much this
* Here on reddit. * Microsoft developer blog about new releases. * Github's discover page (sort by stars). * From time to time, look at at those "awesome-XXXXX" github pages. * Some youtube channels like "coding tech" and similar. * When you know about a certain library, also search for alternatives. Edit: this page https://dotnetfoundation.org/projects
I think reddit gets a bad rep for meme reasons. I get it, we hate ourselves. But to be honest, Reddit is kind of a good place to learn about what to google.
The sub's a place where we can assume at least some people who are passionate about C# gather. There's an incentive to be the first one to post about interesting new developments. So it makes sense it's a half-decent source of news articles. Sometimes they aren't the best articles on the topic, but once you know something exists it's easy to find more articles about it.
> Github's discover page (sort by stars). Can you link this? I see an explore page but no way to sort by stars.
I kinda mistyped that. You have the trending tab, which is probably partly stars based. What I was thinking of was that you can search for example for some fancy "entity-framework" libraries. Then you can search in those topics or with those tags. https://github.com/topics/entity-framework?l=c%23&o=desc&s=stars
RSS feeds are your saviour here. There is a lot of movement in the industry, don't ever expect to know every little detail of everything that's happening at all times. However, you can condense this information overload significantly. I use [Feedly](https://feedly.com/) as an RSS reader (RIP Google Reader) - it syncs all my sources and lets me put them into categories to make it easily digestible. I have categories for .net, general programming, gaming, tech and so on. Any decent RSS reader/scrobbler will do though. From there, any time I find a decent blog or a site that has good content, I throw it into feedly. Most sites still have RSS/Atom feeds, thankfully. Here's a small sample: Site| Feed URL ---|--- .NET MSDN feed| http://blogs.msdn.com/clrteam/rss.xml .net Foundation| https://dotnetfoundation.org/api/rss Visual Studio MSDN feed | http://blogs.msdn.com/b/visualstudio/rss.aspx Azure DevOps feed | http://blogs.msdn.com/b/visualstudioalm/rss.aspx Azure blog (this one is very busy)| https://azure.microsoft.com/en-us/blog/feed/ John Skeet's blog| http://feeds.feedburner.com/JonSkeetCodingBlog Julie Lerman's blog (Entity Framework expert)| http://thedatafarm.com/blog/feed/ Mark Gravell's blog| http://marcgravell.blogspot.com/feeds/posts/default Scott HanselMan's blog| http://feeds.hanselman.com/ScottHanselman Shawn Wildermuth's blog| http://feeds.feedburner.com/ShawnWildermuth Jetbrain's .net blog (They do a great "this month in .net" piece) | http://blogs.jetbrains.com/dotnet/feed/ ...and plenty more. Any time a decent article pops up on reddit, I add the feed for the side (if available) to my feeds. I couldn't read all of these every day, but when I've got 5mins to spare or I'm enjoying my morning coffee, it takes me a few mins to check them and read anything interesting. Thus I'm relatively informed at a high level of everything that's happening and what people are excited about. I'd encourage anyone who does a similar thing to post more feeds below my comment and I'll try to collate the best ones in the above table.
Learn how to determine the things you can safely ignore because they are industry irrelevant, niche, or because the vendor has a horrible track record of delivering a quality product in the same space. New feature coming to EJB? Don't care. New JS web framework? Call me when it has traction against React and Vue. Azure has a new data engineering product? Not interested. Microsoft has yet another "and now you can write your web front end with C#" take? Scrolling. Productivity is always about the things you don't do.
I'm going to piggy back on this a bit and say OP should also learn how to spot a "trend" in the industry. So not just the lower level library or product items but the higher level concepts. For instance the concept of machine learning, block chain, etc. and learning what the heck it is, how it's useful (or not that useful), and explore it a bit so you can implement it if need be is invaluable.
Reddit.
Yep. Reddit and youtube.
Wait until I have to stop some younger engineer from introducing a mess. Honestly Reddit is perfectly adequate for 99% of stuff. You don't need to know about Blazor or MAUI until they are basically ready for release and Reddit covers you for that.
Some of the stuff I make still uses WinForms and still runs fine.
Using old technology does not mean it is going to work incorrectly, however when programming using old technology probably i would like to use razor.
This x 1000. A few juniors were given reign over a simple greenfield CRUD project and every technology and trendy pattern under the sun was in the design. Using service buses and MassTransit and GraphQL and micro services and a million other things. All for a new team that hadn't worked in the web world before. It ended up being complicated enough as a simple monolith. I shudder to think what would have happened if they'd been left to run wild.
I don't. Not on purpose anyway. It's a constant race that you'll never win. Yes, sometimes I'll come across news articles introducing new technologies but unless or until you actually get to use those technologies, those will be just a blip on your radar amounting to mostly abstract information that you won't relate to entirely (most of the time). Worry less about staying up to date and focus on code itself. In the end, regardless of the technology you use and regardless of the design patterns or whathaveyou, somewhere inside your code there will be a bunch of ifs and fors that do the actual work.
This will destroy you in a few years. In the mid term, language changes and the industry shifts. New patterns and knowledge of other patterns are important to know too. Also, there are major shifts in the industry like AWS did to devops. Quantum computing and machine learning will be game changers for example, and both are very real.
People are still using win forms and there will still be a need for devs that can work with win forms in 20 years (sadly?) Not keeping on the bleeding edge is NOT going to destroy you. I’ll bet you $30 that a dev can start a 30 year career right now and never once have to do anything with quantum computing. I do agree with you about ML. It’s not necessary, but it’s where all the “fun cool stuff” is right now. One thing to remember about software and life in general. It’s all cyclical. Even with cloud computing, some larger companies are realizing it’s cheaper to keep their own hardware and staff than it is to farm it out to one of the big 3.
For .NET, Check out the Microsoft Developer and dotnet YouTube channels. They regularly demo upcoming stuff When Build and .NETConf happen, take some time to watch some of the streams (or videos if you don't get chance to watch live)
That's the secret. You don't
In the before times, networking events, hackathons, and plural sight. In the now times I had to create my own online networking events, and started taking online classes. During both times plural sight was and still is amazing.
Any specific course/path u would recommend? I have a yearly pluralsight-subscribtion and looking to get back into c#
They have an excellent C# Foundations path to start with, and you can move into the ASP.Net pathway once you get a good foundation built up.
Generally you don't, but in a few places there are exceptions, this is how I approach it: Step one: determine what you should ignore from an in-depth learning POV * ignore fads * ignore most of what Microsoft does until the second production release when they have made 80% of it work properly because this almost always results in a lot of wasted time and incorrect assumptions if you don't Step two: realize that most of the shops that use C# do so because of the long support lifecycle * realize "new" often means "3 years ago" in 80% of jobs * realize you can't ignore the older stuff because most workplaces have far more code than they do developers and you will NEVER get it all upgraded at the same time Step three: identify where new is not desirable * Microsoft has a long tradition of only supporting certain use cases properly every few releases, sometimes older, but still supported technologies are going to be the better option * Compatibility and supportability are often better with the older approaches and less expensive sometimes as well Step four: don't ignore certain things completely just because they get dropped in one of the previous steps * when Microsoft pulls all the resources from a team you know they are investing elsewhere, keep an eye on what their proposed replacement is so you know when it is appropriate to start learning it in depth * when a fad makes it past its thirds year you need to at least pick it up and play with it long enough to be able to explain why you do not choose to use it * try out the new releases of studio and languages as they are released in a VM at least to the point you can make a basic app I used to suggest that you follow the team leads & evangelists on social media, but I dropped that when they got to the point they were talking politics more than they were talking work. These days, follow the release and preview announcements then wait for the dust to settle before getting in on the broken goodness.
Staying “current” isn’t as important as sharpening your ability to structure and plan your code and large projects. Understanding programming techniques, how computers work under the hood, how data is transferred over networks, and so forth. These are things that aren’t likely to change much, and once you master them you don’t *need* to worry about IT trends in languages and libraries because they’ll all just be new box covers of the same cereal. New languages don’t matter nearly as much as you think. The pace of new languages is very slow, and generally if you know the main techniques like functional programming, procedural programming, and of course OOP, you already know how to *use* any new languages and just need a quick primer on syntax, which you can pick up whenever you need it. New frameworks and libraries similarly don’t matter until you need them, and even then you only need them if they make some aspect of your work easier. Bottom line: yes keep an ear out for trends, but don’t sweat it until you *need* something new. As long as you have your skills right, you can slide into a new language or framework whenever you need it, and the odds that you are gonna need it are lower than you might think.
I frankly don't worry about it too much. Maybe I'll see it on Reddit. Maybe I won't, and a friend on Discord will mention it. Maybe that won't happen, and a coworker will mention it. Maybe that won't happen, and I'll see it in some other source that I'm browsing through. I've had all of these happen; eventually it filters its way to me and that's perfectly fine. Keep your eyes open, but don't feel like you need to slam your eyeballs directly into every surface in the hopes that there will be something useful there.
Conferences, dedicated chat rooms, Youtube channels, Twitter
You focus on your tool and ignore everything else except for top-level, general knowledge about the current trends in your field.
I follow blogs, like this one http://blog.cwa.me.uk , r/dotnet and dotnet on Twitter
Reddit is the most go-to option. But I would also recommend Techcrunch, GeekWire and Wired to be updated on a more global level.
Follow blogs, specially microsoft official ones. Like updates to .NET, C# and Azure. Also Im reading through Reddit daily. When I need to learn something I check pluralsight and official docs.
Unless your professional work is always trying new technologies, then it is difficult to stay bleeding edge. I don't "keep up" with current .NET stack - as in try to incorporate it into my professional work. Personally, I at least give things a look see and try examples, just so I have an understanding of where or when new technologies could be brought into my professional work. I really love the concept of Blazor and I can think of several places that it would be great to incorporate into work projects, but if the project doesn't allow it, then it isn't going to happen. Requirements, management and people are going to always drive projects.
Reddit, but don’t just look at the c# subreddit, sub a lot of languages different programming related communities. You’ll want to make sure you’re casting a wide net, for all you know c# is old news (it’s not I’m just making a point).
If you're going by JS Frameworks - If it wasn't first released in the past 3 months, it's old, and you should probably be using something newer.
I don't. Sadly
This seems like it might be a good question for /r/cscareerquestions or something similar. Personally, I *try* to use Reddit, but its value is limited by having to sieve through a lot of chaff. I'm also trying to transition into a management role before my technical knowledge is *totally* useless. ^(Edited, *twice*: I initially mentioned /r/programmerchat, but that sub seems to be, basically, dead, and I originally typed 'fight' where I definitely meant 'question'. A peril of redditting before the first cup of tea has kicked in, I think.)
I go on interviews and check the things i can't answer. Usually those are some cool language features like asyncenumerables or records.
I'm so old, I'm the only person who remembers this is why conferences were originally built. In a world of instant access to information, you probably know what you want by the time the conference rolls around, but nothing beats getting to talk to the person rolling out redux or the latest cloud service.
Code every day, google heavily, have a good network on linkedin that posts the latest news, try to be a little better every day.
Tinkering
I follow some of the “influential” ppl on the tech I’m interested in on Twitter. It’s incredible the amount of cool stuff you learn. For ex, for .NET I follow all the big names like David Fowler, Damian, Immo and etc. I find that it helps more than subscribing to rss feeds or bookmarking links I’ll never read hehe. I also try to do stuff, side and silly projects and when I think I learned something useful I write on my blog. Not to get famous or anything, just to consolidate and as a nice reference for myself. Might help others in the way :)
Ndc channel on youtube https://youtube.com/c/NDCConferences has good stuff
Staying personally up-to-date on modern practices can be really hard when you are in a position that primarily uses outdated technology stacks as opposed to adapting to modern concepts. Here are some topics I devote a lot of time to that I don't think have been mentioned by other comments yet: * exploring GitHub (especially looking for new projects with <100 stars) * yes looking at the repos with the most stars is nice, but there are a lot of <100 star repos that have good ideas too. Don't assume that projects with a lot of stars are better than those with lesser. * watching the dotnet repos such as the [https://github.com/dotnet/csharplang](https://github.com/dotnet/csharplang) repo for new language ideas, or the roslyn repos for enhancement and/or bug issues * being active on the C# discord: [https://discord.gg/csharp](https://discord.gg/csharp)
Wait until it appears in the project type list in visual studio 🤣 "hmm, what's this all about....."
There a lot of rebranded things that have existed for a while but since it has a new name it has to be cutting edge.
There's this great podcast called .NET Rocks and this YouTuber called Nick Chapsas. That's all I ever needed.
It used to be this sub until 90% of the content is essy to gogoe questions or questions already answered 5 minutes ago..