Czy z wiekiem trudniej utrzymać się w branży?

Czy z wiekiem trudniej utrzymać się w branży?
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 dni
  • Postów:3277
3
Marcin Marcin napisał(a):

@piotrpo: projektowanie dużych aplikacji i rozwiazywanie w nich problemów wydajnościowych wymaga raczej sporej wiedzy i uważam że osoba niedoświadczona tego nie zrobi.

Oczywiście, tylko wracając do tematu wątku, kto ma większe doświadczenie, raczej ten, który pracuje w tym zawodzie kilkanaście lat dłużej.

somekind napisał(a):

Zmieniła się i to bardzo, m.in. z powodów, które sam wymieniasz, takich jak chmura.
Trochę inaczej budowało się monolity niż buduje mikroserwisy.

Trochę wpadliśmy w pułapkę skrajnych opinii nic się nie zmieniło/wszystko się zmieniło. Owszem IT się zmienia, zarówno w odniesieniu do wzorców architektonicznych, jak i chyba jeszcze bardziej w odniesieniu do sposobu pracy. Tylko mając doświadczenie dość prosto daje się podążać za tymi zmianami. Jeżeli ktoś np. rozumie jak działa baza danych, to event sourcing, czy saga stają się dość banalne do zrozumienia, bo to właściwie rozwiązanie tych samych problemów, w ten sam sposób, tylko na poziomie architektury systemu a nie w bebechach bazy danych.

The Pontiff
  • Rejestracja:ponad 4 lata
  • Ostatnio:10 miesięcy
  • Postów:128
2
Marcin Marcin napisał(a):

@The Pontiff:
Nie. Zdecydowanie nie.

Brakuje wiedzy z architektury oprogramowania, pisania testów, zarządzania jakością, wydajności (jak mówimy o C++) oraz zarządzania projektami aby zrobić je w czasie, zakresie i budżecie

Pomijam już mierną znajomość baz danych, zarządzania pamięci czy komunikacje sieciową (mówimy tutaj o napisanie własnej komunikacji socketowej).

To co wymieniasz to elementy doświadczenia, a nie nowe technologie których się trzeba przyuczać co pół roku. Raczej czym więcej lat w zawodzie, tym lepiej pod tym względem.

Zmienia się oczywiście paradygmat (kiedyś był monolit, potem EJB/spring, potem microservisy, teraz chmura), ale to też nie wymaga ciągłego doszkalania się żeby nie zostać z tyłu.

To z czym osobiście mam największy problem to założenie, że nagle developerzy mają być devopsami, umieć sobie postawić od zera środowisko z kafką, elastic search, jakąś bazą NoSQL itd. Staram się omijać takie projekty i taski, bo to nie moja działka.

Same koncepcje Kafki, ES, czy Cassandry są trywialne dla kogoś kto rozumie JMS i normalny SQL. Natomiast dla kogoś kto uczył się od razu z tutoriali do Springboota, przejście na kolejny pomysł na rynku może faktycznie wymagać douczania od zera, bo nie ogarnia całości zagadnienia.

Zobacz pozostały 1 komentarz
The Pontiff
Nawet jak masz specjalizację to po prostu devopsów nie ma i środowisk też nie ma i dupa
CR
Teraz jest niedosyt DevOpsow na rynku, więcej zarabiają niż programiści i nie mają takiej presji też na dowożenie
CR
Sam myślę iść w DevOps i uciec z Javy
somekind
Problem będzie występował tak długo, jak ludzie nie będą rozumieli, że DevOps to nie jest nazwa stanowiska.
WhiteLightning
@The Pontiff: koncepcja to jedno, ale zarzadzanie wieksza iloscia duzych klastrow Cassandry to juz inna bajka. @crx jak cos p*** na oncallu to presja jest i to wieksza niz jak sie jest devem :P
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 6 godzin
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1
The Pontiff napisał(a):

To z czym osobiście mam największy problem to założenie, że nagle developerzy mają być devopsami, umieć sobie postawić od zera środowisko z kafką, elastic search, jakąś bazą NoSQL itd. Staram się omijać takie projekty i taski, bo to nie moja działka.

Hm, jak zacząłem pracowac jako programista 10 lat temu to pracowałem w projekcie gdzie była tylko Java i PostgreSQL. Jak cos nie działało to logowałem się do serwera i przeglądałem logi w lessie. I to tyle co trzeba było wiedzieć z technologii

W tej chwili mam osobne logi z backedu, osobne logi ze Sparka (i sparka do ogarnainia), osobne logi z AirFlow (i AirFlow do ogarniania) i z frontendu tez powinny być osobne logi. Do tego jest jeszcze jakaś magiczna niszowa chmura, i druga chmura na którą będziemy migrować. Dalej jest PostgreSQL, ale jeszcze są jakieś NoSQLe do BigData z których importujemy i eksportujemy dane. Zrobiło się wiecej technologii, mimo że dalej pisze prawie wyłącznie CRUDy. Że nie opłaca się mieć od każdej technologii specjalist to na wszystkim muszę się znam po trochu (co może być frustrujące). No tylko od frontendu szczęśliwie mamy osobnego człowieka

UPDATE nie żalę się że jest trudniej. Po prostu o wiele więcej rzeczy jest do ogarnięcia niż 10 lat temu, ale często sa do ogarnięcia w podstawowym wymiarze.
Z drugiej strony 10 lat temu miałem sytuację że miałem się jako junior zintegrować z innym systemem po SOAP i pytam się Seniora jak to zrobić, a on na to też nie wiem, wczoraj zacząłem czytać dokumentacje i uruchamiać sample. W rezultacie za dużą pomocą nie był bo wyprzedzał mnie z wiedza tylko o jeden dzień


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 2x, ostatnio: KamilAdam
CR
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 2 lata
  • Postów:116
7

Ja zauważyłem że w zespołach gdzie Java Developerzy są odpowiedzialni za wszystko czyli DevOps, BA, pisanie kodu, to wtedy soft który tworzą jest niskiej jakości i zabugowany ostro.

Po prostu nie mają czasu na skupienie się na swoim rzemiośle. To tak jakym od chirurga wymagał przygotowania sali operacyjnej, znieczulenia, dokonania operacji, porobienia opatrunków i tak dalej. Wiadomo że sama operacja spadłaby na jakości przez to że nie mógłby się na niej skupić. Tak samo jest i w IT. Jest to po prostu cięcie kosztów przez firmę kosztem jakości. Managerzy nie są głupi i wiedza o tym.

edytowany 2x, ostatnio: crx
Zobacz pozostałe 2 komentarze
piotrpo
@KamilAdam: Podstawowym zadaniem anastezjologa nie jest pilnowanie, żebyś się nie obudził. Jego podstawowym zadaniem jest coś właściwie dokładnie przeciwnego. On pilnuje, żebyś mógł się obudzić i się obudził.
nowy_kret_2
@KamilAdam: Twoja kariera jako anestozjolog szybko by sie skonczyla w pierdlu ;)
KamilAdam
@nowy_kret_2: dlatego jestem programistą a nie lekarzem :p
KamilAdam
@piotrpo: a już myślałem że to bootcamp na anestezjologa XD
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 dni
  • Postów:3277
1

@crx: Już poza tematem - zależy od stopnia skomplikowania domeny i tego co określiłeś jako DevOps. Tworząc serwis społecznościowy, raczej nie potrzebujesz osobnego business analyst, bo domena jest prosta i mało skomplikowana - każdy rozumie co ma być zrobione i po co. Główne ryzyko jakie istnieje, to że produkt będzie tym, co można łatwo zaimplementować, a nie tym czego oczekują użytkownicy. Jeżeli piszesz coś bardziej niszowego (czyli większość aplikacji biznesowych), to brak analiyka jest patologią i nie wynika z oszczędności, tylko z głupoty. Od programisty oczekuje się jakiejś tam znajomości domeny, bo z analitykiem trzeba się jakoś dogadać, w przeciwnym wypadku jeden będzie mówił np o pożyczkach, wnioskach itp. a drugi o tabelkach i endpointach
Co do zajmowania się infrastrukturą - podobnie, nie każdy projekt potrzebuje dedykowanego SRE.

CR
Jak się robi API klasy enterprise o globalnym zasięgu, to nie wyobrażam sobie by Devowie all ogarnęli
CR
Ale jakieś małe API sklepu lokalnego no to bardziej
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 4 godziny
  • Postów:5108
1

Czy obawiacie się, że trudno będzie pracować w zawodzie do wieku emerytalnego?

to zależy ile chcesz zarabiać ;)

znam ludźmi którzy przechodzili / są blisko retirementu z IT - programiści / wdrożeniowcy

i się da, ale nie było to nawet blisko 20k :P

edytowany 4x, ostatnio: WeiXiao
piotrpo
Stawki dla cobolowców są grubo powyżej tej granicy :)
somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Wrocław
1
KamilAdam napisał(a):

U mnie nic się nie zmieniło odnośnie architektury. Jedyne co się zmieniło to to że nad jedną aplikacją pracuje tylko jeden zespół. Wcześniej było tak że całe piętro pracowało nad jednym monolitem i każdy zespół miał swój pakiet (name space) w ramach monolitu.

To ile ludzi pracuje i jak są podzieleni, to nie jest architektura.
Oczywiście można wziąć jakiś kobylasty monolit, wsadzić do dockera i wrzucić w chmurę, tylko nie nazywajmy tego architekturą.

BTW jak masz monolit stateless to też możesz go wsadzić do chmury i skalować. Pytanie filozoficzne : czym taki monolit stateless różni się od pojedynczego mikroserwisu? (oprócz wielkości oczywiście)?

Tym, że nie można skalować funkcji biznesowych niezależnie od siebie.
Tym, że nie można po prostu wymienić jednej części na napisaną w zupełnie innej technologii, bo wszystko jest od siebie zależne.

Poza tym architektura, to nie tylko sposób deploymentu. To też podział na warstwy - w monolitach zazwyczaj wygląda to nieco gorzej, bo albo jest ich za mało, albo za dużo (bo np. trzeba wprowadzać warstwy fizyczne, aby móc skalować).

piotrpo napisał(a):

Trochę wpadliśmy w pułapkę skrajnych opinii nic się nie zmieniło/wszystko się zmieniło. Owszem IT się zmienia, zarówno w odniesieniu do wzorców architektonicznych, jak i chyba jeszcze bardziej w odniesieniu do sposobu pracy. Tylko mając doświadczenie dość prosto daje się podążać za tymi zmianami. Jeżeli ktoś np. rozumie jak działa baza danych, to event sourcing, czy saga stają się dość banalne do zrozumienia, bo to właściwie rozwiązanie tych samych problemów, w ten sam sposób, tylko na poziomie architektury systemu a nie w bebechach bazy danych.

W takim razie 99,5% ludzi w IT nie rozumie jak działa baza danych.

Zobacz pozostałe 3 komentarze
somekind
A to też dobra uwaga i kolejny dowód na to, że to jest zupełnie inna architektura. Zasadniczo nie powinno to mieć miejsca - tak się stanie jeśli łączysz przez API, ale jeśli przez jakieś busy/kafkę, to nie - po prostu eventy będą czekać, a gdy wstanie serwis, to zostaną przetworzone.
SE
Rozumiem, jezeli bede kiedys pracowac z mikroserwisami to przypomne sobie Twoje slowa :P. Dzieki!
somekind
Ok, ale nie biorę odpowiedzialności za efekty. :P
SE
@somekind: Nikt nigdy nie bierze, to jest chyba wlasnie cale piekno tej branzy :D.
somekind
Ja biorę, ale tylko jak mi płacą. :)
piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 dni
  • Postów:3277
3

@somekind: No nie wie. Myślę, nawet, że sporo programistów korzystających na co dzień z baz relacyjnych ma jedynie bardo powierzchowne pojęcie o SQL.

A co do waszej (z @KamilAdam) rozkminy, czym się różni monolit od mikroserwisów, to podpowiem hasło: "eventual consistency". I ogólnie przeniesienie odpowiedzialności za spójność danych z silnika baz danych na projektanta systemu. To akurat faktycznie jest spora zmiana.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Wrocław
0
piotrpo napisał(a):

A co do waszej (z @KamilAdam) rozkminy, czym się różni monolit od mikroserwisów, to podpowiem hasło: "eventual consistency". I ogólnie przeniesienie odpowiedzialności za spójność danych z silnika baz danych na projektanta systemu. To akurat faktycznie jest spora zmiana.

To jakieś problemy świata crudów. Nie każdy serwis potrzebuje bazy czy jakiejkolwiek innej formy utrwalania danych.

piotrpo
  • Rejestracja:ponad 7 lat
  • Ostatnio:2 dni
  • Postów:3277
4

@somekind: No nie każdy mikroserwis potrzebuje warstwy danych, ale w zastosowaniach biznesowych już prawie każdy system ma potrzebę posiadania jakiegoś utrwalania danych.

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Wrocław
2

Zależy jak zdefiniujesz system. :)

Ale ok, eksperci z 4p orzekli, że architektura się nie zmienia na przestrzeni lat, a mikroserwisy to właściwie tylko mniejsze monolity i w ogóle wszystko jest tak samo.

I jak tu się mam bać o utrzymanie w branży? :D

Zobacz pozostałe 4 komentarze
KamilAdam
@somekind: @Seken ja tylko zadawałem pytania. Ja chciałbym się dowiedzieć czym się różnią. I zakładałem tam monolit brzstanowy
somekind
A jakie to ma znaczenie, czy jest stanowy czy bezstanowy? No i w sumie jak niby monolit może być bezstanowy, skoro każdy system ma potrzebę posiadania jakiegoś utrwalania danych.
KamilAdam
Bezstanowe łatwiej się skaluje
somekind
Bezstanowe mikroserwisy owszem, bezstanowe monolity w ogóle się nie skalują, bo nie istnieją.
KamilAdam
Jak napiszemy to będą istnieć :p
LitwinWileński
  • Rejestracja:prawie 3 lata
  • Ostatnio:12 dni
  • Postów:734
3
Marcin Marcin napisał(a):

49:25
rekruterzy bardzo często tego nie czają. Przykład, na live codingu wsadziłem w konstruktor metodę walidacyjną. Rekruter się tego doczepił jakby dając do zrozumienia, że to jest źle, bo konsturktor ma być głupi, a jak chcesz walidację to zrób metodę fabrykującą.
Taka porada jest chyba nawet w effective java. Ja się z tym generalnie zgadzam, ale jak kiedyś o to zapytałem na jakimś forum to doświadczeni programiści15k powiedzieli właśnie, że "to zależy" i nie ma w tym nic złego z automatu. W mojej pracy też tak się pisze kod.
A nawet jeśli to jest złe to przecież dostosuje się do zespołu i jak zobaczę, że piszą przez metody fabrykujące to będę robił tak samo.

trochę mnie to frustruje, że ci rekrutujący seniorzy to są bardzo często midzi zwykli i pojeżdżają niesłusznie mnie. Chcą bym się wstrzeliwał w klucz odpowiedziami a nie filozofował.

inny przykład: senior rekrutujący mówi mi, że test jednostkowy jest wtedy jak testujesz jedną klasę xD
inny senior rekrutujący powiedział coś w stylu, że test jednostkowy masz jak nie używasz kontekstu springa, a jak używasz o to już jest integracyjny xD
albo: pyta mnie chłop o komunikacje asynchroniczą i synchroniczną, w domyśle oczekiwał opowiedzenia o synchronicznej nieblokującej, a ja mu zaczynam filozować o tym ze moze byc async blokujaca i async nie blokująca
albo: pyta mnie jaki typ dam atrybutowi total (oczekiwał, że powiem BigDecimal), a przecież to nie jest takie oczywiste

edytowany 7x, ostatnio: LitwinWileński
TS
test jednostkowy masz jak nie używasz kontekstu springa, a jak używasz o to już jest integracyjny xD - w tym akurat jest sporo prawdy
LitwinWileński
to jak integracyjny masz jak gada Ci klasa z beanami to jak nazwiesz testy, które sprawdzają jak gada kilka aplikacji naraz? albo Twoja aplikacja z prawdziwą bazą i kolejką?
TS
W zależności od ewangelisty to testy jednostkowe < integracyjne < automatyczne / e2e. Są też podziały na testy wolne i szybkie. Jeżeli do unit testowania potrzebujesz postawić springa to jest to raczej test wolny niż szybki. Czy unit testy mogą być wolne? Jeden rabin powie tak, inny nie. Pytanie, skoro framework Springa wywołuje Twój kod. To dlaczego Twój kod ma zależność na Springa? Jeżeli tej zależności nie ma to po co Spring w testach jednostkowych?
LitwinWileński
jednostkowe < integracyjne < automatyczne / e2e. jeszcze są komponentowe... a monitoring metryk z alertami? to też jest testowanie, a ciężko dopasowąc do tego podziału, który wg mnie jest płynny, a przede wszystkim podział nie powinien zależeć od tego jak coś jest napisane tylko co robi
TS
Dlatego napisałem, że w zależności od ewangelisty, którego wyznawcą jesteś.
Marcin Marcin
  • Rejestracja:prawie 6 lat
  • Ostatnio:28 dni
  • Postów:610
5

@LitwinWileński: jest taka wybitna, wyborna, wypieszczona prezentacja @jarekr000000

Moi koledzy jeszcze bardziej polubili Jave EE po tym jak odziedziczyli te systemy po tych starych programistach (starych a nie seniorach) co się na nim uczyli Javy EE


Fan moderatora somekind
TS
Klasyk. Tą prezentacją @jarekr000000 wstępuje na Panteon i dołącza do Wojciecha Seligi :)
somekind
To pewnie przez tę koszulkę, która jest prawie tak fajna jak moja bluza.
LitwinWileński
to najlepsza prezentacja jaką widziałem
SE
  • Rejestracja:prawie 6 lat
  • Ostatnio:10 dni
  • Postów:321
0

@LitwinWileński:
Jak czytam te Twoje wszystkie zale (tak zale, bo widze juz nty post na temat "wstrzeliwania sie w klucz") o rekrutacjach to na mysl przychodza mi takie opcje:

  1. Rekrutujesz sie do jakichs januszowych firm.
  2. Sam przekrecasz celowo to co mowia albo nie sluchasz do konca i np
LitwinWileński napisał(a):

inny senior rekrutujący powiedział coś w stylu, że test jednostkowy masz jak nie używasz kontekstu springa, a jak używasz o to już jest integracyjny xD

Wyrwales ten kawalek z kontekstu, a senior zmierzal do czegos powoli.

Nie wiem, nie mam pojecia jak to sie dzieje. Expa mam kilkukrotnie wiecej niz Ty, rozmow rekrutacyjnych odbylem kilkadziesiat razy wiecej, a te takie zle rodem z Twoich opowiesci moglbym policzyc na palcach jednej reki.

Miang
przy pewnym doświadczeniu może już odsiewasz takie firmy na poziomie ogłoszenia
somekind
100% racji @Miang. Od kiedy pracuję dla zagranicy, to mi też nie trafiają się ani wtfowe rekrutacje ani dziwne firmy.
KK
  • Rejestracja:ponad 5 lat
  • Ostatnio:około 15 godzin
  • Postów:191
0

W każdej branży coraz ciężej w raz z wiekiem.

SE
Lekarze czy prawnicy bedac w wieku ludzi ktorzy tutaj skarza sie na ageism (30-40) dopiero rozwijaja skrzydla :P
KK
Najważniejsza w życiu jest młodość. Wszystko inne z niej wynika. Atrakcyjność. Szybkość nauki. Gdyby tak nie było ludzi żyli by w nieskończoność.
SE
Wplotles tyle roznych watkow w swoja wypowiedz, ze nawet nie umiem sie do niej odniesc xD
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)