Yeah, Bob, I think you mostly understand where I was coming from: 1) Don't focus your career on any single technology or product but rather seek to have a broad-based, multi-specialty background and the flexibility to move from project to project. And don't short-change learning the fundamentals. 2) Don't expect to strike it rich on some viral app. Work up a plan for who your customer is and how you will serve their needs. In terms of marketing, market yourself to a few people (ie, other companies) rather than the masses. Mass marketing is simply beyond the capabilities of an individual developer.
I do take issue with the argument that there's no room for innovation with big (or small) corporations. I've spent most of my career (about 36 years) working for large corporations, and, save for the last 2-3 years of that time (when my employer essentially decided they were out of the innovation business), I was always innovating, in small and large ways. I have my name on something like 20 patents, I won several awards from my company, and I had the opportunity to work on a number of interesting projects. But the main point I'd make is that programming is HARD WORK. I see too many people on various forums (actually less here than elsewhere) who try to get into it without doing their "homework", figuring they can get along by just modifying sample programs, lashing together bits of code they've Googled, begging experienced people to do their work for them. You might be able to lash together some app that sells a few hundred copies in the Marketplace this way, but it's not going to even pay the rent, much less put a kid through college or buy you a house. No company is going to hire you, or, if they do, you won't last long. Like any occupation, unless you're some sort of savant you need to spend about 2000 hours (a year) working at it to achieve basic competence, and 10,000 hours (five years) to become an expert. If you're not prepared to spend that sort of time working at it, then find a different occupation. On May 28, 9:10 pm, Bob Kerns <[email protected]> wrote: > I read Dan's message a bit differently than it seems everyone else has. I > too have 40+ years of experience, and I think I see where you're coming > from, and I'm not distracted by the "legs" remark. > > Yes, there's a lot of competition. What this argues, really, is that you > should either be willing to invest a lot of time and effort, and really > sharpen your development skills -- or get out of the game. AND you need a > good product idea, and some good marketing of it. > > Product + marketing may indeed lead you to custom development for > corporations. The big downside is that it doesn't really give you much room > for innovation. A variation on that is to identify a need common to many > corporations -- develop the idea, and market it to multiple corporations. > The potential payout there is higher. So is the risk. A hybrid approach is > to get one corporation to sign on with some development funding, retain > ownership, and then market it more widely. > > The other big point I see Dan making here, is that you should have some > breadth. Dan suggests knowing other mobile phone environments, desktop > environments, Qt, web technologies, servers, databases, and the cloud. > > I would add to those, networking, security and encryption, XML, development, > build, and test methodologies, etc. > > I'd say: don't focus on the specific technologies so much, as the technology > and how it is used and why. Technologies come and go, but as you point out, > the basic needs those technologies address come and go. > > So while "cloud computing" may be somewhat of a fad -- it also fills a > specific need, or range of needs, that aren't going away. I don't expect a > return to the "pre-cloud" world. > > Similarly, Android itself may have to evolve considerably, or be supplanted. > Either way, it won't happen all at once. Your experience with Android will > be valuable -- and will teach you to appreciate what follows, whether it be > a Better Android, or something new. > > But don't target your career on "Android". Android doesn't have the legs > that "MS-DOS/Windows/Windows NT/Windows" has had, nor even what MacOS has > enjoyed. In fact, I hope it doesn't! That's not a negative thought, but > rather a hope that we'll have an easier time forward to new technologies; it > would be a shame to be stuck so deeply with decisions made in what will be > eventually viewed as the dawn of mobile computing -- the way we are > currently tied to so many decisions made in the dawn of personal computing! > > So your career choice should not be "Android" as a career. Android should > merely be a near-term step. "Mobile computing" is a viable career, but also > will cut off a lot of what I predict Android will become. Really, I suggest > not deciding on a career in this field at all. I don't think ANYBODY has > NEARLY enough vision of the future to design their career. You just have to > make it up as you go along, and try to avoid dead-ends and find what's > interesting to you. > > And I think Android is a perfectly reasonable career step -- I think it will > lead you in a lot of potential directions, and give you opportunities, if > you work hard at it, and continually learn. I know I personally frequently > get inquiries from people looking to hire me for Android and other mobile > phone work, and the market is expanding. You'll have competition, but if you > work at it, you'll have an advantage over all the competition that comes > later. > > Whether it makes sense as a career for YOU depends on whether you enjoy > doing it, and you enjoy the kind of work it brings. It's not going to be as > stable as working in the IT department of a bank, for example. These are > generally smaller projects, there will be more rapid change. It may more > resemble working in a consulting organization, than a traditional > development organization. Or, if you opt for the solo route, working as an > individual consultant than as a individual product developer. That can be an > advantage or a disadvantage, but it definitely can mean quicker > time-to-market, faster feedback, etc. > > For a number of reasons, it isn't my primary career. There are a lot of my > skills it does not leverage, and going the solo route or small company route > doesn't meet my needs for things like health insurance, which narrows my > options. You'll have to evaluate the decision based on your own > circumstances, and the opportunities that are available to you, given your > skills, your location, and other factors. > > Your circumstances WILL change. The business WILL change. Technologies WILL > change. Plan on continuously learning new skills -- for the rest of your > career. > > Good luck. > > On Tuesday, May 24, 2011 8:29:03 AM UTC-7, DanH wrote: > > > The basic problem is that you've got millions of high school students > > and college dropouts who fancy themselves programmers, and they're all > > writing Android apps, hoping to come up with the next big hit. A very > > small number will develop into decent programmers, and an even smaller > > (microscopic) number will have that big hit. But a very small portion > > of millions is still a lot of competition. > > > Additionally, Android, as it's currently designed, does not have > > "legs". The process model and UI are both too restrictive to be > > extendable to the pads and other new paradigms of the future. > > > For the near term you're better off looking for apps that you can sell > > to a business -- specialized apps their employees will use or apps > > they will distribute free to customers. Then you get your money up > > front, in a reasonably predictable fashion. (Here it helps to be able > > to write Android, iPhone, and maybe Nokia and Blackberry apps, so you > > can provide the customer with options.) > > > For the far term, you need to expand outside of the Android and even > > the phone world, and learn other paradigms. I'd recommend, eg, Qt for > > desktop applications. And you need to become familiar with HTML, CSS, > > JavaScript, et al -- even though they are probably doomed to collapse > > under their own weight in another 15 years, whatever follows will no > > doubt draw from their basics. Finally, you should learn about servers > > and databases -- the general concepts will be around forever, even if > > the specifics change. > > > And of course, the new big thing is "the cloud", though I'd take that > > with a grain of salt. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

