Indeed! Amazon does top-notch customer service at scale like nobody else. Everyone else just assumes that it is impossible to scale up something like this and they let the a previously great experience slip as they grow into a faceless organization. Good business is all about getting these hard things to scale.
They mention that the “the client base moved to enterprise” and I think that, if Gigster is ever reasonably successful, it will end up as a shop making niche products for enterprises who find it difficult to fit such development activities into their budgets and schedules. They will then be directly competing with consultants who today do not provide an 'end-to-end' solution, so to say, to the development problems plaguing these enterprise companies.
But it is mighty difficult to do this kind of niche work because developers will then have to spend an inordinate amount of time acquiring relevant domain knowledge to implement these niche solutions. Hard earned knowledge that will be useless after the project is complete. And the effort of acquiring this domain knowledge will often be under-appreciated and underpaid, cause it is very very difficult to estimate this effort no matter how good an AI have you.
Look at it from the other side. If a designer were to suggest some of the more fundamental changes to how your product should work, would you genuinely listen to their opinions and suggestions, or are these critical decisions being taken by someone higher up in management?
Designers are often pushed into the rear end of the process in every sort of consumer product development (including software development). It is no wonder therefore that we end up with not only ugly but often unusable products. Big opportunities all around for a company that brings good design and better designers to the forefront of product development.
But it is just too damn hard for most people to let go of their ego where design is concerned. The whole design thing looks so intuitive and apparent right from the start that we can't believe we can't do it all ourselves, and, not only that, do it better that everybody else.
Proposing fundamental product changes takes solid grasp of what is called "product architecture" in the article, i.e. precise understanding of the concepts involved and the intricacies of their interaction. That means becoming a domain expert, knowing how to work with analytics and maybe even having a basic understanding of backend architecture. Most of the designers I have worked with (admittedly a very small sample) were content with muddled understanding from the point of view of casual user and so mostly drew pretty pictures.
I would agree. It gets difficult sometimes to implement a design from a beautiful looking mockup. Mainly because the design does not take into account most of the software use-cases. Then we go back to the drawing board again.
Which is sort of why I think designer who can implement design (in HTML/CSS/JS or iOS/Android) is ideal, as they are much more likely to have that sort of "product architecture" thought process; and being as closed as possible to the code which means it becomes easier to adapt the design.
Personally like Ryan Singer's approach to designing as he jumps back and fourth between HTML and Photoshop (https://vimeo.com/16814487), the design gets much closer to reality.
> Proposing fundamental product changes takes solid grasp of what is called "product architecture" in the article, i.e. precise understanding of the concepts involved and the intricacies of their interaction.
That's exactly the point. Assuming your product will be used by humans, a designer (a real designer; not a dribbbler pixel-pusher) is way better equipped - in terms of methods for understanding users and context - than a engineer or a manager.
In my experience, designers are clueless obstructionists. They take months to mull over trivialities, then finally come up with an obvious solution that anybody could have seen from the start. Maybe I just got some bad designers though.
Being a professional coder who is now studying design one thing I've discovered is that most people underestimate the scope of good design and seem to want to narrow the designer just down the prett visuals, discounting anything unseen (eg process).
Another difficulty is that much good design is obvious in hindsight, think iPad but the act of whittling away what is unimportant is a key part of the job.
Or yeah maybe you've just dealt with poor designers.
That Apple was ever good at design was probably the relative side effect of other software and hardware developers being abysmally bad at it (probably due to monopolistic inefficiencies). And now that the competition is heating up and challenging Apple on the design front, the flaws that earlier would have been swept under the carpet by ardent fans, including me, are becoming difficult to disregard.
Uh, no. It's because they valued design highly, made it an indispensable part of their company, hired great designers, and gave designers like Jony Ive extraordinary power to shape products.
BTW, what flaws, precisely, have now magically become "difficult to disregard", but were entirely invisible before? Just a couple examples will do.
> The further down in the software hierarchy that you push the complexity, the less work has to be done by everybody above.
This. From the interview[1]. I think this is the most important takeaway for people building software. An inherent assumption here is that the deeper layers in the software undergo less changes and iterations compared to the outer layers. This may not always be the case, but it often is.
Browsing Facebook, or for that matter any other similar network (including HN :)), is like anti-meditation. They rattle your mind with so much information in such quick succession that it becomes almost impossible to think through or about any one particular thing. Like alcohol, it is simultaneously addictive – the mind craves information – and depressing – numbs the mind preventing it from engaging in deep rational thought.
I think we can have the best of both worlds – enjoy our whiskey and discuss philosophy too :) I think there is a future for a social network that can slow things down a little, maybe also summarize, organize and filter an apparently disparate group of things, allowing the user enough time to digest and process the information before moving ahead in leisure.
Great metaphor, but I think smartness is something even lesser than a torch. Creativity, it seems, is the torch that helps you find the right wedge. Smartness is probably what tells you to look for a wedge in the first place.
In today’s tech environment, you have to be a fickle programmer to get yourself hired. With age however most people learn just the opposite - to be less fickle and more focused.
I think that the current complaints about age-discrimination, apparent and false though they may be, indicate a misguided but passing phase that the industry is going through. People are hedging with trivial ideas and products, hoping they will stick. These guys built a CAD product on the cloud called Onshape, check out their engineering team - https://www.onshape.com/team
Cleartax has done an amazing job, really. I filed my last two returns using Cleartax and everything went without a hitch. Even when the system fails to parse the Form-16 correctly it is easy enough to just manually enter the data, save it, come back to it later and complete filing the returns. I have had a harder time filing tax returns with TurboTax, though that was a while back. Cleartax kept sending me repeated email reminders to complete the filing process even after it was already complete, so there's a bug somewhere :) but otherwise kudos to Archit and the rest of the team.
Hell, I am ready to join their efforts, if only they would have a grumpy old guy like me on the team :)
There is nothing inherently wrong with complexity. Complex things can be made to appear simple, usable and open too. It is just that, when it comes to software, we haven’t yet figured out a way of building complex systems that are beautiful (in a very broad sense of the term). Whenever we try to create anything complex in software it inevitably turns into a mess.
Also software engineering sounds unglamorous today and research in the field seems to have stalled. And therefore the craving for the simplicity of the Unix philosophy. Not that the Unix way of working actually solves the problems posed by software complexity, it just asks us to avoid complexity.