Software Development and Engineering Blog


HW28: Chapter 25

Sam Word | 21 Nov 2017

HW27: Chapter 24

Sam Word | 16 Nov 2017

HW19: Team Progress II

Sam Word | 14 Nov 2017

HW25: Chapter 23

Sam Word | 09 Nov 2017

HW24: Chapter 22

Sam Word | 06 Nov 2017

HW22: Chapter 21

Sam Word | 02 Nov 2017

HW19: Team Progress I

Sam Word | 31 Oct 2017

HW21: Chapter 20

Sam Word | 26 Oct 2017

HW20: Chapter 19

Sam Word | 24 Oct 2017

HW18: Chapter 18

Sam Word | 18 Oct 2017

HW17-B: Chapter 17

Sam Word | 11 Oct 2017

HW17-A: Chapter 16

Sam Word | 08 Oct 2017

HW16: Chapter 9

Sam Word | 05 Oct 2017

HW15: Chapter 15

Sam Word | 02 Oct 2017

HW14: Testing Reflections

Sam Word | 28 Sep 2017

HW13: Chapter 8

Sam Word | 28 Sep 2017

HW12: Mythical Man Month

Sam Word | 26 Sep 2017

HW11: Chapter 6

Sam Word | 21 Sep 2017

HW10: Chapter 5

Sam Word | 13 Sep 2017

HW9: Reflections

Sam Word | 12 Sep 2017

HW8: Chapter 2

Sam Word | 12 Sep 2017

HW7: Reflections

Sam Word | 07 Sep 2017

HW6: Chapter 4

Sam Word | 07 Sep 2017

HW5: Reflections

Sam Word | 05 Sep 2017

HW4: Chapters 11 & 12

Sam Word | 30 Aug 2017

HW3: Chapter 10

Sam Word | 28 Aug 2017

HW2: Responses

Sam Word | 27 Aug 2017

HW1: Chapter 1

Sam Word | 24 Aug 2017

HW0: Introduction

Sam Word | 23 Aug 2017

HW9: Reflections


12 Sep 2017

In 11 Predictions for the Future of Frogramming, Peter Wayner discusses 11 ways the future of programming and technology will change or remain the same. Some of them I already predicted myself, such as the Internet of Things becoming much scarier regarding security, and others came as a surprise. I agreed with some of his predictions, and was skeptical of others. Regardless of anyone’s predictions, attempting to predict the future state of programming is a worthwhile effort. After all, no company wants to be behind another when more money can be made.

One of Wayner’s predictions that surprised me the most was that data will continue to be essential in our software. To me, this prediction seemed so obvious that it was hardly worth mentioning. Until we become all-knowing beings, data is the only way we can begin to know the state of something. Even when the best data analysts end up being wrong, like when nearly every poll predicted Clinton would win the 2016 presidential election turned out to be wrong, what else do we have? All we can do to make election predictions more accurate is to do something different with the data we have. Maybe we can represent it differently, sample it in a new way, or use different algorithms on it, but in the end, all of our software relies on data. Data isn’t going anywhere anytime soon, and programmers will need to continue to deal with it as software becomes more data-intensive.

Wayner also predicted that autonomous transportation is here to stay, and programmers will no longer decide what we, but where we go as well. In his prediction, Wayner pointed out a particularly disturbing aspect of autonomous transportation: advertising in the form of diverting our journey. While advertising a local restaurant is harmless in itself, changing my route every so often to drive past some business can create traffic nightmares and alarming privacy concerns. Current traffic apps such as Google’s Waze are already creating terrible traffic on neighborhood roads according to a 2016 Washington Post article. Autonomous transportation, such as self-driving cars, take all control away from their users. With a traffic app, a user can choose to ignore the directions presented to them, and go a different way. They could even go as far as turning off location services so no app can track their location. Self-driving cars, on the other hand, will likely always require location information to accurately navigate the car, and can take the user on whatever route it maps out, unless there is some sort of override feature. I have no doubt that autonomous transportation will become more prevalent in the future, however, I believe as software engineers we must tread carefully regarding traffic and privacy.

I noticed that many of Wayner’s predictions are based on the notion that the number of devices that run some sort of software will expand, and programmers will need to adapt to the fact that software development will most likely no longer revolve around PCs. In my home alone, I have at least six devices that can connect to the internet that are not a PC. My mother has even more than that, including a small home security system and an Amazon Alexa. From my point of view, it’s easy to see that PCs are no longer the centerpiece of personal technology. As software developers and engineers, we need to be adaptive to the rapid shift away from PCs alone to PCs and everything else that runs some sort of software and their implications regarding safety, security, privacy, the environment, and so on.