Για την ανάπτυξη μιας web εφαρμογής, όπως το γνωστό σε όλους μας google search, χρειάζεται τόσο η Διεπαφή Χρήστη (UI – User Interface), όσο και η λειτουργικότητα της αναζήτησης. Ως διεπαφή αναφερόμαστε σε αυτό που βλέπεις στην οθόνη, στην προκειμένη περίπτωση ένα απλό πεδίο που μπορείς να γράψεις. Το κομμάτι της διεπαφής το αναλαμβάνει ο Front End Developer. Τι γίνεται, όμως, όταν πατήσεις το enter; Πώς καταλαβαίνει η google τι αποτελέσματα να σου επιστρέψει; Πώς όλο αυτό συμβαίνει τόσο γρήγορα; Όλα όσα συμβαίνουν πίσω από την σκηνή και συνήθως δεν τα μαθαίνεις ποτέ, γιατί είναι δουλειά του Back End Developer.
Είναι πολύ σημαντικό να γνωρίζεις τι ακριβώς κάνει ο Back End Developer, τι μισθό παίρνει, τι διαφορές έχει από τον Front End Developer και τον Full Stack Developer. Έτσι μπορείς να πάρεις πιο σωστές αποφάσεις. Σε αυτό το αρθρο θα αναλύσουμε τον ρόλο του Back End Developer και θα αναφέρουμε όλα όσα πρέπει να γνωρίζεις.
Τι είναι ο Back End Developer
Ας μπορούμε να μιλήσουμε λίγο πιο τεχνικά, το Back End Development είναι το λεγόμενο server side development. Εστιάζει στις βάσεις δεδομένων, το scripting και γενικότερα την αρχιτεκτονική ενός συστήματος. Περιλαμβάνει λειτουργίες που εκτελούνται αυτόματα μέσα από τα διάφορα κλικ που γίνονται σε μια οθόνη.
Τι ενέργειες ή κλίκ γίνονται σε μια οθόνη;
Η αγορά ενός προϊόντος, η αποστολή ενός email, η σύνδεση στον λογαριασμό σου, η δημοσίευση ενός νέου post στο facebook είναι ενέργειες που γίνονται, έπειτα από μια αλληλεπίδραση που είχες με κάποιο σύστημα.
Στο άρθρο που διαβάζεις αυτή τη στιγμή, τα χρώματα, η γραμματοσειρά, η διάταση των στοιχείων και το μενού αφορούν το Front End Development. Όμως, το περιεχόμενο του άρθρου και οι φωτογραφίες είναι πληροφορία που είναι αποθηκευμένη σε κάποιον server. Η επιλογή του συγκεκριμένου άρθρου από όλα όσα υπάρχουν στο futuregeneration.gr και του τίτλου μαζί με τις φωτογραφίες είναι το κομμάτι του Back End Development.
Τα skills του Back End Developer
Αν και είναι αδύνατο να περιγράψουμε όλες τις πιθανές τεχνολογίες με τις οποίες μπορεί να ασχοληθεί ένας Back End Developer, μπορούμε ωστόσο να αναφέρουμε τον κοινό τους παρονομαστή.
Τα skills που απαιτούνται είναι τα εξής:
- Γλώσσες Προγραμματισμού για την ανάπτυξη εφαρμογών στο Web (Web Development Languages)
- Βάσεις Δεδομένων και Caching (Database and Caching)
- Διακομιστής (Server)
- API (REST & SOAP)
Web Development Languages
Πρέπει να γνωρίζει τουλάχιστον μια server-side ή Back End γλώσσα προγραμματισμού, όπως Java, Python, Ruby, PHP, Net κ.τ.λ. Η γλώσσα αυτή του επιτρέπει να δημιουργήσει μια γέφυρα μεταξύ της βάσης δεδομένων και του Front End.
Databases και Caching
Το δεύτερο skill που είναι πολύ σημαντικό να έχει ένας Back End Developer είναι η γνώση διάφορων DBMS (DataBase Management System) τεχνολογιών. Αυτή τη στιγμή υπάρχουν διάφορες τεχνολογίες, όπως MySQL, MongoDB, Oracle, SQL Server, Redis και πολλά ακόμη. Τα προβλήματα που λύνουν είναι τόσο ιδιαίτερα που κάθε μια τεχνολογία έχει κάποια μοναδικά χαρακτηριστικά. Έτσι, λοιπόν, είναι πολύ σημαντικό, να μπορεί να ξεχωρίζει και να επιλέγει την κατάλληλη τεχνολογία βάση του προβλήματος που έχει να λύσει.
Caching μηχανισμοί, όπως Varnish Cache, Memcached, Redis είναι κάτι επιπλέον που θα χρειαστεί!
Server
Πρέπει να διαχειρίζεται το Apache, Nginx, IIS Servers, Microsoft IIS κτλ. Οι τεχνολογίες που χρησιμοποιεί κάθε εταιρεία διαφέρουν, αλλά κάποιες βασικές γνώσεις θα σου χρειαστούν παντού. Επιπλέον, για την διαχείριση αυτή και όχι μόνο, βοηθά πολύ η γνώση του συστήματος Linux.
API
To API (Application Programming Interface) αφορά μια “γέφυρα” επικοινωνίας ανάμεσα σε 2 τμήματα ενός συστήματος. Είναι σημαντικό να υπάρχει γνώση πάνω στα web services ή API. Η δημιουργία και η κατανάλωση ενός REST και SOAP service είναι κάτι που θα χρησιμοποιηθεί πολύ.
Επιπλέον Skills
Σε γενικές γραμμές, ανάλογα με τις αρμοδιότητες, υπάρχουν πολλά ακόμη που μπορούν να χρησιμοποιηθούν. Η παρακάτω λίστα αναφέρει κάποια:
- Γλώσσες Προγραμματισμού
- Frameworks
- Δημιουργία Unit Tests με χρήση PHPUNIT ή άλλων εργαλείων,
- Γνώσεις πάνω στους αλγορίθμους και στις δομές δεδομένων.
- Στοίβες (Stacks)
- Ουρές (Queues)
- Δέντρα και Γραφήματα (Trees and Graphs)
- Αλγόριθμοι Ταξινόμησης (Sorting)
- Αλγόριθμοι Αναζήτησης (Searching)
- Ασφάλεια σε κάθε επίπεδο της εφαρμογής.
- Βασικές γνώσεις Front End Development (HTML, CSS, Javascript)
- Session management
- DBMS
- MySQL
- PostgreSQL
- MongoDB
- SQLServer
- Web Hosting Platforms
- Amazon Web Services
- Heroku
- Microsoft Azure
- Google Cloud Platform
- Version control με Git ή Subversion
Σε τι θέσεις – ρόλους εργασίας μπορεί να εργαστεί
Ως Back End Developer θα βρεις σχετικές θέσεις εργασίας με διάφορους ρόλους. Ο όρος Back End Developer είναι ένας όρος που χαρακτηρίζει μια περιοχή εργασίας σε ολόκληρο το Product Development. Όμως, δεν καθορίζει τις τεχνολογίες. Έτσι, λοιπόν, κάποιοι από τους ρόλους εργασίας που μπορείς να ψάχνεις για να δουλέψεις ως Back End Developer είναι:
- Java Developer
- Back End Developer
- Full Stack Developer
- DevOps Engineer
- Software Engineer
Ποιες είναι οι αρμοδιότητες του Backend Developer
Ποιες είναι οι αρμοδιότητες και τα καθήκοντα ενός Back End Developer και με τι ασχολείται καθημερινά;
- Κατανόηση των στόχων και των τεχνικών προδιαγραφών των software.
- Σχεδίαση αρχιτεκτονικής συστήματος και της βάσης δεδομένων.
- Αποθήκευση δεδομένων και διασφάλιση της ακεραιότητάς τους.
- Διαχείριση διάφορων πληρωμένων μέσω των API των τραπεζών.
- Χρήση των αλγορίθμων για την επίλυση διαφόρων σύνθετων προβλημάτων.
Μισθός
Οι παραπάνω τεχνολογίες είναι πολλές. Αυτό δεν σημαίνει πως ένας Junior Back End Developer πληρώνεται με 2000€ το μήνα στην Ελλάδα. Στο εξωτερικό, ο Back End Developer, μπορεί να πληρώνεται μέχρι και με 120.000$ τον χρόνο. Στην Αγγλία από 40.000$ μέχρι και 70.000$. Τι γίνεται όμως στην Ελλάδα;
Στην Ελλάδα παίζει πολύ μεγάλο ρόλο η εταιρεία που δουλεύεις. Αν είναι startup ή άλλη μικρή επιχείρηση ή αν είναι κάποια πολυεθνική. Οι μισθοί για έναν Junior Back End Developer που μόλις αποφοίτησε είναι περίπου στα 700€ με 900€ / μήνα. Από εκεί και πέρα, υπάρχει εξέλιξη και συνήθως φτάνουν στα 1.200€ με 1.400€, έπειτα από κάποια χρόνια εργασίας.
Στον τομέα της Πληροφορικής, ο μισθός είναι ανάλογος με την αξία που προσφέρεις, όσα παραπάνω γνωρίζεις καλά, τόσο μεγαλύτερη είναι η αξία σου και τόσο πιο πολύ μπορείς να ζητήσεις για μισθό.
Σχετικά Επαγγέλματα
To επάγγελμα του Back End Developer ανήκει σε μια κατηγορία επαγγελμάτων στον κλάδο της Πληροφορικής. Σε αυτό τον κλάδο υπάρχουν και άλλα παρόμοια επαγγέλματα, όπως αυτό του Front End Developer και του Full Stack Developer.
- Επάγγελμα Front End Developer
- Επάγγελμα Full Stack Developer
- Επάγγελμα UI/UX Designer
- Επάγγελμα Web Developer
- Επάγγελμα Software Engineer
- Επάγγελμα Mobile (App) Developer
- Επάγγελμα Game Developer
- Επάγγελμα VR Developer
- Επάγγελμα AR Developer
Εύρεση Θέσεων Εργασίας
Η εύρεση θέσεων εργασίας στην Ελλάδα γίνεται μέσω του Linkedin και άλλων μηχανών αναζήτησης εργασίας. Εάν σε ενδιαφέρει να εργαστείς ως Front End Developer, είναι πολύ σημαντικό να μάθεις πώς μπορείς να χτίσεις ένα επαγγελματικό προφίλ στο Linkedin. Το Linkedin είναι το κοινωνικό δίκτυο για επαγγελματίες, όπου ο εργοδότης συναντά τον εργαζόμενο.
Τόσο το Linkedin,όσο και οι Μηχανές Αναζήτησης Εργασίας στην Ελλάδα έχουν την επιλογή για εργασία εξ’ αποστάσεως (remote work)
Σύνοψη
- Κάποια από τα απαραίτητα skills είναι οι Γλώσσες Προγραμματισμού, οι Βάσεις Δεδομένων, η Διαχείριση Server και API (REST & SOAP).
- Το Back End Development αναφέρεται στο server-side development.
- Ο μισθός κυμαίνεται σε καλά επίπεδα για την Ελλάδα.
- Οι αρμοδιότητες του Back End Developer είναι παρόμοιες με αυτές του κάθε developer και συνήθως εργάζεται σε ομάδα.
Συχνές Ερωτήσεις
Τι διαφορά έχει ο Back End Developer με τον Back End Engineer;
Ένας Back End Developer αναπτύσει διάφορα στοιχεία ενός συστήματος βάση της συνολικής σχεδίασης που έχει κάνει ο Back End Engineer. Οι Back End Developers ασχολούνται με την σχεδίαση ενός feature και όχι ενός ολόκληρου συστήματος.
Τι διαφορά έχεις το Back End Developer με τον Front End Developer;
Ένας Front End Developer ασχολείται με τον σχεδιασμό και τη δημιουργία του UI μέσα από το οποίο θα αλληλεπιδράσει ο χρήστης με ένα σύστημα π.χ. Κουμπιά, πεδία, κτλ.
Ένας Back End Developer ασχολείται με την διαχείριση των δεδομένων και την σχεδίασή του. Εργάζεται με όσα όσα δεν βλέπει ο χρήστης άμεσα.
One Comment
Αφήστε μια απάντηση
Για να σχολιάσετε πρέπει να συνδεθείτε.
[…] πλατφόρμα του facebook, τότε λέγεται web developer ή web app developer ή Backend Developer ή Frontend Developer ή FullStack […]