Δημοσίευσηαπό itteithe » 30 Ιούλ 2019, 11:42
Για να χρυσώσεις το χάπι στην bizeli μπορείς να την ορίσεις σαν την COO της εταιρίας, έτσι ώστε να ανήκει στην C-Suite και τεχνικά να είναι η νούμερο δύο μετά από σένα στην εταιρία.
Ας αναλάβω όμως κι εγώ το τμήμα μου και ας κάνω τις προγραμματικές μου δηλώσεις...
Γενικά:
Το development θα ακολουθήσει agile μεθοδολογία με CI/CD, αλλά για το αρχικό mvp θα ακολουθήσουμε κλασικό waterfall. Το versioning για οποιοδήποτε software που θα δημιουργήσουμε θα ακολουθεί το convention (Major).(Minor).(Patch). Κάθε μήνας θα χωρίζεται σε τέσσερα sprints:
Sprint 1: Feature implementation
Sprint 2: Feature implementation & Minor Release
Sprint 3: Bug fixing
Sprint 4: Bug fixing & Patch release
Κάθε minor release θα μηδενίζει το patch number (κατά συνέπεια το patch number θα είναι μηδέν ή ένα) και κάθε major release θα μηδενίζει και το minor και το patch number. Στόχος θα είναι να δίνουμε τουλάχιστον δύο major release τον χρόνο (κατά συνέπεια το minor release δεν θα ξεπερνάει το 6). Για VCS θα χρησιμοποιήσουμε git και τα repo μας θα τα έχουμε στο gitlab. Όποιος υφιστάμενος τολμήσει να προτείνει jira και bitbucket θα απολύεται.
Για το backend:
Όποιος υφιστάμενος τολμήσει να προτείνει node.js και RoR θα απολύεται. Το backend θα υλοποιηθεί με microservices που θα είναι γραμμένα με golang και με java τα οποία θα επικοινωνούν μεταξύ τους με gRPC χρησιμοποιώντας για message broker το rabbitMQ. Για DB θα χρησιμοποιήσουμε Oracle και σαν failover θα έχουμε PostgreSQL. Όποιος υφιστάμενος τολμήσει να προτείνει NoSQL για βάση θα απολύεται. ΝοSQL (ή key-value DB) θα χρησιμοποιήσουμε μόνο για caching και για την ακρίβεια θα χρησιμοποιήσουμε memcached (όποιος προτείνει Redis θα απολύεται). Εννοείται πως τα πάντα θα είναι containerized με docker και θα χρησιμοποιήσουμε τα gitlab pipelines για τα deployments. Τα πάντα θα είναι hostαρισμένα σε AWS (όποιος τολμήσει να προτείνει serverless και lambda θα απολύεται).
Για το web:
Θα το υλοποιήσουμε με react ή vue με την προϋπόθεση οτι οι developers αυτού του departement να εργάζονται σε ξεχωριστό τμήμα από το υπόλοιπο development team και κατά προτίμηση το τμήμα τους να βρίσκεται στο υπόγειο του κτιρίου για να μην μολύνουν με javascript και τους υπόλοιπους developers. Στο υπόγειο θα βρίσκεται και το UI & UX design team.
Για mobile:
Όποιος υφιστάμενος τολμήσει να προτείνει cross platform framework (π.χ. cordova, ή flutter) θα απολύεται. Όποιος υφιστάμενος android developer τολμήσει να προτείνει kotlin αντί για java θα απολύεται.
Για το desktop:
Όποιος υφιστάμενος τολμήσει να προτείνει electron θα απολύεται. Τα desktop application θα γραφτούν με Qt framework σε C++. Βέβαια είμαστε στο 2019, τα desktop applications έχουν πεθάνει. Τα πάντα γίνονται είτε σε browsers είτε σε smartphones.
Για το firmware:
Θα χρησιμοποιήσουμε FreeRTOS στο οποίο θα γράφουμε τα κατάλληλα tasks. Αν πρέπει να επικοινωνεί με web, mobile ή desktop θα το κάνει μέσω mqtt με AWs IoT Core ή Google Cloud IoT (κατά προτίμηση το πρώτο).
Αυτά για αρχή.
2 .
Δῶς μοι πᾶ στῶ καὶ τὰν γᾶν κινάσω
Habemus filium