Every application has an inherent amount of irreducible complexity. The only question is who will have to deal with it, the user or the developer (programmer or engineer).
Right now you are a prisoner of each application you use. You have only the options that were given you by the developer of that application.
Dropbox looks really simple to the end user and is extremely magical and just works. But under the hood, the complexity of the technology is huge. The amount of work it requires to store, scale and move this data is pretty intense.
The utility of a language as a tool of thought increases with the range of topics it can treat, but decreases with the amount of vocabulary and the complexity of grammatical rules which the user must keep in mind. Economy of notation is therefore important.
You don't have to be a nerd or a programmer or a network engineer to make a difference.
From a programmer's point of view, the user is a peripheral that types when you issue a read request.
Irreducible complexity is a problem for Darwinian evolution. Whenever we see these complex functional systems we realise that they have to be designed.
First thing the developer has to do is to get an assessment of the threatened species, of the ecological values of that site. At the moment, that developer lodges an application, there's usually trade-offs, negotiations, you end up with remnant bits of land. You might end up with some other offset land that the public has to run. There's no cohesive system of then making sure that we maintain and improve biodiversity values.
It would be great to have every engineer have at least some amount of knowledge of machine learning.
The three most dangerous things in the world are a programmer with a soldering iron, a hardware type with a program patch and a user with an idea.
I think diversity can also be a resource, an asset, especially in a world that is becoming globalized, to deal with difference, to deal with variety, to deal with complexity.
Finding a programmer to work with if you don't already know one will be a challenge. Merely judging if a programmer is exceptional vs. competent will be very hard if you are not one yourself. When you do find someone, work together informally for a while to test your compatibility.
I feel that it's lovely when, as a user, you're not aware of the complexity.
The complexity of C++ (even more complexity has been added in the new C++), and the resulting impact on productivity, is no longer justified. All the hoops that the C++ programmer had to jump through in order to use a C-compatible language make no sense anymore - they're just a waste of time and effort. Now, Go makes much more sense for the class of problems that C++ was originally intended to solve.
There's a finite amount of time on this planet for each of us. Sometimes, the only way we figure out how to deal with that reality - knowing that there will be an end to every story, and you don't know how many chapters are left in your book - is by living in denial.
Our model of the cosmos must be as inexhaustible as the cosmos. A complexity that includes not only duration but creation, not only being but becoming, not only geometry but ethics. It is not the answer we are after, but only how to ask the question.
I've been a DJ, janitor, ditch digger, waitress, computer instructor, programmer, mechanic, web developer, clerk, manager, marketing director, tour guide and dorm manager, among other things.