409 karma · joined November 16, 2011
- Thing One and Thing Two.. I wonder if it will fail..
So, I would really expect the next big thing to be not a be an iPhone but something utterly different. Neural implants, anyone?
If you see the pattern of adoption by developers, I see more developers walking around with Macs, and linux boxes and running VMs to test out IE compat than anything else.
So, MS has become another OS to work with than the OS to develop on. imo.
I had been in MS ecosystem for 10+ years before moving to other technologies and it has taught me more about concepts of distributed computing (dos and donts) than anything else. I can apply those to any problems i see today. But, I will likely not not develop another asmx and aspx page.. :(
(Is there one?)
Software architecture is like city planning: http://www.windley.com/archives/2003/09/enterprise_arch_4.sh...
Software development is not like manufacturing: http://www.codinghorror.com/blog/2006/10/is-software-develop...
Software development is like manufacturing: http://www.amazon.com/exec/obidos/ASIN/0321150783/codihorr-2...
I believe that software development can be disciplined (development of missile control systems, payroll systems) or be agile (instagram, pinterest, facebook...). I think it all depends on what is considered to be the most valued resource for the organization and the software it is planning to build/compose/manufacture/make.
If we value system resources (real time constraints, compliance, SLA), we tend to be more like building systems. If we value end users experience in the final outcome, it tends be agile and take the notion of the movie/novel et al.
So, while anyone call anything art, If the random shopper is doing to have a surprise gift every month, it is not exactly art. But, he is doing to this to show the world how random materialism looks like, I guess he has a point. :)
was trying to point out that it is easy have developers write code that can easily be O(n2) vs O(n log n) because this did not use the right kind of the maps when they were initially building the code. Or I can see developers using HashTables vs HashMaps interchangeably and not see the threading impact. In these cases, some basic questions about their understanding of the classes seem to be a good indicator. Would you consider that a nano-question? I was..
I do agree that nano-questions are not useful except in situations where you get a resume with keyword bonanza: You know the kind, ones with every language,OS in the first page listed so that they will pass through the corporate recruiter filter. For those, nano-questions trip up but that will give me an indication to dig a little deeper into their IDE usage pattern. If they show some proficiency in it, (for e.g., tell me the command in Eclipse to find all the references to a particular method, if the answer is search in files, .. :)).
If it is designed to expect [rigid design] certain set of rules and not accomodate new and changing requirements, or if it is designed to accomodate unknown/made up requirements [overengineered design], you can endup with code that looks either like a framework for frameworks' sake or a perfect code for the set of known requirements.
In both cases, you endup either with code that cannot easily be modified [rigid] or you endup taking many shortcuts because the original design did (and could) not anticipate new requirements [overenginnered].
One of the ways to circumvent it is to know what you need design and what you need to be able to extend without modifying the original intent.