Categories
Ogólne

Jesteś programistką/ą

Wpis [part not set] z 4 w serii Motywacja

Wait, what?

Prawdopodobnie ukończyłaś/eś lub jesteś w trakie studiów budowlanych. Pozycjonujesz się jako inżynier budownictwa i dokładnie tak zawodowo widzi Cię Twoje otoczenie.

Eurokody, kosztorysy, WZ-tki, umowy, rzuty, przekroje, IFC’ki – to Twój chleb powszedni. Związek powyższych haseł z programowaniem wydaje się być równie odległy co Mars.

I tak dochodzimy do mojego rozumienia słowa “programista”, które zauważ, pozbawione jest doprecyzowania, wskazania jakiego języka używasz, czy zajmujesz się stroną wizualną czy logiką aplikacji.

Dla mnie programista to ktoś, kto potrafi rozwiązać lub znaleźć rozwiązanie problemu, kto jest w stanie zamienić ludzkie czynności na zbiór precyzyjnych instrukcji, kto potrafi zalgorytmizować problem.

Przypomnij sobie Twoje studia, spójrz na swoją pracę, niemal zawsze tworzysz lub wykorzystujesz reguły, algorytmy. Prześledź proszę niniejsze sytuacje:

  • dostajesz wstępną geometrię obiektu, zakładane obciążenia, uwarunkowania środowiskowe. Po wykonaniu n-kroków wiesz jakie przekroje elementów są niezbędne, jaka klasa stali/betonu będzie odpowiednia, ile prętów trzeba włożyć w przekrój, żeby uniknąć scenariusza ‘Andrzej, to je*’,
  • dostajesz wstępną dokumentację obiektu, wyłuskujesz z niej przyjęte gabaryty elementów, dopytujesz o szczegóły, zliczasz elementy, kalkulujesz za ile warto by wejść w ten temat.

Projekt po projekcie – podążasz podobnymi torami, na pewnym poziomie abstrakcji byłbyś w stanie wydzielić zasadnicze czynności, które są niezbędne do zakończenia zadania, jesteś w stanie zalgorytmizować Twój problem.

Prawdopodobnie robisz to w języku ‘ludzkim’, opowiadając Twoim nowym kolegom/koleżankom na czym polega praca, konsultując ze starszymi wyjadaczami czy podjęte przez Ciebie działania są odpowiednie. Tylko czy aby na pewno robisz to wyłącznie w języku ‘ludzkim’?

Excel

Porównaj proszę zestaw pustych komórek, które wyświetlają się po utworzeniu nowego pliku Excela z Twoim najbardziej zaawansowanym arkuszem do obliczeń/kosztorysowania. Ździebko inne, prawda? 🙂

Według mnie aktywne korzystanie z Excela jest pierwszym wyznacznikiem, że nadajesz się na programistę. Skoro na pewnym etapie doszedłeś do wniosku, że warto przenieść ręczne obliczenia porozrzucane na kilku kartkach A4 połączonych Twoim studenckim kalkulatorem Casio w ramy ustrukturyzowanego arkusza obliczeniowego to potrafisz algorytmizować problemy.

Aha, nie przejmuj się, że Twój arkusz potrafisz zrozumieć tylko Ty. Efekty pracy początkującego programisty zazwyczaj też takie są. Dopiero praca zespołowa niejako przymusza nas do wyjścia poza ramy własnych skojarzeń/przyzwyczajeń na rzecz dobrych praktyk.

Mathcad/SMath/Scilab/Matlab

Czyli zestaw mniej popularnych narzędzi, które jednak pojawiają się w różnych firmach budowlanych. Do jednego worka wrzuciłem całą rodzinę programów, jednak jeżeli miałeś/masz okazję pracować w którymkolwiek z nich to jesteś już o krok od wkroczenia na ścieżkę programisty. Każde z nich służy do instruowania procesora w Twoim komputerze jak powinny zostać wykonane obliczenia lub w jaki sposób mają zostać zaprezentowane ich wyniki.

W świecie idealnym powyższe programy powinny służyć do szybkiego prototypowania nowych pomysłów, algorytmów. Sprawny inżynier może z ich pomocą w stosunkowo krótkim czasie sprawdzić sensowność nowej koncepcji. Po pozytywnej pierwszej fazie warto zastanowić się co dalej, jedną z możliwości jest przejście na właściwe programowanie z wykorzystaniem jednego z dostępnych języków.

Grasshopper/Dynamo

Programowanie wizualne to stale rosnący trend ostatnich lat. Żeby zrozumieć fenomen tego podejścia polecam zapoznać się ze Scratch, którego uczą się uczniowe podstawówek.

Niesamowite możliwości testowania, generowania dawniej niemożliwych brył, spinania procesów przy pomocy bloków funkcyjnych – bajka, która w wielu inżynierskich przypadkach wystarczy, jednak w moim odczuciu ma istotne ograniczenia.

Warto odnotować fenomenalną pracę wykonywaną przez Krzysztofa Wojsława, który dzieli się wiedzą związana z Grasshopperem na stronach learngrasshopper.com oraz bimcorner.com. Drugim wartym polecenia źródłem Grasshopperowej wiedzy jest Marcin Woch, który prowadzi bloga: bimdigitz.com

Jeżeli korzystasz już z powyższych narzędzi to pewnie odczuwasz pewien niedosyt – wtedy świetnym krokiem jest wejście w ‘prawdziwe’ programowanie. Algorytmizować problem już potrafisz 🙂

Categories
Ogólne

Plany

Wpis [part not set] z 4 w serii Motywacja

W poprzednim wpisie opisałem motywacje, które skłoniły mnie do założenia społeczności Let’s construct IT. W tym wątku chcę przedstawić jakie plany chcę zrealizować w początkowym okresie.

Początkujący

Przez 8 lat pracowałem w różnych firmach około-budowlanych. W każdej z nich spotkałem się z osobami, które chciały wejść w świat programowania. Zawsze padał zestaw pytań: jak/kiedy/czy się nadaję? Pula wolnego czasu jakim dysponujemy maleje wraz z kolejnymi etapami życia. Posiadanie partnera czy narodziny dziecka to momenty reorganizujące nasze życie. Droga do programowania studenta-lekkoducha będzie zupełnie inna niż matki z trójką dzieci. W moim odczuciu kluczem do sukcesu jest stopniowe przekształcanie obecnego źródła dochodu w nowe – dlatego droga dla początkujących, którą będę prezentował będzie związana z codzienną pracą inżyniera budownictwa. W ten sposób dostarczysz w Twoim obecnym miejscu pracy nową wartość, zyskasz nowe kompetencje, które są obecnie cenne a które w przyszłości mogą stać się dla Ciebie trampoliną do nowego startu w innej branży.

Z myślą o początkujących chcę:

  • przekonać Cię, że już jesteś programistą,
  • pomóc w postawieniu pierwszych kroków w C#,
  • nakierować na wartościowe, darmowe kursy skupiające się na podstawach programowania,
  • wejść z Tobą w świat rozszerzania możliwości programów, z których korzystasz na co dzień: wszelkich CADów, Tekla Structures, Autodesk Robot, AxisVM,
  • zachęcić do założenia konta i współdziałania w ramach github.com,
  • przedstawić rolę testowania w programowaniu.

Zaawansowani

Jesteś “budowlano-programistą”, tworzysz programy/wtyczki na wewnętrzny użytek Twojego biura. Zastanawiasz się co dalej, szukasz wyzwań lub uznania i zrozumienia wśród podobnych Tobie. Wierzę, że prędzej czy później usłyszysz o naszej społeczności i z zainteresowaniem sprawdzisz nad czym pracujemy. Być może włączysz się wtedy w repozytoria poświęcone nowym narzędziom lub pozostaniesz w trybie pasywnym – skorzystasz z owoców naszej pracy do rozwoju wewnętrznych narzędzi w Twoim biurze. Let’s construct IT to organizacja non-profit, której głównym motorem jest zwiększenie grona osób, które rozumieją budownictwo i potrafią programować. Będzie mi bardzo miło, jeżeli włączysz się w te działania 🙂

Co możesz zyskać:

  • poznasz innych budowlano-programistów, co otworzy przed Tobą nowe możliwości,
  • biorąc udział w pracach w ramach repozytoriów na github’ie zbudujesz swój profil w ramach tej strony, który będzie Twoją wizytówką,
  • wykorzystasz narzędzia/biblioteki nad którymi będziemy pracować w Twoim biurze projektowym. Zdajesz już sobie sprawę jak przyjemnie jest sklejać różne biblioteki w celu uzyskania pożądanego celu. Pomyśl, że mógłbyś pobrać jako paczkę nugetową bibliotekę pokrywającą podstawowe obliczenia wytrzymałościowe w ramach EC2/EC3. Czujesz tę moc, prawda?

Obserwatorzy

Jesteś menadżerem zarządzającym zespołem inżynierów, nie masz czasu ani ochoty na naukę programowania. Czujesz jednak, że świat Ci odjeżdża, że to całe BIM’banie nie przynosi obiecanych przez marketing korzyści, że bez cyfryzacji procesów/ludzi Twój zespół pozostanie w tyle.

Możesz zachęcić ambitnych członków Twojego zespołu do włączenia się do prac społeczności Let’s construct IT licząc, że efekty ich pracy, wzrost umiejętności przełoży się na efektywność całego zespołu. Jednocześnie z tyłu głowy zdajesz sobie sprawę z ryzyka, że oni odejdą, że przejdą do IT. To oczywiście możliwe, ale jeżeli uczynisz z nich atut, Twoją kartę przetargową i będziesz stale motywował do rozwoju to uwierz mi – zaległości w budownictwie są tak duże, że dla dobrze poprowadzonych programistów pracy wystarczy tu na lata.

Społeczność ma charakter jawny – jesteśmy zawsze otwarci na nowe pomysły i wyzwania. Jeżeli masz gotowy koncept narzędzia, które wspomoże pracę Twojego zespołu a nie masz na pokładzie osób będących w stanie go zaimplemenotwać – zgłoś się do nas. Pamiętaj tylko, że efekty naszej pracy zwiększą powszechny zasób bibliotek społeczności – korzystać z nich będzie mógł każdy. Celem Let’s construct IT jest poprawa dobrostanu całej społeczności inżynierów czego nie da się zrealizować bez dobrych pomysłów na narzędzia/wtyczki.

Categories
Ogólne

Wstęp

Wpis [part not set] z 4 w serii Motywacja

Kim jestem

Cześć! Mam na imię Grzesiek 🙂

W 2014 roku skończyłem budownictwo na Politechnice Poznańskiej. Przez 8 lat starałem się odnaleźć swoje miejsce na styku budownictwa i IT. W kolejnych firmach chciałem być motorem zmian, informatyzacji branży, usprawnień i ułatwień. Wielokrotnie zmagałem się z obawami, z chęcia pozostania przy status quo. W tym czasie miałem okazję tworzyć i rozwijać programy wykorzystujące API m.in. Tekli, wszelkich CAD’ów, Autodesk Robot, AxisVM.

Obecnie pracuję jako programista C#, bez powiązań z formalnym wykształceniem, które uzyskałem. Wielokrotnie odwlekałem decyzję o zmianie branży, tłumacząc sobie, że budownictwo musi przyspieszyć, że algorytmy już lada moment wyprą ‘palec boży’ projektanta, jego magiczną moc zawartą w zdobytych w trudzie uprawnieniach. Zmieniłem branżę z poczuciem porażki, że nie udało mi się trwale odcisnąć piętna na rzeczywistości, że mój wpływ był zawsze zbyt mały w stosunku do własnych oczekiwań.

Dlaczego mi się nie udało? Czy chciałem zbyt wiele czy trafiałem na złe miejsce/zły czas? To pytania bez jednoznacznej odpowiedzi, które są wygodnym powodem do odpuszczenia, do stwierdzenia ‘szkoda zdrowia, lepiej skupić się na czymś innym’. Tylko, że ja tak nie potrafię. Męczy mnie dramatyczny rozjazd pomiędzy szansami absolwentów budownictwa a informatyki. Fakt, że wybór podejmowany w dobrej wierze przez nieświadomego nastolatka skutkuje 5-krotną różnicą zarobków jest dla mnie trudny do pogodzenia.

Moja motywacja

Dlatego zdecydowałem się na rozpoczęcie tego bloga. Chcę dać Ci szansę na zdobycie nowych umiejętności, na poznanie świata IT, na nauczenie się podstaw programowania w kontekście Twojej codziennej pracy, tego co już znasz, na poprawienie pozycji na rynku pracy – niezależnie czy wykorzystasz nowe skille w budownictwie czy zdecydujesz się na zmianę branży.

Co ja z tego będę miał? Miliony monet płynące z wyświetlanych reklam… Żart, robię to non-profit. Uważam, że w budownictwie, zwłaszcza w polskim budownictwie niezbędne są zmiany, przede wszystkim w sposobie myślenia i umiejętnościach nowoczesnych inżynierów. Pozostawienie informatyzacji branży w rękach ‘zaciężnych hufców’ nie mających wiedzy budowlanej jest wg mnie utraconą szansą na Twój rozwój, na wykorzystanie tego co już znasz, na zbudowanie na fundamencie Twojej wiedzy solidnej konstrukcji będącej przejawem modernizacji branży.

Tak, wiem – jestem marzycielem 😛

Twoja motywacja

Zakładam dwa bazowe scenariusze:

  • zdałeś sobie sprawę, że nie da się klikać szybciej, a oczekiwanie na zmiany wprowadzane przez producentów oprogramowania to nie do końca pewna ścieżka. Wiesz, że ktoś, gdzieś tworzy jakieś nakładki/wtyczki do Twojego zestawu programów budowlanych i też chciałbyś to robić, ale nie wiesz od czego zacząć,
  • chcesz zmienić branżę, rzucić budowlany trud i znój w cholerę i skorzystać ze stale rosnągeo popytu na usługi IT, gdzie pracy jest dużo, a nowi pracownicy nie pojawiają się w wystarczającym tempie.

Dlaczego Let’s construct IT?

Bo sam nic nie zrobię. Próbowałem tego przez 8 lat, bez satysfakcjonującego efektu. Wola jednostki to zbyt mało aby odmienić oblicze tej branży. Potrzebna jest społeczność, grupa osób której motywacją nie jest wyłącznie interes ich macierzystych firm, ale przede wszystkim samorozwój realizowany w pracy zespołowej.

Chcę pokazać Ci jak wejść w ‘budowlane programowanie’, jakie możliwości kryją się w API popularnych programów. Wierzę, że z biegiem czasu, gdy nabierzesz umiejętności będziemy w stanie wspólnymi siłami tworzyć darmowe, open-source’owe wtyczki do znanych Ci programów jak i samodzielne aplikacje, które będa wspomagały codzienną pracę inżynierów budownictwa.

Na koniec przydałaby się jakaś odezwa, więc cytując klasyka: “teraz, choć Was nie słyszę, krzyczę Let’s construct IT!”.