Category: Editorial

  • Finding Thanks

    Tomorrow is Thanksgiving in the US. While my family often gives thanks to each other over a big meal in the afternoon, I know plenty of people that make it a point to post about something that they are grateful for during each day of the month.

    This year we won’t be having family over. A couple local members of our extended family are worried about COVID, for good reason. Others are out of town and not looking to travel. With a situation worsening in Colorado and a request from the state to avoid mixing households, I’ll have the smallest dinner we’ve had in decades.

    This has been a challenging year for many of us, and certainly me. Despite the things that have been bothering me, I have made it a point with my coping tips to look for the good things I can find.

    Today I want to acknowledge some career things that I’m thankful for. Apart from my SQLServerCentral founding partners, I am really grateful for the closeness that I have with people at Redgate. My trips over there have netted many friends, thoughtful conversations, memorable events, and tight bonds. As I think back across the last decade, I realize just how many of them have influenced me in life across that time.

    I miss being able to visit Cambridge, but I am thankful for the times I have gone and the memories I can call on until I can go back.

    I hope you find some things that you are thankful for in your career, your job, your coworkers, or somewhere else. Take a moment and enjoy some of them today. If you don’t have enough, then start working to find a place where you can build some.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • Privacy Problems in Apps

    Software is a great equalizer, in that almost anyone can build an application and make it available for others. The app stores from Apple, Google, and others are great examples of where individuals or small teams have made some incredible applications that people all over the world use on a regular basis.

    This year, a pandemic changed the world. One of the main things that many scientists and governments have desired to help control the spread of disease is contact tracing. One would think this is a great situation where technology can help.

    It can, but many apps built for contact tracing aren’t respecting privacy. Researchers examined a number of apps in use around the world and found many aren’t using the privacy friendly notification systems that Google and Apple have built. There are a variety of permissions and practices in use, which is a little disconcerting. How can someone really understand the implications of choosing one over the other?

    As with any situation, it’s likely that some developers have good reasons to request additional permissions and collect more data. Lots of governments and universities built apps because they didn’t feel the Google/Apple frameworks collect enough data. It’s also likely some malicious actors built apps to collect data, and certainly a few have been built with advertising or some other money making scheme integrated with the app.

    If you choose to use some sort of app, you might spend a bit of time understand how it works, what data it collects, and if there are any policies or ability to control this. While we want to control and eradicate this pandemic, many of us don’t want lasting control of some data about us to be in the hands of others.

    Steve Jones

  • Rough Consensus

    The IETF has a document, RFC 7282, also called ” On Consensus and Humming in the IETF”, in which they describe how the body makes decisions. This is their philosophy:

    We reject: kings, presidents and voting. We believe in: rough consensus and running code.

    That is a process that I can get behind. Overall, I don’t like authoritative leaders. I don’t like to be one, though I do recognize as a manager there are times I need to make some decision. Overall, however, I like consensus.

    Someone was discussing how to choose approaches when developing software and brought my attention to that quote. With us being remote now, and unable to hum, this person talked about how to solve problems without humming.

    This individual talked about identifying solutions in a team, but not taking a vote, or rather, no immediate vote. Instead, they devised a rating system allowing everyone to look at all solutions and rate them from 5 (best solution ever) to 1 (this would be a terrible mistake). They then produce a histogram of the results for each solution.

    Once they’ve done this, they can then have people raise issues and debate them. I assume time limited, which is important, but often when we see different levels of support, we may rethink our rating or the merits/detractions of an approach. At some point, they re-rate the solutions and try to develop consensus.

    We won’t always agree completely with an approach, but I do think that we can often come to some decision we can support, especially with some rational arguments and reasoning. I’d like to think that I rarely had to overrule an entire group. Building a team means finding ways to discuss, debate, and decide together.

    Steve Jones

  • Building for Scale

    This year’s pandemic has moved a lot of business to the digital world. We see that with increased ecommerce from many companies, including lots of local business, like restaurants, that have embraced online ordering, pickup, and delivery. In many cases, the companies providing these services were able to scale and meet the additional load, which arguably wasn’t that high for any individual organization.

    However, some services aren’t able to handle the loads, especially government services. Recently the Florida voting registration website crashed under a larger than expected load. We’ve seen unemployment sites crash in the US, the contact tracking website in the UK, and plenty more.

    I can understand the challenges of government sites, many of which were built on older technology and rarely upgraded with budget restrictions. Investing in new technology is not only expensive, but it can be a huge challenge to ensure systems work through a transition, especially when many users are counting on services to be available.

    I do think that the future of much software development needs to be with a hybrid cloud architecture. There are great government secure options from AWS, Azure, and other providers. However, even if you build software that is intended to be in your data center (or a rented one), you ought to be thinking about how to scale it beyond the machines on which it exists, especially if you provide public facing access.

    Whether in government or private enterprises, we see the demand for systems grow and shrink rapidly. You can have incredible success, or face shrinking demand quickly. This isn’t like an investment in a large physical plant. The digital world allows us to easily scale up and down, using the cloud concepts and architectures developed over the last decade. Learn about the patterns, and ensure your systems can scale as needed.

    Steve Jones