Świetny lunch i nauka tematów [zamknięte]

15

Niedawno ożywiłem lunch w nauce dla działu programowania w firmie, w której pracuję. Wszyscy zapytano nas, czy mamy jakieś pomysły na sesję i czy chcielibyśmy zrobić prezentację. Mam kilka pomysłów, począwszy od różnych tematów, takich jak:

Jak myśleć jak użytkownik podczas projektowania interfejsu użytkownika

lub Różnice w HTML5

Kilku współpracowników rzuciłem te pomysły, aby je polubić. Chciałbym jednak trochę więcej pomysłów, zanim zacznę zbytnio zagłębiać się w tworzenie prezentacji.

Jakie są świetne lunche i ucz się tematów?

Kevin Wiskia
źródło
4
Kod spaghetti ??! [najlepiej odsłonić we włoskiej restauracji]
mlvljr
2
@mlvljr: Mam tendencję do rzucania laptopem w ścianę, aby sprawdzić, czy będzie się trzymać, gdy skończę kodować
sova
+1 za przydatność. Z niecierpliwością czekam na sporządzenie listy na podstawie tego pytania po otrzymaniu kolejnych odpowiedzi.
Tim Post

Odpowiedzi:

13

Niektóre ogólne:

  • Rozwój oparty na testach
  • Debugowanie w [IDE z wyboru] (możesz także wrzucić debugowanie zdalne lub zwirtualizowane)
  • Co nowego w najnowszej wersji (może to być IDE, system baz danych, cokolwiek)
  • Wzorce projektowe
  • Czynniki bezpieczeństwa w [wybranej technologii]
  • Czynniki wydajności w [wybranej technologii]
  • Kontynuacje i zamknięcia (czytałem fantastyczną serię Erica Lipperta na ten temat)
  • Omówienie [nowego języka lub wybranej technologii]

Pamiętaj jednak, że nie musisz wybierać tematów ogólnych, możesz także tworzyć tematy L&L we własnej pracy. Zapewne jest to jeszcze bardziej cenne, ponieważ publiczność może poczuć, co robisz (zamiast zakładać, że wszystko dzieje się za pomocą magii). Na przykład, twój facet od instalacji może zrobić temat na temat tego, jak działa instalacja, twój kierownik ds. Kontroli jakości może zrobić temat na temat przygotowania środowisk testowych, twój facet od kompilacji może zrobić temat na temat procesu kompilacji, a jeśli twój projekt ma ciekawą architekturę, która może nie wszyscy są tego świadomi, więc zróbcie temat na ten temat.

Pamiętaj też, że twoi odbiorcy niekoniecznie składają się wyłącznie z programistów. Mogą tam być również pracownicy QA i kierownicy projektów, więc nie zakładaj, że „Wzory projektowe” nie są prawidłowym tematem, ponieważ każdy musi znać wzorce projektowe.

Oczywiście nie możesz szczegółowo omówić niektórych z nich (na przykład nie przeprowadzaj głębokiej analizy zalet i wad każdego wzorca).

JohnL
źródło
Debugowanie: po prostu powiedz im, że są jakieś błędy w posiłkach i rozpocznij wykład;)
mlvljr
LOL, myślę, że chodzi o to, aby zachęcić ludzi do przyjścia do L&L, a nie ich odstraszyć!
JohnL,
9

Możesz zagrać w „Spot the Defect”.

Przejrzyj dzienniki śledzenia błędów i znajdź miejsca, w których ludzie napisali kod, który był wiarygodny, ale strasznie błędny w jakiś subtelny sposób. Przepisz kod, aby ukryć, skąd pochodzi, ale zachowaj błąd, umieść go na tablicy i poproś ludzi:

  • sprawdzić, czy mogą znaleźć błąd
  • dowiedzieć się, co to jest poprawka
  • opisz, w jaki sposób można było znaleźć błąd podczas przeglądania kodu
  • zaproponuj zmiany w języku lub narzędziu, które zapobiegłyby błędowi
  • i tak dalej.

Neal Gafter i ja opracowaliśmy serię sześciu problemów z „wykryciem usterki” i przedstawiliśmy je publiczności podczas ostatniej konferencji deweloperów w Norwegii; to była świetna zabawa i myślę, że ludzie wiele się nauczyli.

Eric Lippert
źródło
7

Inwersja kontroli i wstrzykiwanie zależności są potężnymi pomysłami, które muszą być znacznie bardziej rozpowszechnione niż obecnie.

Adam Crossland
źródło
1
Pierwszy z nich można doskonale zilustrować, każąc szefowi umyć naczynia później. Chłopaki zapamiętają;)
mlvljr
2
@mlvljr: W rzeczywistości pomysł MKOl polega na tym, że nadal myjesz naczynia, ale teraz szef mówi ci również, jak to zrobić .
peterchen
@peterchen Tak, byłoby dobrze. Menedżer powinien wiedzieć lepiej;)
mlvljr
2

Nigdy nie brałem udziału w L&L, ale wygląda na to, że zasadniczo pracujesz z:

  • coś łatwo przyswajalnego podczas przerwy na lunch
  • coś, co pomoże zainspirować dyskusję i interaktywne opinie

Myślę, że coś takiego jak postawienie pytania „jak myślisz, że robimy X” i ostatecznie ujawnienie obecnej implementacji byłoby interesujące i prowokujące do myślenia dla słuchaczy. Możesz wyodrębnić całe programowanie z równania, aby nawet niekodujący mogli mieć na niego wpływ.

Możesz nawet wyodrębnić skomplikowany problem, przed którym stanęła Twoja firma jako zagadka lub zagadka. Jak gdybyś musiał pracować z kwadratowym kołkiem i okrągłym otworem, a ostatecznie po prostu wyrąbał kwadratowy kołek do okrągłego kształtu - zmieniając standardowe oprogramowanie, aby dopasować je do potrzeb Twojej firmy.

Myślę, że każde wprowadzenie, które zachęca do myślenia technicznego, automatycznie otwiera interesującą rozmowę.

np. optymalizacja czasu / procesu

Jak przyspieszysz obsługę kelnera serwującego ciasta? Podaje kawałek ciasta i czeka, aż osoba skończy. Chwyta talerz i zabiera go do kuchni, a następnie podaje następnej osobie. Jak możesz szybciej zaspokoić głodnych klientów, jeśli nie zależy Ci na gromadzeniu się potraw?

Myślę, że proste metafory opisujące paradygmaty, których używasz w pracy, byłyby świetnym jedzeniem do przemyślenia podczas chrupania kanapki.

sova
źródło
1

Sugeruję zwinne praktyki, takie jak:

  • ciągła integracja
  • programowanie par
  • wstawać na spotkania
  • grzejnik informacyjny
  • planowanie pokera

źródło
1

Przeważnie używamy naszego Lunch and Learns do opisywania nowych technologii, które wychodzą ze stosu oprogramowania, którego obecnie używamy.

Więc obecnie jesteśmy na stosie .NET 3.5 / 4, C #, Visual Studio 2010 itd., Więc robimy lunch i uczymy się na następujące tematy:

  • ASP.NET MVC 3
  • Nu-Get (Menedżer pakietów .NET)
  • itd itd.

Oczywiście Twoja firma może mieć inny stos, ale możesz przyjąć to samo podejście.

To działało dla nas bardzo dobrze, jeśli chodzi o nadążanie za technologią, zwłaszcza, że ​​środowisko ASP.NET MVC i powiązane oprogramowanie rośnie w szybkim tempie.

mkchandler
źródło
1

Lubię rozmowy, w których omawiam historię czegoś, z czym pracuję, zwłaszcza rozmowy, które są na tyle głębokie, że dają mi dodatkowy wgląd w moje „Dlaczego tak jest?”. rodzaj pytań.

Wiele osób, na przykład, nie ma pojęcia, że PHP zaczęło jako prosty zestaw skryptów Perla do zarządzania wiekiem (P) osobowym (H) ome (P).

Jeśli Twoja firma korzysta z wielu bezpłatnych / otwartych programów, istnieje bogata historia do omówienia. Zdziwiłbyś się, ilu ludzi myśli, że Linus Torvalds napisał bash (kiedy w rzeczywistości przeniósł go bardzo wcześnie).

Możesz poszukać i wykopać humorystyczne, interesujące i często pouczające anegdoty na temat prawie każdej technologii, jeśli poświęcisz temu wystarczająco dużo czasu.

Ma to dodatkową zaletę, że obejmuje osoby, które w innym przypadku nie mogłyby uczestniczyć.

Tim Post
źródło
0

W zależności od odbiorców możesz zapoznać się z podstawami i najlepszymi praktykami, takimi jak:

  • OO
  • Zapoznaj się z „Kodem kompletnym” McConnella
  • Pisanie bezpiecznego kodu
  • TDD
  • Wzorce projektowe
Hugo
źródło