As developers, we're always reading and learning, doing and failing, trying again and succeeding. There's always something to share, but some of those somethings are pretty small. For the things that aren't enough to fill a whole post, I think I'll write a weekly "junk drawer" style post. (Not that it's junk, I hope!)
What's new in .NET 6 / .NET 7?
I've got so much I could read, and just love the idea of reading it all, but in reality my shelves (and library records) are full of unread books and magazines. So much to learn, so little time!
The .NET 7 edition of Code Magazine arrived in the mail recently, full of the newest additions in C# 11, and I finally got around to reading it. Then that reminded me that I still had the .NET 6 edition from last year on my shelf, so I got around to reading that too. Better late than never.
Personally, I found the articles on "The Unified .NET 6" and "Minimal APIs" to be the most interesting, but there was a lot of good stuff in both of them. If you want to learn more about what's new in C# 10/11 (corresponds to .NET 6/7), start here:
I'm always forgetting which .NET version lines up with which C# version (Microsoft's naming conventions don't help), so I keep the C# language versioning page bookmarked. And if you're interested in all the features we've gotten over the years, there's The history of C# (look ma, I'm a contributor).
Abstraction is a beautiful thing
While I was reading up on all that new .NET goodness, I stumbled on this article by Stephen Toub. I appreciate all the hard work put into .NET 6 to make strings work in the most effecient way possible. But you know what I appreciate even more? That it just happens... and I don't have to think about it!
The level of technical detail in here, just.. wow. A lot of smart questions in the comments too, and smart replies (not in the bad way, lol) from the author.
Let me just throw something out there, for anyone who goes cross-eyed at stuff like this too. There's a certain level of detail we need to know about. And in fact, a good chunk of our jobs is hiding unnecessary detail from users or even other developers. But it's okay at some point to just accept that things are the way they are and move on with your day. At least, that's what I'm gonna tell myself so I feel better. 😅
Automated programming answers
Anyone visiting stackoverflow this week would've seen a banner across the top of every single page notifying everyone that they've banned ChatGPT answers. SO contributors are getting riled about it, but what is it?
I hadn't heard of GPT before this, but the following article cleared a lot up.
It's an advanced tool that's scooping up information from around the web to create authoritative sounding answers, without asking for consent or attributing sources. The answers sound really good even when they're wrong, and it's being argued that they're tantamount to plagiarism.
Cultural differences on resumes
With a lot of projects planned for the new year, I've been helping review resumes, mostly from India. There were some patterns that caught me offguard, which led to a few hours of research into cultural differences between the US and India, which was actually really interesting!
Nearly every resume included some level of personal information - date of birth, home address, marital status, father's name, passport numbers, profile photos. In the US, we wouldn't dream of sharing any of that. As an employer I would rather not know... if an applicant is rejected, it better not be because of where they live, how old they are, or their marital status. Better to just leave that info off for US jobs.
Our grading scales are significantly different. The percentages I saw were in the 50s - 70s, which is above average to very good in India, but in the US, 50s is failing and 70-80 is only average. Might be a good idea to just stick to the equivalent grade letters for US jobs. Relatedly, it's interesting that everyone includes high school (aka secondary stage) grades too, but it seems (if I'm understanding things correctly) that school is only required until 14 so maybe that's why it's seen as meritorious to include it?
Source: Country Resources - WES.org (first image only.. I created the others)
There were some acronyms I had to look up too, most notably CTC and NP. The former appears to be a way to indicate how much you currently earn. We might not list that on resumes in the US, but HR departments absolutely like to ask about it, to get an idea of how much they can get away with offering someone instead of just stating what the job is worth. Lovely.
The latter stands for "notice period" and apparently indicates how much notice one will give a company before leaving. In the US, it's typical to give an employer a 2-week notice, but in India it seems that 3 months is typical (and required!) in IT. It was meant to protect workers but got twisted up somehow I guess. Sounds like a great situation for everyone - employees who are obligated to stay and work, and companies who are stuck paying for employees with one foot out the door. I wouldn't be shocked if some people were willing to work both jobs (esp when so many IT jobs are remote now), but we all know which company is going to get the employee's best effort. A real win-win.
That's it for now.. have a great week! 🙂