1) Farsa na aplikacje biznesowe :
Myślę, że cała frameworka „Enterprise” to dym i lustra. J2EE, .NET, większość frameworków Apache i większość abstrakcji do zarządzania takimi rzeczami powoduje znacznie większą złożoność niż rozwiązują.
Weź zwykłą platformę Java lub .NET ORM, lub dowolną podobno nowoczesną platformę MVC, która albo „magia” rozwiązuje żmudne, proste zadania. W końcu piszesz ogromne ilości brzydkiego bojlera XML, który jest trudny do sprawdzenia i szybkiego napisania. Masz masywne interfejsy API, z których połowa ma tylko zintegrować pracę z innymi interfejsami API, interfejsy, których nie można odtworzyć, oraz abstrakcyjne klasy, które są potrzebne tylko w celu przezwyciężenia nieelastyczności Java i C #. Po prostu nie potrzebujemy większości tego.
Co powiesz na wszystkie różne serwery aplikacji z własną składnią deskryptorów, zbyt złożone bazy danych i produkty do pracy grupowej?
Nie chodzi o to, że złożoność == zła, to ta niepotrzebna złożoność == zła. Pracowałem w ogromnych instalacjach dla przedsiębiorstw, w których część z nich była konieczna, ale nawet w większości przypadków kilka domowych skryptów i prosta nakładka internetowa to wszystko, co jest potrzebne do rozwiązania większości przypadków użycia.
Spróbuję zastąpić wszystkie te aplikacje dla przedsiębiorstw prostymi strukturami sieciowymi, bazami danych open source i trywialnymi konstrukcjami programistycznymi.
2) Wymagane n-letnie doświadczenie:
O ile nie potrzebujesz konsultanta lub technika do obsługi konkretnego problemu związanego z aplikacją, interfejsem API lub platformą, to tak naprawdę nie potrzebujesz osoby z 5-letnim doświadczeniem w tej aplikacji. Potrzebny jest programista / administrator, który potrafi czytać dokumentację, ma wiedzę domenową na temat wszystkiego, co robisz i potrafi szybko się uczyć. Jeśli musisz się uczyć w jakimś języku, porządny programista to zrozumie za niecałe 2 miesiące. Jeśli potrzebujesz administratora serwera X, za dwa dni powinien on przeczytać strony podręcznika i grupy dyskusyjne i być na bieżąco. Cokolwiek mniej, a ta osoba nie jest warta tego, co otrzymuje.
3) Wspólny program studiów „informatyka”:
Większość stopni informatyki i inżynierii oprogramowania to byki. Jeśli twoim pierwszym językiem programowania jest Java lub C #, oznacza to, że robisz coś złego. Jeśli nie dostaniesz kilku kursów pełnych algebry i matematyki, to źle. Jeśli nie zagłębisz się w programowanie funkcjonalne, jest ono niekompletne. Jeśli nie możesz zastosować niezmienników pętli do trywialnej pętli for, nie jesteś wart swojej soli jako rzekomy informatyk. Jeśli masz doświadczenie w posługiwaniu się językami X i Y oraz orientacją obiektową, jest ono pełne s ***. Prawdziwy informatyk postrzega język w kategoriach stosowanych pojęć i składni, a także metodologie programowania jako jedną z wielu, i tak dobrze rozumie leżące u podstaw filozofie, że wybór nowych języków, metod projektowania lub języków specyfikacji powinien bądź trywialny.