Tag: software development

  • The Programming Languages We Use

    Many of you reading this probably work primarily in SQL. Even if you are a developer whose main language is something else, you write a lot of SQL. Even if you have an ORM writing the SQL that goes into production, I bet a lot of you are writing queries against a database to check that the data coming back in your application is correct.

    As for me, I mostly work in SQL, with PowerShell and Python being second and third. I tried R for a while, but I think Python does everything R can do and it’s much cleaner. I find R very cumbersome. I rarely write C# or experiment with anything else, but that’s the nature of my job. PowerShell is important, as I do a bunch of DevOps and PoSh is a good choice to work with on the command line for gluing processes together.

    There was a set of the top articles on programming languages from 2022 that I saw recently. I found it interesting to see what was popular. The top one was about Python being the most popular, but it shouldn’t be. This one feels like clickbait, and I find many of the conclusions not making an argument against python in a meaningful way.

    There are some other links on the “hotness” of various languages. I think these are clicked on as many developers are just curious about what others are doing, and what they might experiment with. While I like curiosity and experimentation, I do think that many of our important systems in organizations need to be built with mainstream technologies. Support and staffing are a challenge, and while Golang might be great, finding people to read and code in it is hard. I don’t know how to balance the growth of new tech with the safety of old tech, but I wouldn’t stray too far from the mainstream for anything important.

    I do find it interesting that COBOL makes the list. I know there are still lots of COBOL systems, and while there aren’t a ton of jobs, there are jobs and little competition. If I were 10-15 years younger, this would be tempting. Of course, I’d have to be willing to adapt to the jobs, but it is tempting. I know a few people making well into the six figures because of COBOL jobs.

    It’s nice to see SQL is one of the top 10 languages in use, according to this survey.. It was #9 in 2021 and #8 in 2022. I don’t know it grew in popularity so much as assembly declined compared to other skills. I certainly can’t see SQL going away, but it’s not as popular, clickbait-y, or exciting as other languages. Instead, it’s a core, required skill for any serious software development. Whether you use relational or NoSQL databases, likely you need some SQL skills.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.

  • Windows 11 Complaints

    I upgraded my primary laptop to Windows 11. A few people had said they liked it, I know that I needed to keep up at some point, and in the later stages of a pandemic, I thought this was the safest bet. I have a desktop I use regularly, and didn’t want anything risky there, and I have an older laptop, but it’s a 2015 era device, so I wasn’t sure that was a good idea. This was a 2019 laptop, so fairly new.

    In most cases, Windows is Windows. The task bar centers icons, and the start menu comes up in the middle, not the side. Not big changes.

    However.

    A few things I’ve noticed, which I find rather disturbing.

    Slow

    Windows 11 is slower, and often has interrupts or pauses that I didn’t have before. If I press the Windows key, the Start menu is slow to appear, and even then, loses some of the keyboard buffer. So if I type Windows+n+o+t+e, expecting notepad, I find the Start menu and “ote” or “te” in the window.

    Incredibly annoying.

    It also appears more checking online for stuff, and a poorer experience when I’ve changed networks.

    This is the most disturbing thing as it appears Microsoft has gone back to bloatware for Windows, assuming hardware gains. Windows 7 and 10 were slimmer, and felt like the OS was more hidden, understanding that it is a platform on which the software we need runs. The OS isn’t important for UI/UX most of the time.

    Get it out of the way.

    Task Manager

    Second thing is that Task Manager isn’t available from the status bar. I don’t know who thought this was ergonomically a problem, but when your Start menu doesn’t start, not being able to get Task Manager is a problem.

    In addition, I find at times the System Interrupts are using 100% of the CPU and outside of getting Task Manager up, nothing else works.

    Ugh.

    Too Much AI or MS Preference

    One of the more annoying things I’ve found is that if I look for some apps, Microsoft stuff gets in the way. For example, I will sometimes need to stat OpenLiveWriter. For some reason it sometimes disappears from my task bar where I pin it. If I try to start it, with the Windows key (pause) then type “open”, Excel is the first thing that appears. No other apps, but Excel.

    #$%##@#$#^%^

    Stop with the guessing here.

    I see similar things if I type “SQL” as the list of matching apps, SSMS + Redgate stuff, is hidden and I get the one, almost always wrong, guess.

    Overall

    I don’t see anything great about Windows 11 so far. Tbey’ve moved things, made minor additions, and likely made it easier for some users, but not for someone used to Windows that lives in the keyboard. Even finding some of the older things, like User Account names, is harder in W11.

    I wish I hadn’t upgraded. I dread the day I need to move away from Windows 10 on other machines.

  • How Important is Software?

    I have a mechanical gaming keyboard, not because I’m a gamer, but I did want to tactile, mechanical feel and I like the idea of lights on the keys. I’ve enjoyed the experience, but the software leaves something to be desired.

    I thought about my experience as I read this review of a more complex keyboard, with the title that notes it’s so pretty you can almost forgive the software. The poor UI and the complexity of operations, not to mention the splitting of the remap functions being unnecessarily complex. That was my experience as the only thing I cared about was remapping the home and end keys to the places I was used to them being on Logitech devices. I have spent a few hours across the last year learning how to map keys, and then relearning when my profile is lost in an upgrade or hardware glitch.

    How much does software matter to customers? I’d argue it is becoming more and more critical all the time. The experience of using hardware, or really any device or service, is impacted by the software that drives it. Software is eating the world, and I think we need to understand that better software design and quality is needed.

    I find that the most talented hardware companies sometimes have the worst software. It’s almost as if they assume their customers will be as talented as their hardware engineers and don’t spent enough time understanding how to better design a user experience for their products. Keyboards, routers, motherboards, and more often use archaic, confusing methods to have customers configure or update the systems.

    I know UX is hard. This isn’t even about graphics or visual appeal. In many cases, it’s about just better understanding of how others view the process and what information they take from what appears on the screen. Over the years I’ve learned that this is not only hard, but also that it takes time and debate, just like features do. I enjoy these moments, and I like to think that I help my employer produce better software for our customers with my feedback.

    I urge developers to have others look at what they present on the screen, and spend time learning from users, both experienced and novice. We often forget how something appears to others when we look at it every day and rush through workflows as we test our latest code. It’s easy to gloss over daily changes as minor when the sum of all changes can be a jarring experience for our users after an install or upgrade. UX is important, and it’s worth putting effort into our software designs, our data models, even the metadata we expose to others.

    Steve Jones

  • The Challenges of Changing Software Tools

    Years ago I set up an email account for my son using Gmail, periodically forwarding things I thought he might find interesting. One day I was with him at his PC and asked if he’d seen something from me. He said he hadn’t and opened his mail. He had dozens of emails, many of them marketing. I asked him why he didn’t delete some of the obvious marketing ones that he didn’t care about. He pointed to the sidebar, where the usage of his account was listed. It showed a few percent of the 10GB he was assigned in use. He said if the usage got too high, he would. For now, he would rely on search to find things.

    That was fascinating to me. I’d grown up with limited space, used folders for organization, and pruned out anything old or useless. It was an eye-opening conversation to me on the difference in how generations looked at computing. That same thing is happening on a larger scale. As this piece shows, newer generations are approaching the way they use computers in a completely new way. They don’t even necessarily know how to find items on their computer by browsing, which is strange for older users. It’s a trend that vendors embrace. In Windows, Microsoft surfaces “Documents”, “Pictures”, “Music”, etc., and I find many people have no idea where those folders actually are in the file system.

    I used to worry that we were losing skills that were needed. However, now I’m not so sure. The scale of items we might save has grown. In many ways, why would we care where they are on a system. Really, we need a way to access them, and linkages, search, and other techniques might be better than relying on our memories of how we’ve filed things. As I think about it, many of the problems of deploying software over the years have been because of incorrect paths. Why should developers manage that? Why don’t projects and compilers just sort this out for us? How many times have I had to add an entry to my PATH variable? Shouldn’t executable software solve that for me?

    Certainly someone needs to care about locations and security and various other details, but for most people using a system, these are unnecessary details. I don’t know “where” stored procedures or functions reside. SQL Server ensures they exist somewhere and the various Object Explorers in tools put them in a place I can find.

    I embrace these types of changes and encourage our industry to make installing and using software, as well as the management of files and other items easier and more autonomous.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher, Spotify, or iTunes.