Jako freelancer często klienci pytają mnie, co muszą wybrać między podobnymi elementami, z których żaden nie jest lepszy od innego. Przykłady:
„Czy potrzebuję, aby moja strona e-commerce była w PHP lub ASP.NET?”
„Czy muszę hostować tę zwykłą usługę internetową w chmurze, czy korzystać ze zwykłej usługi hostingowej?”
„Który jest lepszy dla mojej nowej witryny: MySQL lub Oracle?”
itp.
Być może istnieje co najwyżej 1% przypadków, w których wybór jest istotny, i istnieje rzeczywisty, obiektywny powód, aby stosować jeden na drugim, na podstawie dokładnych wskaźników i badań. We wszystkich innych przypadkach nie ma to żadnego znaczenia. Jest to całkowicie, zupełnie nieistotne, albo dlatego, że nie ma żadnych implikacji¹, albo ponieważ te implikacje są zbyt małe, aby je wziąć pod uwagę², lub wreszcie, ponieważ nie można przewidzieć tych implikacji³.
Jeśli wiesz jedno, a nie drugie, odpowiedź na te pytania jest łatwa:
„Możesz napisać aplikację w języku C # lub Java, przy czym oba są prawdopodobnie równoważne w twoim przypadku. Zauważ, że jestem programistą C #, więc jeśli wybierzesz Javę, nie będę mógł pracować nad twoim projektem i będziesz musiał znaleźć innego freelancera. ”
Znając obie technologie, nie możesz na to odpowiedzieć.
W takim przypadku, jak wyjaśnić klientowi, że pytanie, które zadaje, podlega flamewarowi i nie ma realnych konsekwencji dla jego projektu?
Innymi słowy, jak wyjaśnić, że wybrałeś jedną technologię zamiast równoważnej z powodów związanych z zasobami ludzkimi, nie sprawiając wrażenia, że jesteś nieprofesjonalny lub nie przejmujesz się projektem?
¹ Przykład: Czy MySQL jest lepszy (gorszy?) Pod względem wydajności, w porównaniu do Oracle, dla osobistej strony internetowej, do której dostęp będzie, och, bądźmy optymistyczni, dwie osoby dziennie?
² Przykład: dla danego projektu zostałem poproszony o ustalenie, czy hosting Windows Azure byłby tańszy niż hosting tej samej aplikacji u znanego dostawcy hostingu ASP.NET. Koszt okazał się dokładnie taki sam.
³ Przykład: klient ma pomysł na przyszłe zastosowanie (sam pomysł jest bardzo niejasny). Nie ma biznesplanu, żadnych wymagań, nic. Po prostu pomysł. Zostaniesz zapytany, czy Java jest lepsza niż C # dla tej aplikacji. Na co odpowiadasz