5,960 reputation
1640
bio website
location Los Angeles, CA
age
visits member for 4 years, 1 month
seen 2 hours ago

I love strange shrimp.

eh, string stream.


18h
comment what are the software design models that can be used in big software projects
Read more books.
2d
comment Does modular programming affect computation time?
To all commenters above: a very useful rule-of-thumb is the ratio of "CPU overhead per invoke" divided by "useful CPU computation per invoke". (Replace "CPU" by whatever metric, and "invoke" by whatever spooky interactions at a distance.) Keep this ratio in check (0.1 percent to 1 percent) and then you can focus entirely on code usability / maintainability / serviceability / 1337ability .
Oct
24
comment Would forcing developers to fix at 3 AM the build they broke undermine motivation?
One should remember this is similar to the Monkey mob mentality experiment, which in the long run will result in counterproductive cult-like tendencies unless counteracted by other good engineering measures such as stringent code review and proving broken code with intrusive unit testing.
Oct
24
comment Would forcing developers to fix at 3 AM the build they broke undermine motivation?
As discussed, the effect of preventing check-ins late in the office hours might actually be the intended effect. Basically, a developer would be forced to review stuff written the day before. Assuming good sleep, a developer may be able to see new defects in their own code. Some large companies can buy stability however they want, even if they have to pay the productivity cost of discouraging check-ins for one-eighth of a day.
Oct
24
comment Would forcing developers to fix at 3 AM the build they broke undermine motivation?
This explains why a sane user of CI would configure most of the stuff to run during office hours? (Alternatively, you can make your office hour begin at 3 AM.)
Oct
24
comment Domain knowledge vs Programming
One cannot rise to the rank of solution architect (not one that can move freely from industries to industries as portrayed in this answer) through technical excellence alone. Or else one would fall into the illusion of "Senior Fellows of the Software Engineering Institute(s)" which is closer to a theoretician than to a software developer. Finally, without domain knowledge (along with a passion for the domain), even a technical leader will not be able to offer a viable product vision to move a company forward. Such leader can still move the company toward technical excellence (internal quality)
Oct
24
comment Domain knowledge vs Programming
Both domain knowledge and technical knowledge can become obsolete, but domain knowledge in general has a longer useful shelf life (unless it's about a twilight industry). The ability to acquire new knowledge is a prominent marker of a "rising star". Business owners can identify those who acquire domain knowledge quickly (because they are themselves well-versed in it), but will leave the evaluations of technical knowledge to among the technical leaders themselves. Because of this disconnect, business owners can be quite easily glossing over the value of technical knowledge.
Oct
19
comment Should all programmers know how to solve algorithms, etc
You mentioned two career tracks, and these two particular career tracks have moderate to high requirements on algorithms. As others explained, you will probably need a college degree for these. On the other hand, there are career tracks with lower requirements (day-to-day relevance) on algorithms. In general, the first two years of a CS college education should be very useful for anyone working on software.
Oct
18
comment A good generic type system
@supercat: @JonSkeet's answer to your question
Oct
18
comment A good generic type system
@supercat: one applicable advice is to stackoverflow.com/questions/383947/… , that is, program to the Animals and the Vehicles and standardize your entire code base so that anything derived from Animal will be passed as an Animal, not as a specific SiameseCat.
Oct
18
comment A good generic type system
The consensus argument falls prey to No true Scotsman fallacy because in some circles, what actually happens is that "once --programmers-- a programmer in a language community start complaining about overly complex type declarations, we can eliminate that --language-- programmer."
Oct
18
comment How to deliberately practice computer programming?
Speaking of "repeatedly perform the same or similar tasks", cognitive science recommends Spaced repetition in which one aims for longer memory retention of the topics by revisiting it weeks, months and then years later.
Oct
18
comment How to deliberately practice computer programming?
But this does not mean that one without a mentor cannot do deliberate practice. Some "successful autodidacts" are able to do "self-mentoring" with good outcome.
Oct
18
comment How to deliberately practice computer programming?
Having a good mentor, educator or trainer will ensure that a learner will stay on track for deliberate practice: by allocating practice tasks to achieve a good coverage of knowledge areas, by appropriately setting the level of challenge, and by measuring the outcome.
Oct
18
comment How to deliberately practice computer programming?
Deliberate practice is already explained in the Wikipedia article.
Oct
18
comment How to deliberately practice computer programming?
To me, "Afterwards while coding at work you identify..." qualifies as deliberate practice, or is capable of achieving the same objective as deliberate practice.
Oct
16
comment Sequentially/parallel algorithm for extracting blob outer perimeter/contour length
@NordCoder: The correct name for this type of algorithm is "contour filling algorithm". Proof of correctness of such algorithms are usually constructed in terms of Combinatorial map. Since these two things are news to me, I won't be of much help about them. Good luck.
Oct
16
comment Decorator Pattern: can it solve issues arising from changes to underlying code?
The only kind of breaking changes that would affect class derivation but not decorator is probably the addition of the sealed keyword to the class, or the private-ization of something that your additional behavior depends on.
Oct
16
comment Decorator Pattern: can it solve issues arising from changes to underlying code?
In this particular case, if underlying code changes could potentially break things, it would have broken both class derivation and decorator pattern equally bad. (This would be a good reason to have integration tests.) And to forecast whether breaking changes would happen, you would have to take Microsoft's advice on face value - it could potentially promise not to break things and then go ahead and break it a few months later. So, to offer a useful advice to your situation, it will require a fortune-teller who will know Microsoft's intention for the next .NET release.
Oct
16
answered Decorator Pattern: can it solve issues arising from changes to underlying code?