Τα καθήκοντα και οι ευθύνες ενός προγραμματιστή λογισμικού μπορεί να διαφέρουν κάπως ανάλογα με τις ανάγκες της εταιρείας για την οποία εργάζεται. Σε γενικές γραμμές, ωστόσο, οι προγραμματιστές είναι συνήθως υπεύθυνοι για τη δημιουργία, επεξεργασία και αξιολόγηση κώδικα που χρησιμοποιείται για τη δημιουργία λογισμικού υπολογιστών και διάφορων τύπων προγραμμάτων και βοηθητικών προγραμμάτων. Μπορεί να εμπλέκονται στα πρώτα στάδια του σχεδιασμού ενός νέου προγράμματος και της δημιουργίας του εγγράφου σχεδιασμού που θα χρησιμοποιηθεί στη συνέχεια κατά την υπόλοιπη ανάπτυξη. Υπάρχουν επίσης πολλές καταστάσεις στις οποίες ένας προγραμματιστής απλώς ακολουθεί το έγγραφο που δημιουργήθηκε από άλλους και εργάζεται για να διασφαλίσει ότι πληρούνται όλα τα απαιτούμενα πρότυπα.
Μία από τις πιο σημαντικές ευθύνες ενός προγραμματιστή λογισμικού είναι η δημιουργία νέου κώδικα που χρησιμοποιείται για τη δημιουργία ενός προγράμματος λογισμικού. Αυτό μπορεί να επιτευχθεί με διάφορους τρόπους, ανάλογα με τη γλώσσα προγραμματισμού και την πλατφόρμα που χρησιμοποιεί ο προγραμματιστής λογισμικού. Σε γενικές γραμμές, ωστόσο, η ανάπτυξη περιλαμβάνει συνήθως τη δημιουργία εκατοντάδων, χιλιάδων ή ακόμη και εκατομμυρίων γραμμών κώδικα που χρησιμοποιούνται για να λειτουργήσει σωστά το πρόγραμμα. Όλα αυτά δημιουργούνται από έναν προγραμματιστή λογισμικού, αν και ομάδες προγραμματιστών συνήθως συνεργάζονται σε μεγάλα έργα.
Ο κώδικας που δημιουργεί ένας προγραμματιστής λογισμικού βασίζεται συνήθως στις ανάγκες της εταιρείας στην οποία εργάζεται και στο επιθυμητό αποτέλεσμα για ένα συγκεκριμένο πρόγραμμα. Αυτό συχνά καθορίζεται από ένα έγγραφο σχεδιασμού που δημιουργείται στην αρχή ενός κύκλου ανάπτυξης, το οποίο στη συνέχεια σκιαγραφεί διάφορες πτυχές του τελικού λογισμικού. Ένας προγραμματιστής μπορεί να χρησιμοποιήσει αυτό το έγγραφο για να καταλάβει καλύτερα πώς πρέπει να φαίνεται και να λειτουργεί το τελικό πρόγραμμα. Οι προγραμματιστές μπορεί να συμμετέχουν στη δημιουργία αυτού του εγγράφου, αν και οι αρχηγοί ομάδων και οι κύριοι προγραμματιστές συνήθως το δημιουργούν και στη συνέχεια το χρησιμοποιούν για να καθοδηγήσουν το έργο διαφορετικών προγραμματιστών που εργάζονται σε ένα κομμάτι λογισμικού.
Καθώς διάφορα τμήματα κώδικα ολοκληρώνονται και συνδυάζονται για να ξεκινήσει η δημιουργία του τελικού προγράμματος, ένας προγραμματιστής λογισμικού μπορεί επίσης να συνεργαστεί με δοκιμαστές και άλλα τμήματα ως μέρος μιας μεγαλύτερης προσπάθειας. Ο έλεγχος περιλαμβάνει συνήθως πολλά άτομα που χρησιμοποιούν πρόγραμμα ή εφαρμογή λογισμικού για να δουν πόσο καλά λειτουργεί. Καθώς εντοπίζονται προβλήματα και σφάλματα, εκδίδονται αναφορές που λαμβάνονται από προγραμματιστές που τις χρησιμοποιούν για να δημιουργήσουν ξανά το πρόβλημα και να βρουν την πηγή του. Ένας προγραμματιστής αλλάζει το λογισμικό και προσθέτει τεκμηρίωση μέσα στον ίδιο τον κώδικα για να δείξει σε άλλους γιατί έγιναν αυτές οι αλλαγές, επιτρέποντας σε μια ομάδα να συνεργαστεί καλύτερα και να δει τι έχουν κάνει οι άλλοι.