Sep. 14, 2022 6:45 pm
What are your favorite software trends of the moment?
(Photo by Christin Hume on Unsplash)
This editorial article is a part of Software Trends Month 2022 of Technical.ly’s editorial calendar. This month’s theme is underwritten by Spotify. This story was independently reported and not reviewed by Spotify before publication.
It’s Software Trends Month here at Technical.ly, which means we’re examining what’s changed, what’s stayed the same, and what could be done better in the world of software.
In a field that’s constantly shifting, who better to tell us the lay of the land than those working in the industry every day? We asked a few of Pittsburgh tech’s most connected about what they’re seeing and what budding technologists should be learning.
Here’s what they told us.
Jim Gibbs, cofounder and CEO of parking software startup Meter Feeder: My favorite programming language is the one that works. Right now, it’s TypeScript. Properly architected, TypeScript enables us to use the same code in the front end, back end and database.
Colin Dean, managing director of software community Code & Supply: My favorite language right now is Rust. I’m not working in it as I’d like to be but I’m seeing it gain more and more momentum. In the last few months, it’s gained acceptance as a potential language supported for Linux kernel programming. This is a massive win for the language, which already has outsized popularity for its age in the operating system development space. I’ve supported RedoxOS for a while, a from-scratch OS built in Rust by a principal engineer behind the Pop_OS! Linux distribution published by System76, a Linux-only hardware vendor based in Denver.
John Lange, director and founder of coding bootcamp AcademyPGH: My current favorite programming language is C#, but that’s for selfish reasons. .Net 6 was just released and finally I don’t have to do any special setup for students when I’m teaching them C#, no matter what type of computer they have — Mac, Linux, Windows, Intel or M1. All of them just work and I can spend more time teaching and less time figuring out problems with student’s computers. Not super exciting but it definitely makes my life better.
I've said this about 5 times in the past 48 hours:
Generally speaking, if a software developer talks down on a specific language, it's probably because they don't know that language. (Myself included)
— Jim Gibbs (@heezo) September 6, 2022
John Lange: My favorite software trend at the moment is the pushback that is becoming more mainstream on machine learning. For a long time, the damage that machine learning causes, such as perpetuating racism and human rights abuses, has been seen as an “oh well, sometimes you gotta break some eggs to make an omelet” but these days, it seems like more and more people are recognizing the dangers of machine learning algorithms making decisions. This is especially relevant with very large language models, which you may know from that chat bot that a Google engineer claimed was alive. For a long time, there’s been a lot of seemingly blind trust given to machine learning and I’m glad that there is now more mainstream pushback, rather than pushback that was seen as more fringe when ML first came about.
Colin Dean: I’ll echo John’s remarks about discussions around ethics in the field being a great trend. In today’s story of what is likely to be AI/ML/ethics troubles, Allegheny County council member Bethany Hallam was one of thousands of AirBnB users who received a notice that the company was closing their account due to criminal history. Hallam spent some time in prison for a possession charge … nine years ago. I’m on team #EndTheDrugWar; doing better starts with technologists refusing to enable companies to continue harming people because an overreaching government has overfelonized victimless crimes. Alas, that’s a soapbox for another time.
Jim Gibbs: The number one skill for new technologists is reading the fine manual. Once you understand the tools you’re using, the work becomes orders of magnitude easier.
John Lange: I think a skill that would be useful for new technologists to learn would be how the basics of computers and file systems work. Cloud-based systems and phone/tablet [operating systems] have obfuscated how file systems work and how computers read them for long enough that young adults today may have never actually gone through their file folders on their computer, or even have a mental model of how they might work. Understanding that it isn’t the computer/OS understanding what a picture is or what a resume is, it is the program that looks at that file that understands how to translate it from computer readable to human readable, and different programs know about different types of files.
This isn’t very technical knowledge, but really useful for helping people understand what they’re doing more deeply. This is similar knowledge to when you’re learning to play guitar. At first, you learn the chords to a song or three, and you can play those three exact songs. Then, you learn the names of the chords in those songs. Suddenly you go from being able to play three songs because you know those songs to playing nearly any song because you know the chords. You didn’t get any better at guitar, but your better understanding lets you do so much more than you could before. Same with understanding roughly how computers and files work.
Colin Dean: To me, one of the most important skills for a new technologist is understanding failures and reporting problems. From tasks like “read the whole error message” to “write detailed steps to reproduce the problem” and trying some of the most obvious fixes and debugging steps first … it’s a skill set that I wish I didn’t have to teach quite so often. A personality in computing history, ESR, wrote How to Ask Questions the Smart Way, a seminal work in the area that I read 15+ years ago. ESR has become a controversial figure but this work and some other earlier ones from the ’90s and early 2000s were great. Reductively, I can teach people how to code or how to use some new tech with near infinite patience but that patience is tested when folks try to emerge from a disagreeable situation with a minimum amount of thought, care, diligence and clarity, even if that situation is “the program crashed.”
Now we’d like to hear from you: What are your favorite software trends? What do you think every new technologist needs to know? Email firstname.lastname@example.org to share.
What are the software trends of the moment? TypeScript, Rust, C# — and ethics, these pros say – Technical.ly