Ένας συμβουλευτικός μηχανικός λογισμικού είναι ένας ειδικός υπολογιστών που έχει προσληφθεί από έναν πελάτη για να συνεργαστεί με μια ομάδα ανάπτυξης λογισμικού για να δημιουργήσει ένα συγκεκριμένο πρόγραμμα ή εφαρμογή υπολογιστή. Αυτό το άτομο έχει ευθύνες τόσο με τον πελάτη όσο και με την ομάδα λογισμικού. Πρέπει να επιβλέπει την ομάδα και να διασφαλίζει ότι η δουλειά γίνεται σωστά και εγκαίρως. Επιπλέον, ο μηχανικός πρέπει να παραμείνει σε επαφή με τον πελάτη για να παρέχει ενημερώσεις σχετικά με την πρόοδο και να υποβάλει τυχόν αιτήματα για αλλαγές. Ένας μηχανικός πρέπει επίσης να εκτελέσει εργασίες προγραμματισμού και να ενημερώσει ανεξάρτητα την εκπαίδευσή του για να παραμείνει ενημερωμένος στον τομέα της μηχανικής υπολογιστών.
Όταν μια εταιρεία χρειάζεται ένα πρόγραμμα υπολογιστή που έχει δημιουργηθεί, αλλά δεν έχει τη δυνατότητα να το παράγει στο σπίτι – π.χ. ένα παντοπωλείο που χρειάζεται νέο λογισμικό απογραφής – ένας μηχανικός λογισμικού συμβούλων προσφέρεται να συνεργαστεί με μια ομάδα σχεδιασμού υπολογιστών για να εξασφαλίσει την η διαδικασία κυλά ομαλά. Ο σύμβουλος μηχανικός μαθαίνει πρώτα τι χρειάζεται ο πελάτης στο λογισμικό του και επιβλέπει την ομάδα σχεδιασμού για να διασφαλίσει ότι οι στόχοι αυτοί επιτυγχάνονται. Ο μηχανικός παρακολουθεί προθεσμίες, προϋπολογισμούς, εξετάζει το λογισμικό για να βεβαιωθεί ότι ανταποκρίνεται στις προσδοκίες και θέτει στόχους για την ομάδα.
Ένα άλλο σημαντικό καθήκον ενός συμβουλευτικού μηχανικού λογισμικού είναι να ενεργεί ως σύνδεσμος μεταξύ των προγραμματιστών λογισμικού και του πελάτη. Είναι δουλειά του συμβούλου να αναφέρει την κατάσταση του έργου στον πελάτη σε απλή γλώσσα, έτσι ώστε οι ειδικοί εκτός υπολογιστών να μπορούν να καταλάβουν. Εάν ο πελάτης απαιτήσει αλλαγές, είναι δουλειά του συμβούλου να καθορίσει εάν αυτές οι αλλαγές μπορούν να γίνουν και να δώσει τις νέες παραγγελίες στην ομάδα λογισμικού. Επειδή ο μηχανικός λογισμικού λαμβάνει πληροφορίες και από τις δύο πλευρές της λειτουργίας, είναι σημαντικό να έχουμε εξαιρετικά καλές δεξιότητες επικοινωνίας.
Η χρήση δεξιοτήτων προγραμματισμού υπολογιστών είναι επίσης ένα σημαντικό στοιχείο αυτής της εργασίας. Ένας συμβουλευτικός μηχανικός λογισμικού πρέπει να έχει υψηλό βαθμό κατανόησης προγραμματισμού και συχνά πρέπει να γράφει κώδικα εάν παρουσιάζεται ένα πρόβλημα που η ομάδα σχεδιασμού δεν μπορεί να ξεπεράσει. Ένας μηχανικός δοκιμάζει επίσης το λογισμικό για να βεβαιωθεί ότι λειτουργεί σωστά και αναφέρει τυχόν σφάλματα ή ελαττώματα στην ομάδα σχεδιασμού.
Η παρακολούθηση της τεχνολογίας και των τεχνικών προγραμματισμού είναι ένα άλλο σημαντικό καθήκον αυτής της εργασίας. Η παρακολούθηση μαθημάτων και σεμιναρίων για περαιτέρω εκπαίδευση είναι σημαντική για έναν συμβουλευτικό μηχανικό λογισμικού. Η ενημέρωση για τις τάσεις, τα ζητήματα και τις τακτικές διασφαλίζει ότι ο πελάτης λαμβάνει το καλύτερο λογισμικό για τις συγκεκριμένες ανάγκες του.