How to think in terms of advanced programming?
Hi Team,
I have 10+ years of experience in c#.net , When it comes to programming, I can write the code which will work .But when I see my own code, it is the same kind of code ( onion architecture where we create 'n' number of layers) which I kept writing from so many years. Now there are so many new approaches like vertical slice architecture. So many design patterns( like CQRS patterns) , I am not confident to use in existing projects. How can I update my skills? Sometimes I was not even aware of new updates in c# because I have been in comfort zone by using old code which had worked. Any guidance please? How to keep updating + implement the same ? Any resources/links/books/sites to visit ?
10 Replies
How to discover new things? Read blogs, news updates, hang around here and chat, twitter... tons of ways.
How to learn new things? By doing them. Learn VSA by reading some articles on it, then experiment with making an API for a domain you know well and applying VSA. Evaluate how it went, what you liked and disliked. Maybe refactor.
@Pobiega Thank you for your input. How do you update on newest things? You keep trying prototypes or refactor existing projects ? Can you suggest any useful Technical Blogs ?
I look at https://developer.microsoft.com/en-us/blogs every now and then, and #newsfeed here on the discord.
Those are probably my two primary sources outside of word of mouth
If I hear about something that sounds really interesting, I give it a try
I'm particularly interested in architecture and modern .NET web backend development, so things related to that I'll very likely give a spin
Nice ..
But life is short on time of course, so not everything gets tried immediately. Right now I'm not overly invested in Azure, so stuff like Aspire I've read a bit on but have not tried yet
.NET is way too big to be an expert on everything, so you gotta find your niche, and ofc that will expand and/or change over time, based on interest or career etc
That's true. But my concern is : Am I adding the value to the code which I write.
wdym?
Is my code scalable ? I have not worked much on projects which is public facing .
Now I am working for a backend task for a public facing app
Writing "scalable" code is hard unless you know exactly what scaling constraints you have, imho
Often it just tends to be about horizontal scaling - aka the ability to add "more"
then its a question about architecture and using message brokers, microservices etc
the other aspect is vertical scaling, or making the most of the hardware you have
optimizing algorithms, using the correct data structures etc
and even then, its hard to just learn on your own. Doable, but hard.
If you want to practice horizontal scaling, look into modern patterns for microservices and load balancing, message brokers/queues like RabbitMq or Kafka
Yes the points you mentioned above is making me think. It makes sense.
This is where I am lacking . to look from architect point of view.