The Java hype appears to be mostly dead. Only the most pointy-haired continue to think that Java is a silver bullet for all problems.
76 karma · joined March 28, 2007
The Java hype appears to be mostly dead. Only the most pointy-haired continue to think that Java is a silver bullet for all problems.
If you mean "competent programmer," then the best route that way is a good computer science degree (which will teach you mainly theory) followed by a job programming (which will teach you how to apply the theory). Both the theory and the application of the theory are important; vocational-training computer courses that teach the application often omit the theory altogether.
Hackers can benefit from formal education, too. The important thing is understanding how things work, not that you discovered them on your own. Learning by reading and by observing is as valuable as learning by doing; and the computer world has an endless stream of good examples of what NOT to do.
And what if it fails to impress potential users? Then your web designer wasn't very competent, because that's exactly the sort of thing he's supposed to understand about your audience. A good web designer will bounce ideas off of focus groups and do usability testing, and then when the site goes live will conduct A/B tests.
Finally, the best way to make sure that the site doesn't impress potential users is to micromanage the web designer. You need to ask him or her about the web analytics numbers, but if you insist on wordsmithing on every page and monkeying about with fonts and layout yourself, you might as well just do the site yourself. (This is something I've seen repeatedly: the web site winds up being designed for and by senior management against the advice of the web designer, the potential users stay away in droves, and the web designer is blamed.)
Unfortunately, it's a lot like hiring a programmer in other ways -- the best designers will easily be ten times as good as the worst ones, and there's no necessary correlation between skill and rate.
So returning to the original question: look at the web designer's portfolio. Ask questions about web standards and (X)HTML compliance, usability, A/B testing, cross-platform CSS issues, readability, copywriting, audience. A good designer will understand these things and be able to explain them to you in terms you'll understand. Make sure you turn on your BS detector too, though, as a bad designer will try to baffle you with buzzwords.
And one of my favorite interview questions, when looking at a designer's portfolio, is "Why doesn't Site X validate?" The point is not to get the right answer, because there isn't one, but to figure out how the designer approaches these tradeoffs. I've also never interviewed a web designer who provided a portfolio of only valid HTML and CSS.
That said, if I had to buy a Linux laptop, I'd go for a Lenovo ThinkPad, but I'd make sure the one I bought had good driver support. Since the ThinkPads were introduced, I've only ever heard two things about running Linux on them -- "I can't find the @#$% driver for the @#$% @#$%," and "it runs beautifully."
If I didn't have the MBP I'd probably have replaced the PB by now; it's a great computer, but even a great computer can take only so much physical abuse, and it's over four years old now. I looked hard at the MacBooks, but the glossy screen is a dealbreaker, and the keyboard isn't so hot either, so I'm holding out for a 12" MBP.
Anything you expect to be legally binding, or that might wind up being dealt with in court someday -- such as incorporation, contracts, partnership agreements -- should be looked over by a lawyer. You'll most likely save yourself time and money in the long run if you meet a lawyer and develop a relationship long before you think you need to -- because that way, when you do need a lawyer, you'll know who to turn to and your lawyer will have some idea of who you are.
The key points are (a) when one interest starts to run in the red, you don't want it taking down your other interests; and (b) when your app takes off, you don't want to have to worry about app scaling and availability and converting from a sole proprietorship to a corporation or spinning off a company at the same time.
And users will figure out very quickly that it only works in IE; better to be up-front about it.
Implement the idea yourself and do it better than she does.
You can always pursue different web 2.0 apps; but it's probably a good idea to spin them off into separate companies.
Imagine a case where you have four projects. One of them really takes off, while the other three are just barely profitable, and you hire someone to help you with the project that's taking off. After six months you decide to let him go. He slaps you with a discrimination lawsuit. Doesn't matter if it's true or not.
If you have incorporated your companies separately, the only company that lawsuit can take down is the one that employed him, because the assets of the other companies can not be used to pay off the liabilities of that company. If you incorporated them all together, that lawsuit can take all of them down. And if you haven't incorporated any of your companies, your assets can be used to pay off that lawsuit.
And the reason it doesn't matter if it's true or not is that, even if you were completely above-board and non-discriminatory, it takes lawyer time to establish that in court, and lawyer time is not cheap.
In short, if your company fails, you want to be incorporated because it protects your personal assets. If your company succeeds, you want to be incorporated because it makes hiring and taxes and office leasing much simpler. Venture capitalists won't fund a sole proprietorship, and they certainly won't buy one.
So sayeth Jeffrey Zeldman:
Information architecture. Usability. Accessibility. Web standards. If you don't know about these things, stop designing websites until you have learned. Competence in graphic design is merely a baseline; it does not qualify you to create user experiences for the web.
Every time I think I can stop talking about these obvious, simple truths, some crazy bad 90s style train wreck hits me headlong and makes me weep anew.
You can either do the idea better than she does, or you can start working on another idea. Given that she's outsourcing the development, either one should be feasible.
Suing over ideas is just a waste of effort; the only people who come out ahead in the end are the lawyers.
But in the end, to build software you have to communicate. Once the group working on the software is larger than 5 or 6, unless everyone on the team is phenomenally good, you need to formalize this communication somehow. All of these formal development methodologies are ways of accomplishing that -- none of them are necessarily good, but at least they solve that problem so you can get to other problems.
Of course, this leads to other problems, such as the ISO 9001 compliant company that has all of its dysfunctional processes documented in explicit detail that must be followed. (I worked there once. It was like Office Space meets Brazil.)
If you accept the first one, it raises the bar for how much of the other two you need to acquire.
I'm not in this to cash in the company. I'm in this to build a company I want to work for. Maybe that counts as "joy of victory."
I'm not afraid of failure; the last time I tried this, I failed. I'm being smarter about it this time.
When you're a group of fewer than 5 programmers and you're all smarter than the average bear, they're useless.
In essence, they're a ritualization of the communication and testing process that has to happen to make software good and reliable. Without some communication and testing, the software will suck; at a certain organizational size, or with programmers of lower ability levels, you can't rely on the programmers to do it themselves.
You have more free time now than you probably ever will again. You have incredible resources all around you -- libraries, books, computers, professors, other students. The cost of living is low, and you can easily get student loans and grants to cover it, and you have few to no other financial commitments. As soon as you leave the school bubble, all of that changes.
Classes are just the excuse to be there, and if you play your cards right they won't take up more than a quarter of your time.
I wouldn't take an employee position at a company (startup or no) in the bay area for under $100,000, and it would have to be pretty sweet to get me to accept that. For a startup, it would have to be people I really liked on top of that, because I don't put in 80-hour weeks for money alone.
And if you have parental support, quitting to take a job may well mean that that support never comes back in quite the same way, and finishing school, if you ever do, will be on your dime. And college is a lot more fun when you're 19 and carefree than when you're 30something and wondering if it justifies the tuition.
It's your call, though; this is one of those decisions that has the possibility of being something you later regret no matter which way you decide. Think long and hard.
Learning the idioms? A month.
Mastery? Heck, I've been programming in C for 15 years and Perl for 10, and I don't think I'm a master in either.
And at this point I can pick up a new language (Javascript, say, which is my current sort-of project) and it's just a matter of learning syntax because I've used that concept in another language before.
If you want a technical startup, you need a technical cofounder. "I'll just outsource the development" will doom you to failure. I know this because I am an employee of a startup that thought that way, and learned the hard way that execution matters; and spending umpty-million dollars in the first year on outsourced projects that you wind up needing to pay umpty-thousand-dollars in the first year of operation to replace -- well, let's just say that, even with venture capitalists involved, burn rate matters, and money you spend stupidly still counts as an expense.
When the greatest motivation to work on a project is the insane coolness of the project itself, things are different. Then, the money is just a bonus.
Can you figure out something about your idea that hackers will find cool?