Programiści, czas na Development 2.0!

Słowo do profesjonalnych deweloperów: waszą pracę wykonują niewyszkoleni neofici, ale wciąż macie sporo do zrobienia” – takie było przesłanie Todda Fasta, głównego architekta Java Enterprise w firmie Sun Microsystems, który w swoim wystąpieniu w trakcie konferencji JavaOne zredefiniował pojęcie programisty.

Coraz krótszy czas życia aplikacji i – jak to określił Fast – przypadkowi programiści, biorący się za tworzenie oprogramowania, to dwa powody, dla których kariera dewelopera będzie się powoli przesuwała w kierunku autorstwa platform, a nie aplikacji. Podczas prezentacji zatytułowanej „Aplikacje dla mas tworzone przez masy: dlaczego inżynierowie to gatunek zagrożony” Todd Fast przedstawił trzy zasadnicze tezy:

* inżynierowie oprogramowania staną się gatunkiem ginącym,
* licealiści i studenci przejmą pracę inżynierów,
* deweloperzy nie powinni się martwić, bo i tak mają dużo pracy.

Fakt, że studenci przejmują proces tworzenia software’u, jest – jak mówi Fast – „nieco przerażający”. Utrzymując swoje wystąpienie w takim nieco beztroskim charakterze, powiedział, że deweloperzy są osobami o ponadprzeciętnej inteligencji, nie ubierają się dobrze i lubią dziwne rzeczy, np. Monty Pythona. „Jako inżynierowie oprogramowania jesteśmy na krawędzi krzywej populacyjnej” – dodał.

Na przykładzie serwisów społecznościowych i Web 2.0 pokazywał, jak osoby niemające formalnego wykształcenia w tym kierunku tworzą aplikacje. Właściwie przypadkowe osoby mogą, używając np. szablonów w PHP, eksperymentować z blogami, źródłami RSS, na MySpace czy Facebooku. – „To jest dla nich normalne” – mówi Fast. I osoby te budują kolejną generację Sieci, co wcale nie jest złe, bo „nie ma nas dostatecznie dużo, żebyśmy byli w stanie przygotowywać to wszystko, czego ludzie chcą” – dodaje.

Tradycyjna perspektywa tworzenia aplikacji oznacza, że wymaga to czasu, jest trudną sztuką i ma przynieść rozwiązanie konkretnych problemów na dłuższy czas, więc tylko wykwalifikowani specjaliści mogą się podjąć tego wyzwania. Na przykład za pomocą Javy można sobie radzić ze skomplikowanymi zadaniami, ale też złożoność tego języka jest duża. Tymczasem dzisiejsze aplikacje mają krótkie życie i są potrzebne niemalże od ręki. Popularność różnego rodzaju widgetów, mashupów czy aplikacji związanych z serwisami społecznościowymi jest tego najlepszym dowodem. – „Zmienia się definicja aplikacji i zmienia się percepcja aplikacji” – mówi inżynier z Suna. – „Aplikacja to kawałek software’u, który pomaga użytkownikowi rozwiązać konkretny problem” – dodaje.

Metamorfoza dotyczy też sposobu powstawania aplikacji. Niekoniecznie trzeba używać różnych IDE i systemu kontroli wersji. Zamiast tego wystarczy Notatnik. – „Programiści będą zajmowali się tworzeniem platform, na których inni będą konstruowali aplikacje, wzbogacając w ten sposób Sieć” – mówi Todd Fast. Właściwie można zacząć mówić o erze Development 2.0, w której inżynierowie oprogramowania będą jedynie dostarczali narzędzi osobom piszącym aplikacje.

Todd Fast zaakcentował jeszcze jeden fakt: wartość aplikacji zaczyna być mierzona nie ilością czasu poświęconą na jej powstanie, ale liczbą użytkowników, którzy z niej korzystają – np. gra Zombie w Facebooku każdego dnia w październiku ubiegłego roku była uruchamiana przez 250 tysięcy osób, a program został napisany dla zabawy przez jedną osobę! Fast zakończył mocnym akcentem: „Widget Slide ma pięć milionów użytkowników. Nigdy w życiu nie napisałem programu, który miałby taką widownię”.

Osoby uczestniczące w wystąpieniu Todda Fasta przyznawały mu rację, że rola deweloperów się zmienia. Uznano to za pozytywny trend, bo pisanie własnych aplikacji wciąga ludzi do współpracy. Uczestnicy nie zgadzali się jednak z tezą, że to wszystko wydarzy się w ciągu dwóch lat i wskazywali raczej horyzont rzędu 10–15 lat.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar 4ntyk
    4ntyk

    Okres dwoch lat to faktycznie ciut za malo na tak duzy 'przelom', szczegolnie ze wedlug mnie zdecydowana wiekszosc tych 'malutkich' programow i tak pisana jest przez ludzi z branzy. Zeby tworzeniem widgetow zajely sie masy to potrzebna jest zmiana mentalnosci, a nie stworzenie kolejnego 'prostego' API czy strasznie przystepnego IDE. Sam jestem, jak to Fast okreslil, przypadkowym programista i wiem ze wiekszosc ludzi i tak nie chce przegrzebywac sie przez dokumentacje nawet jezeli ma tylko trzy strony A4 – albo wymysla urzadzenie, ze sie pomysli i jest albo ludzie beda czekac na widget'y ktore zapelniaja luke miedzy duzymi, wyszukanymi rozwiazaniami spod inzynierskich paluchow a pustka :PP
    Jeszcze aspekt mierzenia wartosci aplikacji – czas powstania przeklada sie bezposrednio na liczbe uzytkownikow (w zdecydowaniej wiekszosci przypadkow), tak ze tutaj cos sie nie zgadza 😉

    1. Awatar Budyń
      Budyń

      Pff… zawsze tak bylo, że tworzył się podział na masy i elity.
      Ktoś w końcu musi pisać kompilatory, IDE, oprogramowanie dla routerów i reszty sprzętu który trzyma ten biznes przy życiu. Tam będzie miejsce dla inżynierów; natomaist amatorzy sobie będą robić coraz więcej, korzystając z większych możliwości.

      Martwi tylko to, że niektórzy uważają że świat i programowanie kończy na na "łidżetach" i "ceemesach"..

      1. Awatar sprae
        sprae

        Jeśli chodzi ci o wyrobników korporacyjnych to tak. Tam ich rola się kończy.
        Dalej jest Web czyli jedno z większych źródeł dochodów we współczesnej informatyce.
        Łapy na tym źródle (jak na każdym w epoce rozwoju) trzymają ludzie kreatywni, którzy biorą los we własne ręce.
        WWW dziś jest tym czym były fabryki w XIXw. Wszystko rozbijało się o "masz pomysł? – realizuj!". Jak się nie uda, będzie następny.

  2. Awatar hhrtdg
    hhrtdg

    Człowiek dopiero teraz zrozumiał sens "The Cathedral and the Bazaar".
    Lepiej późno niż wcale.

  3. Awatar sprae
    sprae

    Z tego co zrozumiałem:
    SUN: panujemy nad trendami w informatyce, wiemy czego potrzebują twórcy oprogramowania, szanujemy ich i rozumiemy.
    W DOMYŚLE: Przez ostatnie 10 lat promowaliśmy naszą nabzdyczoną Javę, której utrzymanie jest dość drogie, a utrzymanie zespołu jej programistów jeszcze droższe. Przez ten okres wykształciła się grupa lekkich prostych języków dynamicznych w których byle fascynat informatyki tworzy poważne rzeczy niskim kosztem w krótkim czasie. Hosting tych języków jest banalnie tani. Zemsta geeków nieudana.
    CO ZROBIMY: Sportujemy te proste rozwiązania na naszą nabzdyczoną Javę, przecież nic innego nie mamy. Za 5 lat osiągniemy nasz cel [to co dziś każdy ma od ręki w LAMP i innych takich].

    1. Awatar ris
      ris

      Może było by i to prawdą ale jest jeden problem Sun wspiera LAMP i Ruby 🙂

  4. Awatar wit3k
    wit3k

    Strasznie MSowaty sposób myślenia reprezentuje pan Todd. Nie lubię strasznie kiedy ktoś wyciąga dość oczywiste fakty zachodzące na skalę globalną i łączy ją ze swoim lokalnym działaniem.
    Wszyscy się zgodzimy z nim że studenci (czyli ja ;p) zajmują pewną niszę, a ci bardziej doświadczeni są w sposób oczywisty nieco wyżej i często i gęsto studenciny korzystają z ich pracy bo rozwój to nie tylko bierząca implementacja, ale i tworzenie jakiegoś tam środowiska. Tych samych argumentów można urzyć przy promocji rubiego, albo phpa.
    Nie można zapominać tutaj o GPLu który dosyć mocno przyczynił się do tego stanu rzeczy. Wyobraźcie sobie świat bez GPLa. MS i Sun pobierają licencję za prawo do pisania z urzyciem ich języków – tak jak teraz robią to twórcy wielu frameworków. Nie było by tak znacznego podziału na pospulstwo i tych którzy tworzą rozwiązania do tworzenia nowych rozwiązań. Perspektywa wykładania dużych środków za prawo do startu na rynky nie jest dość zachęcająca. Szczególnie że "małe polaczki" zostały by prawdopodobnie zdominowane przez usańskie firemki z większym kapitałem.

  5. Awatar krzy
    krzy

    Ten pan jest niedouczony.

    Kiedyś, na prezentacji dotyczącej elektroniki, widziałem fajny slajd. Była tam taka piramidka. Nie pamiętam dokładnie, ale sposób opisania poszczególnych warstw był mniej więcej taki:

    – materiały (szczyt)
    – technologia
    – systemy
    – aplikacje
    – produkty (dół)

    Każdy poziom opatrzony był liczbą oznaczającą światową wielkość danego rynku. Stosunek między dwoma kolejnymi był na poziomie ok. 10:1. Inaczej mówiąc, wielkość rynku produktów do materiałów była na poziomie 10000:1. Liczb oczywiście nie pamiętam 🙂 ale sens był właśnie taki.

    Jaki stąd wniosek? Dokładnie przeciwny do wypowiedzi tego pana, bo rynek informatyczny ma taką samą właściwość. Końcowy odbiorca nie potrzebuje frameworków (=systemów), tylko produktów rozwiązujących konkretne potrzeby. Użytkownika nie intesuje w czym jest napisane to, co on zamawia, byle działało. Co więcej, moim zdaniem to właśnie programiści frameworków są narażeni na wyginięcie, bo framework, aby był opłacalny, musi być bazą do tysięcy aplikacji podczas, podczas gdy droga "pionowa" aplikacja potrafi być opłacalna już wtedy gdy ma pojedynczych użytkowników.

    Twierdzenie tego pana, że dzięki frameworkom oprogramowanie napisze się samo, jest równie naiwne, co twierdzenie, że dzięki open source oprogramowanie napisze się samo. Pomijając już w ogóle milczeniem kwestię jakości takiego studenckiego oprogramowania.

    1. Awatar Pablo
      Pablo

      Nie można pominąć kwestii ceny takiego programowania ;-D.
      I mnie się raczej wydaje że Toddowi chodziło o to samo, a nie o coś przeciwnego. Mas jest dużo, elit mało.

      1. Awatar kell99
        kell99

        Dla mnie to cale 'nowoczesne, latwe i przyjemne' tworzenie oprogramowania to jeden wielki marketingowy BS ktory ma pokazac potencjalnym klientom jakie to niby proste jest tworzenie oprogramowania. Dla programisty jest to czesto jeden wielki bol glowy.
        Moim ulubionym przykladem jest twor (a moze raczej 'potwor') SAP CRM2007. Na roznych prezentacjach pokazuje ze klient moze sobie dowolnie 'wyklikac' oprogramowanie do wlasnych potrzeb. Calosc niby obiektowa (ale tylko na wierzchu), pozornie ladne modele danych (ktore nijak da sie rozszerzyc) i calosc zorientowana na web ui (powolne i o ograniczonych mozliwosciach).

        Jedyne co sie moge zgodzic to argument o studentach i stazystach tworzacych oprogramowanie. Patrzac na nowe API wlasnie mysle, ze bylo tworzone przez grupke stazystow ktorymi nikt nie kierowal (toporne i czesto pozbawione logiki API, paskudny kod, w ktorym czesto uzywane sa rozne metody z roznych klas by osiagnac dokadnie ten sam efekt).

        A programista? Programista czuje sie ograniczony przez mase kreatorow i klikanych rzeczy, tak, ze zrobienie czegos nieszablonowego jest bardzo czasochlonne i wymaga przepisania masy kodu.

  6. Awatar pudlo
    pudlo

    A mnie się wydaje, że pan Tod przechodzi właśnie kryzys wieku średniego i boi się, że wygryzą go młodzi twórczy studenci.

    Ciekawe kto mu dał prawo oceny jakości studenckiej roboty. Niejednokrotnie są to naprawdę świetne rzeczy pisane przez pasjonata po nocach. Dużo lepsze niż pisane przez leniwych "geniuszów" pod przymusem project menagerów.

    Proces powstawania oprogramowania w korporacji to rozdmuchana papierologia, a produkty zbudowane za jej pomocą nigdy nie osiągają założonej funkcjonalności. Ale inżyniersko rzecz biorąc są piękne 🙂

    1. Awatar dPeS
      dPeS

      > Ciekawe kto mu dał prawo oceny jakości studenckiej roboty. Niejednokrotnie są to naprawdę świetne rzeczy pisane przez pasjonata po nocach. Dużo lepsze niż pisane przez leniwych “geniuszów” pod przymusem project menagerów.

      z tego co napisales wynika ze doswiadczenie nie uczy! prawda jest taka ze zdecydowana wiekszosc studentow it rok po obronie mgr w zyciu nie pochwali sie kodem swojego projektu z okresu studiow (o ile nie byla to czesc wiekszego projektu naukowego z ktorego byly jakies granty np)

      1. Awatar pudlo
        pudlo

        Z tego co napisałeś student zaczyna programować na pierwszych zajęciach z programowania, a wcześniej to nie.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *