fburnaby
You could swoop in and "fix" some stuff and then leave the in-house team not understanding what you've done. That sounds profitable. You might even get called back to fix things a second time.
As with management consulting, I think it would at the system level tend to do more harm than good, even if you do good work and get paid well for it. I agree strongly with feoren that the code needs to reflect the in-house developers' mental models of the domain or everything will fall apart. If you fix things and then give them a bunch of processes and coding standards to follow, they will not do well and you will be thought of as some clueless architecture astronaut by them. But profitably.
Certainly, most "documentation" I read is just a thoughtless dunp of arbitrary facts about some system, design, code, or event or what have you. But it should be better.
There are infinitely many true statements to make about some thing in order to document it. The art is in determining which ideas and facts about it are relevant for an audience, and finding a way to express those ideas and/or facts clearly for.that audience, in a logical order, using good prose, diagrams, etc. I think that's as hard as any other writing task, and arguably more valuable than many. Documentation captures facts for record and makes them accessible to some audience who otherwise would not have known about that thing. What could be a more important kind of knowledge work than that?
I imagine having tmux in vim instead of vim in tmux might resolve that issue for me. I'm curious to try this for that reason.
Do you mean "human evolution" in the typical biological sense, like talking about our genes and our physiology? Or something broader?
I'm pretty convinced that using the Internet has somewhat (not necessarily dramatically, but somewhat) already altered how I think about the world an dhow I see it. Certainly it has altered how I behave and spend much of my time. It also has clearly altered (I'd say dramatically) how we communicate, who we communicate with, and thus also who we consider to be part of our "in-group" (I'm thinking about Peter Singer's expanding circle). That has a huge impact on our moral attitudes, even. Very central changes to what we're like. Some people (I think rightly) consider this to be an evolution, in the broad systems sense of the word.
As for actual biological evolution, I guess that's less obvious to me. But it sure doesn't seem impossible. Yes, the beginning of the Internet is in some sense a consequence of our nature, not a cause. But now that it's here, it can interact with us; it is part of our environment, and could affect our biology. This idea isn't strange to ecologists, who typically refer to it as "top-down" forcing.
So my attitude to this is that, no, the existence of the Internet doesn't only "make our true nature more apparent". Or rather, it makes our true nature apparent in the same way that the elongated shape of some flowers illustrates the nature of hummingbirds (http://www.rubythroat.org/Article860629.html). From that article: "It's obvious that a hummingbird's long narrow beak is an adaptation for feeding on long narrow flowers, but the corollary is also true: There are species of tube-shaped flowers that are adapted for being pollinated by organisms with skinny, tapered mouthparts." I want to say something similar: "Yes, there is an ecological relationship between us and the Internet, and thus the Internet reflects our natures, but it's also its own thing, a part of our environments, alongside which we should expect to evolve."
One interesting advocate of this view is the science historian George Dyson, if you're interested in exploring the idea more.
Compare that to coffee. There are three baristas on this street who can make me a coffee, so they're also in a stiffly competitive market. But they have to make me my coffee personally, one at a time. I have to buy a larger portion of their time, since they can only make a few dozen coffees per hour (and they have more physical supply-chain issues to manage, like sourcing beans and managing a property).
It's emotionally easier to pay for the coffee in part because no-one down the street is offering it for half the price, or for free. They can't. An app developer can. And they'll have to, because if they don't, someone else will. Because they can.
It also gives you near-term motivation to stay on task -- your friends are counting on you to focus.
Ideally, I'd like to start a business in this field eventually. But don't feel that I have the connections or expertise yet. This type of engineering is not hacking, so the "ramen profitable, learn as you go" paradigm seems to be less applicable. My plan is to learn some more in industry over the course of however many years. As it stands I can build things, but I don't understand enough about the market to make sure I build the right things.
PS: Is anyone looking for recently graduated EEs with a little more math and programming than typical? You don't have to be in the ocean, though that could be a bonus.
If you're actually as interested as it sounds you are, then go. Lots of people have found university to be a waste of time, but I can't help but think that it's mostly been the people who waste their time there.
I think it's a shame that so many uninterested people get 'duped' into going; they likely won't get much out of it, and it's horrible that their guidance counselors (or whomever) are misleading them into thinking it's a necessary step. But there's so much cool stuff that goes on there, and profs will let you participate in it if you actually show an interest.