sqlschool.gr logo

articles

Articles of SQLschool.gr Team

The Database Developer Role

Antonios Chatzipavlis
Thursday 20 August 2015

Πρόσφατα συμμετείχα σε μια συζήτηση στην οποία αναφέρθηκε ο ρόλος του DB Developer. Μέσα από αυτή την συζήτηση διαπίστωσα ότι οι απόψεις για το τι είναι και κυρίως τι κάνει ένας DB Developer δεν είναι ξεκάθαρες.
Θεωρώντας ότι είναι χρήσιμο να γνωρίζουμε τι είναι ο DB Developer ρόλος και πως αυτός τοποθετείτε στην αγορά εργασίας (ζήτηση/αμοιβή) τόσο στην χώρα μας όσο και στο εξωτερικό, αποφάσισα να γράψω το συγκεκριμένο άρθρο.
 
Εισαγωγή

Ο αριθμός και ο όγκος των βάσεων τα τελευταία χρόνια έχει αυξηθεί αρκετά. Οι προβλέψεις δείχνουν ότι θα γίνει ακόμα μεγαλύτερος μέσα στα επόμενα χρόνια. Αυτό έχει οδηγήσει στην ραγδαία αύξηση της ζήτησης εξειδικευμένου προσωπικού στις βάσεις δεδομένων.

Μπορεί αρκετοί να θεωρούν ότι ο σχεδιασμός ή η συντήρηση ενός database server ή μιας database είναι κάτι που μπορεί να γίνει από κάποιον έμπειρο είτε IT professional είτε developer. Αυτό πλέον είναι κάτι που ανήκει στο παρελθόν.  Η ανάγκη για άμεση πληροφορία είναι επιτακτική σήμερα και θα γίνει επιτακτικότερη στο μέλλον. Αυτό γίνεται ακόμα δυσκολότερο καθώς τα δεδομένα αλλάζουν καθημερινά και δεν αναφέρομαι στη προσθήκη εγγραφών αλλά στην δομή τους.

Ο παραδοσιακός full-time DBA πλέον δεν φτάνει να καλύψει τις ανάγκες που υπάρχουν καθώς τα περισσότερα RDBMS έχουν εμπλουτιστεί με τόσα χαρακτηριστικά που πλέον χρειάζεται εξειδίκευση. Αυτό είχε σαν αποτέλεσμα τα τελευταία χρόνια να δημιουργηθούν νέοι ρόλοι γύρω από το θέμα data & databases. Ένας από αυτούς είναι και ο DB developer. Φυσικά οι ρόλοι αυτοί μεταξύ τους έχουν κοινά σημεία, και να μην σας φανεί αυτό περίεργο όπως θα δείτε παρακάτω, διότι πρέπει να υπάρχει αρμονική συνεργασία μεταξύ τους και φυσικά άριστη επικοινωνία ώστε να μπορεί να βγει αποτέλεσμα. 

Το ότι θεωρούμε ότι το application είναι αυτό που κάνει την διαφορά είναι κατά την γνώμη μου παντελώς λάθος. Προσωπικά μου πήρε αρκετά χρόνια για να συνειδητοποιήσω αυτό. Σίγουρα ένα καλό application μπορεί να κάνει την διαφορά αλλά στην ουσία είναι ο δίαυλος επικοινωνίας του χρήστη με τα δεδομένα. Εξάλλου πόσα είναι τα applications που έχουμε φτιάξει και δεν έχουν κάποιας μορφής δεδομένα;

Θα πρέπει να επισημάνω προς αποφυγή παρεξηγήσεων και ατελέσφορων συζητήσεων ότι δεν απαξιώνω το application καθώς στο μυαλό μου δεν υπάρχει διαχωρισμός αυτών. Για μένα υπάρχει το πληροφοριακό σύστημα που σκοπό έχει να καλύψει τις ανάγκες που υπάρχουν το οποίο αποτελείται από πολλά components όπως servers, network, databases, applications και όποιος πιστεύει ότι μπορεί να έχει ένα σύστημα μόνο με ένα από αυτά τα components μάλλον θα πρέπει να το σκεφτεί ξανά.

Ένας database developer θα πρέπει να έχει μεγάλη εμπειρία σε hardware, software αλλά και σε computer systems και processes. Πρέπει οπωσδήποτε να έχει πολύ καλή γνώση προγραμματισμού (languages & techniques) και πάνω από όλα μεράκι και διάθεση για μάθηση. Πρέπει να είναι μεθοδικός, λογικός, υπομονετικός, προσεκτικός και πάνω από όλα   ακριβής καθώς δεν του επιτρέπονται λάθη. Πρέπει να είναι ανοικτός στο να ενστερνίζεται και να εφαρμόζει νέα πράγματα και τεχνολογίες. Επίσης πρέπει να μάθει να δουλεύει κάτω από μεγάλη πίεση. Φυσικά θα πρέπει να είναι επικοινωνιακός και να ξέρει να δουλεύει σε ομάδες χωρίς όμως να χάσει την δυνατότητα να εργαστεί σαν one man show. Είναι ένας απαιτητικός ρόλος…

Αρκετοί πιστεύουν ότι ένας database developer απλά γράφει queries , φτιάχνει stored procedures, triggers, views. Είναι παντελώς λάθος αυτή η θεώρηση και αν κάποιος θεωρεί ότι κάνοντας μόνο αυτά είναι database developer λυπάμαι αλλά δεν είναι.

Ποιες όμως είναι οι αρμοδιότητες του database developer;

Ένας database developer έχει τις εξής αρμοδιότητες

  • Σχεδιάζει, αναπτύσει και υλοποιεί database systems με βάση τις επιχειρηματικές απαιτήσεις
  • Ορίζει τα system requirements σε συνεργασία με τους DBA και τους SysAdmins
  • Καθορίζει πως τα δεδομένα θα οργανωθούν, ποιοι θα έχουν πρόσβαση σε αυτά και πως θα γίνονται display στους χρήστες
  • Υλοποιεί το capacity planning για τις databases
  • Διασφαλίζει την ποιότητα και την ακεραιότητα των δεδομένων
  • Υλοποιεί το οποιοδήποτε database programming είτε σε νέες είτε σε υπάρχουσες databases
  • Υλοποιεί complex functions, scripts, stored procedures, triggers και σε αρκετές περιπτώσεις είναι αυτός που υλοποιεί το data access layer σε distributed applications
  • Συμμετέχει ενεργά στο σχεδιασμό της βάσης δεδομένων
  • Υλοποιεί της διαδικασίες ασφάλειας των δεδομένων
  • Αξιολογεί της υπάρχουσες βάσεις και προτείνει βελτιώσεις που αφορούν απόδοση, ασφάλεια, ακεραιότητα δεδομένων
  • Σχεδιάζει, προτείνει και υλοποιεί best practices που αφορούν database design & development
  • Επιλύει προβλήματα που αφορούν τις databases όπως performance, stability, realiability
  • Παρέχει βοήθεια στους application developers σε θέματα προγραμματισμού που αφορούν το data accessing
  • Συμμετέχει στην δημιουργία των databases & functional specifications

Από τα παραπάνω είναι σαφές ότι ένας database developer έχει πολλά να κάνει και δεν του λείπει ο κώδικας . Αντίθετα έχει αρκετές δυνατότητες συγγραφής κώδικα τόσο σε Transact SQL / PL-SQL αλλά και σε άλλες γλώσσες προγραμματισμού όπως C#, C++, Java κλπ.

Ποια όμως είναι ζήτηση στην αγορά εργασίας ενός database developer και που μπορεί να φτάσει η αμοιβή του;

Η ζήτηση για database developer είναι μεγάλη στην αγορά εργασίας. Στο εξωτερικό είναι σίγουρα μεγαλύτερη από ότι στην χώρα μας. Παρόλα αυτά όμως ακόμα και στην Ελλάδα υπάρχει αυξημένη ζήτηση για τον συγκεκριμένο ρόλο.

Οι αμοιβές που υπάρχουν στην αγορά εργασίας για τον ρόλο αυτό είναι κλιμακούμενες ανάλογα με τα προσόντα και την εμπειρία. Δυστυχώς στην Ελλάδα είναι σαφώς χαμηλότερες από ότι στο εξωτερικό.
Στο εξωτερικό οι αμοιβές κυμαίνονται από 45-90Κ δολάρια το χρόνο, με ένα μέσο όρο γύρω στα 75Κ.
Στην Ελλάδα είναι από 25-60Κ ευρώ το χρόνο με μέσο όρο τα 43Κ.

Ένας database developer πως μπορεί να εξελιχθεί (Career Path);

Στο παρακάτω γράφημα μπορεί κανείς να δει ποιο είναι το career path ενός DB developer
db developer career path

Source: www.payscale.com



/*antonch*/

Comments

30 Aug 2015 @ 9:51 AM

user-gravatar

Andreas Venieris

Αφού ευχαριστήσω τον Αντώνη για την όλη προσπάθεια που έχει κάνει για το μοίρασμα της γνώσης με αυτό το Blog, θα ήθελα να παρατηρήσω το εξής:Όσο πιο γρήγορα διαπιστώσουν, αυτοί που βρίσκονται σε θέσης κλειδιά για την επιλογή προσωπικού στις Ελληνικές Εταιρίες και Οργανισμούς, την αναγκαιότητα και την σημαντικότητα της εξειδίκευσης στον τομέα των Βάσεων Δεδομένων τόσο το καλύτερο για όλους μας. Το OneManShow δεν "παίζει" πλέον. Ενίοτε μάλιστα, ενέχει και κινδύνους τόσο για την ποιότητα υπηρεσιών όσο για την φήμη μιας εταιρίας και αυτό επιτέλους πρέπει κάποιοι να το εμπεδώσουν. Το CostCutting δεν μπορεί να αποτελεί πανάκεια εις το διηνεκές...Η μόνη μου αμφιβολία είναι για το Μ.Ο. των αμοιβών Αντώνη, νομίζω οτι είναι αρκετά πιο κάτω. Αν παρ' όλα αυτά έχεις παραδείγματα συγκεκριμένα που να αποδεικνύουν το αντίθετο, pls send me a notice - I 'm really interesting to know about ...!! ;-)Thanks again!

30 Aug 2015 @ 5:08 PM

user-gravatar

Antonios Chatzipavlis

Ευχαριστώ για τα καλά σου λόγια. Τώρα σχετικά με τους ΜΟ των αμοιβών προφανώς μιλάς για το εσωτερικό. Δεν είναι λάθος και αυτό γιατί οι εταιρείες που έχουν τον ρόλο αυτό τόσα δίνουν, έχω πολλά παραδείγματα. Βέβαια το θέμα δεν είναι αυτό αλλά το κάθε πότε πληρώνονται

Antonios Chatzipavlis

Antonios Chatzipavlis

Antonios is a Data Solutions Consultant and Trainer. He has been working in IT since 1988. In his career, he has worked as senior developer, IT Manager, Solutions Architect and IT Consultant. Since 1995 he has been devoted on new technologies and software development tools, mainly by Microsoft, either by training company staff and colleagues or assisting them in design, development and implementation as a consultant or chief developer. He has focused in Databases and Data Science since 1995. He specialized in Microsoft SQL Server since version 6.0 in areas like SQL Server Internals, Database Design and Development, Business Intelligence and in 2010 he has started working with Azure Data Platform, NoSQL databases, Big Data Technologies and Machine Learning. He is an active member of many IT communities in Greece, answering colleagues' questions and writing articles in his web site. He is the owner of SQLschool.gr which is a community portal with a lot of information about Microsoft SQL Server. He has been a Microsoft Certified Trainer (MCT) since 2000. Microsoft honored him as MVP on Data Platform due to his activities in SQL Server since 2010. He holds a large number of Microsoft Certifications and Microsoft SQL Server Certifications since version 6.5.

Tip

What's New in SQL Server 2022 - Episodes

More Tips...

Become a member

If you want to receive updates from us become a member to our community.

Connect

Explore

Learn


sqlschool.gr © 2010-2024 All rights reserved

This site uses cookies for operational and analytics purposes only. By continuing to browse this site, you agree to their use.