Η εμπειρία μου στο TechLabs #codeathome bootcamp

Πριν από μερικούς μήνες, ανακάλυψα μια νέα προσπάθεια στον χώρο της δωρεάν εκπαίδευσης στον τομέα της Πληροφορικής. Η πρωτοβουλία/ομάδα αυτή λέγεται TechLabs.

Τα παιδιά έχουν κάνει καλή δουλειά, δημιουργώντας πολλά bootcamps ανά τον κόσμο, με κεντρικό πυρήνα (καθότι Γερμανοί) την Γερμανία, όπου κι έχουν bootcamps σε 8 πόλεις!

Το bootcamp έχει διάρκεια 16 εβδομάδων και περιλαμβάνει 4 tracks: A.I., Data Science, Web Development, UX Design.

Πέρυσι, λόγω της πανδημίας, αποφάσισαν να μεταφέρουν αυτήν την εμπειρία online, δημιουργώντας το 1ο #codeathome online bootcamp!

Δυστυχώς, όταν το έμαθα, είχε ολοκληρωθεί, οπότε ανέμενα για την έναρξη του 2ου.

Όπως κι έγινε, τον Σεπτέμβριο του 2020.

Η διαφορά του από το κανονικό (on-site), είναι ότι διαρκεί μόνο 8 εβδομάδες.

Επέλεξα το Web Development track, το οποίο κι ολοκλήρωσα επιτυχώς αρχές Νοεμβρίου.

Αποφάσισα να γράψω αυτό το post για να μοιραστώ κάποιες από τις σκέψεις και παρατηρήσεις μου όσον αφορά την όλη εμπειρία, τις τεχνολογίες και το track συνολικά.

Η ύλη του track αποτελείται από online videos, tutorials και κάποια links από official documentations ως επιπλέον resources. Τα περισσότερα είναι από γνωστούς παλαίμαχους και κορυφαίους online instructors του χώρου όπως είναι ο Shaun Pelling (The Net Ninja), ο Brad Traversy (Traversy Media), κλπ, διαλέξεις από το γνωστό εισαγωγικό μάθημα CS50 που διδάσκεται σε πανεπιστήμια όπως το Harvard και το Yale.

Η ύλη του, δηλαδή, υπάρχει ήδη εκεί έξω, δωρεάν, πριν την δημιουργία του bootcamp και η ομάδα της TechLabs δεν έχει κάποια συμμετοχή στην δημιουργία αυτών των resources – αλλά έχει αναλάβει να οργανώσει και να παρουσιάσει αυτές τις πληροφορίες και μαθήματα. Να σου δώσει τρόπον τινά έναν “μπούσουλα”, μια κατεύθυνση στην εκπαίδευση. Μια επιλογή ανάμεσα στις εκατοντάδες επιλογές εκπαιδευτικών πηγών, στις οποίες συνήθως είναι εύκολο να χαθεί κάποιος αρχάριος.

Να σημειώσω εδώ, κάτι που θα βοηθήσει στην κατανόηση αυτών που αναφέρω παρακάτω:
Κατά την είσοδο στο bootcamp, οι συμμετέχοντες μπαίνουν σε διάφορα Slack public channels του camp αλλά και χωρίζονται σε private-channel ομάδες των 5 ατόμων (μαζί με έναν mentor), οι λεγόμενοι trackstudy-buddies.
Πρωταρχικός σκοπός είναι η αλληλοβοήθεια των μελών της ομάδας στην μελέτη, επίλυση αποριών κλπ.
Στο τέλος του bootcamp, ως απαραίτητη προυπόθεση για να λάβει κάποιος την βεβαίωση παρακολούθησης, είναι να έχει καταθέσει κάποιο λειτουργικό project σχετικό με το track της επιλογής του (το οποίο ελέγχεται από την TechLabs management team κι από τον κάθε mentor).
Το project αυτό, μπορεί να είναι είτε ατομικό, είτε ομαδικό (με όλα ή κάποια από τα μέλη της ομάδας των trackstudy-buddies).

Η ύλη περιλαμβάνει τεχνολογίες τόσο frontend όσο και backend (Ενδεικτικά, HTML5, CSS3, Bootstrap, JavaScript, NPM, React, Node.js, Express.js, Mongo, Gatsby, Docker.

Κι εδώ έρχεται η πρώτη μου ένσταση.

Καθώς το bootcamp αυτό απευθύνεται σε κάποιον εντελώς αρχάριο (χάριν ευκολίας, ας τον ονομάσουμε Θανάση) και δεδομένου ότι είναι πολύ πιο σύντομο (για την ακρίβεια, έχει την μιση διάρκεια, 8 αντί για 16 εβδομάδων) από την on-site εμπειρία, το καθιστά αρκετά δύσκολο για τον Θανάση να κατανοήσει και να χρησιμοποιήσει όλες αυτές τις γνώσεις, να μάθει να δουλεύει σαν ομάδα, να οργανώσει κάποιο project, να μοιράσει τα tasks στο κάθε μέλος της ομάδας, να μάθει να χρησιμοποιεί κάποια εργαλεία όπως ο code editor, τα Git/GitHub (ειδικά αν το project είναι ομαδικό εδώ μπορεί να έχουμε massacre από τα αλληλοκαλυπτόμενα commits 😂), κλπ.

Θεωρώ ότι θα ήταν πολύ πιο βοηθητικό, (αν όχι απαραίτητο) το να χωριστεί το Web Development track σε δυο διαφορετικά tracks, αναφορικά με τις frontend και τις backend τεχνολογίες π.χ. το frontend track θα μπορούσε να εστιάσει το 80-90% της ύλης του σε frontend τεχνολογίες και το υπόλοιπο 10-20% σε backend (και το αντίστροφο).
Εναλλακτικά, θα μπορούσαν να είναι ακόμη πιο pure τα tracks, εστιάζοντας το καθένα 100% σε τεχνολογίες που αφορούν την ονομασία του (αποκλειστικά frontend, αποκλειστικά
backend).
Τέλος, μια επίσης καλή επιλογή θα ήταν να παραμείνει η ύλη ως έχει και να αυξηθεί η διάρκεια του bootcamp, ώστε να είναι ίδια με αυτή του on-site και πολύ πιο επαρκής για την ποσότητα και την πολυμορφία της διαθέσιμης ύλης.

Στην παρούσα κατάσταση, θεωρώ ότι είναι μια αρκετά έντονη, αγχωτική και συμπιεσμένη εμπειρία, βάσει του διαθέσιμου χρόνου που έχει ο Θανάσης να ολοκληρώσει όλα τα μαθήματα, ενώ παράλληλα να ξεκινήσει να δουλεύει επάνω σε κάποιο project χρησιμοποιώντας τα Git/GitHub – δεν υπάρχει εκπαιδευτικό υλικό σχετικά με αυτό το απαραίτητο (για την οργάνωση και το version control του project) εργαλείο, οπότε είναι σαν να θεωρείται δεδομένο ότι υπάρχει πρότερη γνώση του (μεγάλο foul αυτό) και τέλος, να καταφέρει να ολοκληρώσει το project.

Είναι πολύ πιο δύσκολο για τον Θανάση να μάθει fullstack τεχνολογίες και να βγάλει project (όπως είπαμε πιο πάνω, όντας εντελώς αρχάριος με το αντικείμενο)μέσα σε δυο μήνες.
Προσωπικά, δεν αντιμετώπισα κάποιο πρόβλημα, καθώς είχα ήδη γνώση σε τεχνολογίες όπως HTML, CSS, JavaScript και PHP (όπως επίσης σε ορισμένα CSS frameworks και στα Git/GitHub).

Επομένως, η React, ήταν πολύ πιο εύκολη να την κατανοήσω και να δουλέψω μαζί της. Υπήρξε μια σύγχυση βέβαια, λόγω των τελευταίων αλλαγών που έχουν γίνει στην χρήση functional components αντί για class components, state management κλπ.
Τα videos του bootcamp ήταν outdated, χωρίς να αναφέρονται στην τρέχουσα πρακτική ανάπτυξης funtional components οπότε έπρεπε να κάνω κάποια έρευνα, έξω από την ύλη του bootcamp, συμβουλευόμενος το documentation και παρακολουθώντας κάποια courses.

Φυσικά, καθώς υπάρχει ήδη άπειρος κώδικας γραμμένος (κι ακόμη γράφεται) με class components, state management χωρίς την χρήση hooks, κλπ, είναι θεμιτό και χρήσιμο το να γνωρίζεις και παλαιότερους τρόπους ανάπτυξης, ώστε να μπορείς να κατανοήσεις/συντηρήσεις/μετατρέψεις/χρησιμοποιήσεις κάποιον αντίστοιχης ανάπτυξης project (και γενικότερα, παλαιότερο κώδικα).

Σε γενικές γραμμές, τα μαθήματα των HTML, CSS ήταν εντάξει, αν και υπήρχαν διάφορα typos και λαθάκια σε διάφορα σημεία, όπως επίσης και στο tutorial του Bootstrap, επομένως, έπρεπε να κάνεις μόνος σου την έρευνα γιατί δεν παίρνεις το αναμενόμενο αποτέλεσμα και να το διορθώσεις.

Εδώ, αξίζει να αναφερθώ ενδεικτικά, σε δυο code-along text tutorials, το ένα για το Bootstrap και το άλλο για την JavaScript:
Για το Bootstrap υπήρχε μόνο ένα tutorial (από το freeCodeCamp), του οποίου ο κώδικας, δυστυχώς είχε αρκετά θεματάκια και πολλά άτομα δυσκολεύτηκαν με αυτό π.χ. λάθος JQuery CDN URL (χρειάζεται να φορτωθεί η κανονική κι όχι την slim έκδοση η οποία δεν περικλείει τα ajax και effect modules της βιβλιοθήκης), πολλά typos/misspells σε class names, IDs κλπ κλπ, λάθη στην στοίχιση των elements.
Όλα αυτά, ενώ οι συνοδευτικές screenshots έδειχναν άλλο αποτέλεσμα από αυτό που παρήγαγε ο κώδικας.
Τα ίδια περίπου ισχύουν και για το προαναφερθέν tutorial της JavaScript, στο οποίο υπήρχαν σημεία όπου έλειπαν ολόκληρα blocks κώδικα κι έπρεπε να ψάξεις το GitHub Repo του tutorial για να βρεις τον σωστό (διορθωμένο ή/και ολόκληρο) κώδικα. Να θυμηθούμε ότι πρόκειται για code-along tutorial κι όχι για κάποια άσκηση.

Τέλος, αναφορικά με την JavaScript, θα έλεγα ότι έπρεπε να δοθεί περισσότερο βάθος κι ανάλυση στα fundamentals/basic concepts της γλώσσας, προτού μεταπηδήσει ο Θανάσης στην React.

Εν κατακλείδι, σαν συνολική εμπειρία άξιζε και με το παραπάνω, ίσως δύσκολη αν είσαι στην θέση του Θανάση, αλλά αξίζει σίγουρα 100% να το προσπαθήσεις.
Άλλωστε, κανείς δεν σου απαγορεύει να παρακολουθήσεις το ίδιο bootcamp και 2η ή και 3η φορά αν το επιθυμείς. 😀

– Θα το ξανάκανες;
– Ναι, εννοείται! Μάλιστα αυτήν την περίοδο έχει ξεκινήσει το 3ο #codeathome bootcamp, στο οποίο και παρακολουθώ το UX Design track και μέχρι στιγμής φαίνεται πολύ ενδιαφέρον!

– Θα το πρότεινες σε κάποιον που θέλει να ξεκινήσει τώρα;
– Φυσικά! Μάλιστα, σε αυτό το bootcamp (και θέλω να πιστεύω και στο επόμενο, αν μου το επιτρέπει ο χρόνος μου) συμμετέχω επίσης κι ως mentor στο Web Development track, οπότε, μην ντρέπεσαι, παρ’ το απόφαση κι έλα στην παρέα μας!

Έχεις πολλά κι ενδιαφέροντα πραγματάκια να μάθεις! 😁

Οτιδήποτε χρειαστείς, μην διστάσεις να επικοινωνήσεις μαζί μου εδώ ή πιό κάτω στα σχόλια! 😀

Leave a comment

Design a site like this with WordPress.com
Get started