4 ms·
Well, the best way is learning to code. However this is extremely time intensive, and can defocus you from your primary skills and abilities which would be mos
by jason_tko 16y ago
Well, the best way is learning to code.
However this is extremely time intensive, and can defocus you from your primary skills and abilities which would be most beneficial to the company anyway.
The second best way is to project manage some software projects. This will give you several sobering doses of reality, and will provide you with very useful reference experiences and skills in relation to software.
So, put together a spec for something you need done. Write it down in plenty of detail.
Then try to find someone to do it for you for a fixed price.
(Advanced Level : Find someone to do it for you at an hourly rate.)
Ask them to keep you up to date on their progress, and to keep you abreast of the challenges and problems they face.
Offer yourself as a sounding board to talk out problems, and challenges. The more you listen to people talk about software, the more you'll start to get an intuitive understanding of whats going on, and how developers approach development.
After a few hours, the first thing you'll notice, is the need to make everything as simple, and distilled as possible.
That whizbang spec you put together that will revolutionize life on planet Earth? As you have written it, it will take 40,000 man years and will require a budget of the GDP of a European nation.
Get used to cutting things down into bite sized chunks, and cutting those chunks into bite sized chunks.
After about 5 or 6 software projects, you will have a decent understanding of the complexities and difficulties in software development.
Ideally, most of those projects will be complete failures.
Then you will have an advanced understanding of the complexities and difficulties in software development.
After completing these tasks, you will never again utter the phrase : "But it's just a simple requirement. Just do it, it should only take an hour or two."
You should also be filled with respect and admiration for people who can turn ideas and solutions into workable and clean software.
You are now ready to not make your technical co-founder go completely insane.
Good luck !
- DTrejo 16y agoAlso, make sure to read tons about how programmers feel about business guys / managers, and figure out how not to be like those people. There's tons of advice out there, and there may even be some good advice in the most offensive rants. Read those rants, feel the pain of those programmers, and see the opportunity to improve yourself so you don't inflict similar pain. Some possibly helpful resources which you may have already seen: http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439 http://www.amazon.com/Peopleware-Productive-Projects-Teams-S... http://www.joelonsoftware.com/ http://www.joelonsoftware.com/ (right sidebar has a ton of articles) http://www.amazon.com/Facts-Fallacies-Software-Engineering-Robert/dp/0321117425 http://www.amazon.com/Facts-Fallacies-Software-Engineering-R...
- patrickk 16y agoAlso, read Peopleware. It's an excellent book for anyone who has to manage technical teams. http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439/ref=sr_1_1?ie=UTF8&s=books&qid=1281947572&sr=8-1-spell http://www.amazon.com/Peopleware-Productive-Projects-Teams-S... Joel Spolsky mentions that every manager at Microsoft has to read it (I could be wrong on that, but a lot do read it apparently).
- SoftwareMaven 16y agoI think this is SO much more valuable for a biz founder than learning to code. Understanding the development process and developers is critical. On the other hand, knowing how to code is merely useful. (Note: I differentiate "knowing how to code" from being a coder. One means I made it through Python for Dummies; the other means I have a history of making software and understand the issues around it. That is far more than useful.)