914 reputation
68
bio website
location
age
visits member for 3 years, 11 months
seen Dec 10 '13 at 17:49

Apr
8
comment How do I learn algorithms and data structures?
Agreed. Consistency is key. It's hard to grok data structures when you're getting one or two from a dozen different sources. Books also tend to have better diagrams (some blogs/online sources do, but as a generalization books are better). The Sedgewick books have a particularly good mix of diagrams, simple to follow code and description.
Nov
12
comment Is there a viable alternative to the agile development methodology?
I don't want to seem like an ass or like I'm grandstanding for waterfall myself. Both have a place. When I'm building a web project (which is what I typically do these days), it's my particular flavor of agile all the way. When it was risk analysis for synthetic CDO bond swaps on wall street working with the quants, agile just wasn't even an option.
Nov
12
comment Is there a viable alternative to the agile development methodology?
And lastly, you say "With a waterfall method, you would need to retrain your team to handle even minor bug-fixes." That's just so ignorant of how the waterfall process works. You should try out a good waterfall shop before you grandstand about how it's inappropriate for every software development scenario.
Nov
12
comment Is there a viable alternative to the agile development methodology?
And just to shotgun more holes in your argument, there are road designs being engineered right now that would be appropriate for a road between Kansas and California, but not between New York and Boston. And new techniques for handling asphalt are coming out all the time.
Nov
12
comment Is there a viable alternative to the agile development methodology?
There are a lot of aspects of software design that are as absolute as the laws of physics. Agile is a tool just like waterfall or other methodologies, and as other people posted there are a lot of business cases where it does not make sense. I would be surprised if I saw you in line to get on an airplane where Boeing said they were in the middle of an agile process on the flight control software and they needed customers to iterate on whether the plane doesn't flip in midair for no reason.
Nov
11
comment Where do you get new software ideas from?
@Pagotti - I totally agree, but for me it's worth getting an idea to that point and then letting it sit for a while. Often I'll find that a newer idea helps me make that transition, or maybe it'll get worked into another idea. Or maybe it'll die, but I'll have new ones to work on.
Nov
11
comment How do you approach database design?
And to clarify the colors better: Black is for things that I know are correct. Usually simple things that there's not really any other scheme that makes sense. Blue is for things that I may decide to restructure slightly. Things that are probably right, but I may erase. Green is for things where I'm really brainstorming and I'm pretty likely to erase.
Nov
11
comment How do you approach database design?
That's exactly what I was trying to get across. Build what you need, nothing more. But if you don't plan for expansion later, well, have you ever been in rush hour traffic in the bay area? That's a perfect example of what happens when you don't think ahead to how you might need to expand.