Ένας επιστημονικός προγραμματιστής είναι ένας ειδικευμένος επαγγελματίας τεχνολογίας πληροφοριών. Δεν υπάρχει απαίτηση για ειδική εκπαίδευση στην επιστήμη, αλλά οποιαδήποτε εμπειρία σε αυτόν τον κλάδο θα ήταν χρήσιμη. Υπάρχουν τρεις βασικοί τομείς εργασίας για έναν επιστημονικό προγραμματιστή: συνάντηση με επιστήμονες και ερευνητές για να καθοριστεί τι χρειάζονται, προγραμματισμός μιας σειράς συστημάτων για την κάλυψη αυτής της ανάγκης, προσαρμογή στις μεταβαλλόμενες απαιτήσεις που παρέχουν οι επιστήμονες.
Για να πληροί τις προϋποθέσεις για αυτόν τον τύπο θέσης, ο υποψήφιος πρέπει να έχει συνδυασμό ακαδημαϊκών διαπιστευτηρίων και εμπειρίας με επιστημονικό προγραμματισμό. Στις περισσότερες περιπτώσεις, τα απαιτούμενα προγράμματα πρέπει είτε να γράφονται από την αρχή είτε να δημιουργούνται με εκτεταμένη προσαρμογή των υφιστάμενων εργαλείων. Απαιτείται τουλάχιστον 10 χρόνια μηχανικής λογισμικού και διαχείρισης κύκλου ζωής.
Η κατανόηση του τι απαιτούν οι ερευνητές είναι ο κύριος ρόλος του επιστημονικού προγραμματιστή. Η εμπειρία εργασίας σε ερευνητικό περιβάλλον μπορεί να είναι πολύ χρήσιμη. Μεταξύ των δεξιοτήτων που αποκτήθηκαν σε αυτόν τον τομέα, το απόρρητο, η δημιουργικότητα και η σαφής επικοινωνία είναι τα πιο σημαντικά. Οι ερευνητές είναι ιδιαίτερα ανταγωνιστικοί και συχνά προστατεύουν τη δουλειά τους από άλλους ενώ βρίσκονται στο στάδιο της ανάπτυξης.
Χρησιμοποιώντας τη βαθιά κατανόησή του για μια σειρά από γλώσσες υπολογιστών και λειτουργικά συστήματα, ο επιστημονικός προγραμματιστής είναι υπεύθυνος για την ανάπτυξη νέων προγραμμάτων για την κάλυψη των αναγκών των χρηστών. Αυτός ο ρόλος περιλαμβάνει ένα σημαντικό ποσό επικοινωνίας και αλληλεπίδρασης με ένα ευρύ φάσμα ανθρώπων. Οι αρχικές απαιτήσεις μπορεί να παρέχονται από τον επιστήμονα ή τον κύριο ερευνητή, αλλά οι δοκιμές θα γίνουν από τους φοιτητές της έρευνας.
Η εφαρμογή ενός νέου προγράμματος απαιτεί έναν ολόκληρο κύκλο δραστηριοτήτων. Το πρώτο βήμα είναι να σχεδιάσουμε τις ακριβείς προδιαγραφές, όπως τις αντιλαμβάνεται ο προγραμματιστής. Το πρόγραμμα στη συνέχεια αναπτύσσεται και δοκιμάζεται από τους ερευνητές φοιτητές. Οι διορθώσεις, οι αναθεωρήσεις και οι τροποποιήσεις είναι φυσιολογικές σε αυτήν τη διαδικασία. Μετά την αποδοχή από τους ερευνητές, το πρόγραμμα παρέχεται στον ερευνητή για έλεγχο. Μόλις δοκιμαστεί, μπορεί τώρα να χρησιμοποιηθεί από την ομάδα. Συχνά απαιτείται τεκμηρίωση του προγράμματος και μπορεί να αποτελέσει μέρος της ερευνητικής εργασίας, εάν δημοσιευτεί.
Με την πάροδο του χρόνου, υπάρχουν συχνά αιτήματα για αλλαγή υφιστάμενων προγραμμάτων. Αυτές οι αλλαγές συνήθως συμπληρώνονται από τον αρχικό προγραμματιστή, καθώς είναι περισσότερο εξοικειωμένος με τις λεπτομέρειες. Ως εκ τούτου, ο επιστημονικός προγραμματιστής βασίζεται συχνά σε εκτενείς σημειώσεις για να καταλάβει τι έγινε και τι πρέπει να αλλάξει για να ικανοποιήσει τις νέες απαιτήσεις. Κάθε αλλαγή προγραμματισμού πρέπει να περνάει από την ίδια διαδικασία δοκιμής, για να διασφαλιστεί ότι το πρόγραμμα πληροί όλες τις απαιτήσεις.