एक प्रोग्रामर की जिम्मेदारी है कि वे बुरी तरह से उन्हें लागू करने के बजाय खराब जरूरतों को पीछे धकेलें। इसमें ग्राहकों को यह बताना शामिल है कि वे जो चाहते हैं वह अन्य विकल्पों की तुलना में अधिक महंगा है या जोखिम का एक विशेष सेट है। इसमें पेशेवर तरीके से बुरी खबर को संवाद करना भी शामिल है - चिल्ला नहीं, लोगों को बेवकूफ कहना, इसका मतलब है कि वे मूर्ख या अन्य बचकाना व्यवहार करते हैं। यदि वह पीछे धकेलता है, तो उसके पास कारणों का एक सेट होना चाहिए (अधिक से अधिक, "मुझे SQL सर्वर पसंद नहीं है और इसका उपयोग नहीं करेगा") और प्रस्तुत करने के लिए एक वैकल्पिक योजना।
हालांकि, प्रोग्रामर के पास निर्णय स्वीकार करने और टूल या डिज़ाइन का उपयोग करने की जिम्मेदारी भी होती है, अगर उन्हें अपने पुशबैक को स्वीकार नहीं किया गया था तो वे पसंद नहीं कर सकते हैं। यदि SSRS में एक रिपोर्ट मांगी गई थी, तो उसे क्रिस्टल रिपोर्ट (जो क्लाइंट के पास नहीं हो सकती) को अस्वीकार्य है। यदि एक .net समाधान की आवश्यकता होती है, तो इसे हास्केल में पहुंचाना अस्वीकार्य है। यदि टीम पर कोई अन्य व्यक्ति उस टूल या भाषा का उपयोग नहीं करता है जिसे आप उपयोग करना चाहते हैं, तो इसका उपयोग करना अव्यवसायिक है यदि प्रबंधन सहमत नहीं है कि यह विशेष कार्य के लिए सबसे अच्छा उपकरण है।
एक प्रोग्रामर के पास अपने काम का परीक्षण करने की जिम्मेदारी है। (यह केवल परीक्षण नहीं होना चाहिए, लेकिन किसी भी पेशेवर प्रोग्रामर को उस कोड को नहीं भेजना चाहिए जिसे उसने परीक्षण नहीं किया है।) इसमें कोड की शाखाएं भी शामिल हैं, जिनकी आपको बहुत बार हिट करने की उम्मीद नहीं है। यदि आपके पास नेस्टेड IFs का एक सेट है, तो सभी संभावित मार्गों का परीक्षण करें।
एक प्रोग्रामर के पास त्रुटियों और अपवादों को इनायत से संभालने और उपयोगकर्ता को त्रुटि संदेश लिखने की जिम्मेदारी होती है, जो यह देखेगा कि पेशेवर और तटस्थ हैं जो चुटकुले या अपमानजनक नहीं हैं।
एक प्रोग्रामर के पास निजी डेटा की रक्षा करने, कंपनी के लिए उनके द्वारा लिखे गए मालिकाना कोड की रक्षा करने और उपयोगकर्ताओं को आवेदन के उनके उपयोग से होने वाली तबाही (यहां तक कि खुद को हुई तबाही) से बचाने की जिम्मेदारी है।
एक प्रोग्रामर की जिम्मेदारी है कि वह यह सुनिश्चित करे कि उसका कोड मेंटेनेंस योग्य है और सोर्स कंट्रोल में है।
एक प्रोग्रामर की जिम्मेदारी है कि वह यह सुनिश्चित करने के लिए दूसरों के साथ समन्वय स्थापित करे कि वे जो कुछ भी कर रहे हैं, उसके प्रतिकूल प्रभाव को प्रभावित न करें।
एक प्रोग्रामर के पास डिज़ाइन चरण में टूल या भाषाओं के ग्राहक के लिए सबसे अच्छी पसंद की सिफारिश करने की ज़िम्मेदारी होती है न कि वह उस टूल / भाषा को जो वह साथ खेलना और सीखना चाहता है।
एक प्रोग्रामर के पास एक परियोजना के लिए सभी उपयुक्त कर्मियों के साथ काम करने की जिम्मेदारी होती है, जिसमें वह पसंद नहीं करता है। लोगों को पसंद करना आपका काम नहीं है, उनके साथ काम करना और विनम्र होना आपका काम है।
एक प्रोग्रामर के पास एक उत्पाद का उत्पादन करने की जिम्मेदारी होती है जो एक उचित समय-सीमा में निर्दिष्ट होता है। यदि समय-सीमा पूरी नहीं होने जा रही है, तो उसके पास यह जिम्मेदारी है कि वह प्रबंधन को सूचित करे।
एक प्रोग्रामर की जिम्मेदारी है कि वह प्रोजेक्ट मैनेजमेंट को काम पूरा करने में आने वाली बाधाओं के बारे में बताए। वे तय नहीं कर सकते कि वे क्या जानते हैं।
एक प्रोग्रामर की जिम्मेदारी है कि वह पूरे काम को सिर्फ मज़ेदार, दिलचस्प हिस्सों के रूप में न करे। हर काम के कुछ उबाऊ हिस्से हैं, उन्हें अभी भी करने की आवश्यकता है। इसमें टाइमशीट और प्रोजेक्ट मैनेजमेंट सॉफ्टवेयर में चर्चा आइटम जोड़ने जैसी चीजें शामिल हैं। इसमें प्रलेखन, कोड समीक्षा आदि जैसी चीजें शामिल हैं।
एक प्रोग्रामर की जिम्मेदारी है कि वह व्यवसाय के क्षेत्र को सीखे जो वह प्रोग्रामिंग अवधारणाओं का समर्थन नहीं कर रहा है।
एक प्रोग्रामर के पास अपने कौशल को अप-टू-डेट रखने की जिम्मेदारी है।
जब एक प्रोग्रामर गड़बड़ करता है, तो उसकी जिम्मेदारी होती है कि वह जल्द से जल्द मानवीय समस्याओं को ठीक करने के लिए अपनी शक्ति से सब कुछ करे। इसमें प्रबंधन को बुरी खबर देने के बजाय छिपाने की कोशिश की जा सकती है कि आपने उत्पादन डेटाबेस में एक महत्वपूर्ण तालिका को हटा दिया है।
एक प्रोग्रामर के पास किसी भी अन्य कार्यकर्ता की समान जिम्मेदारियां होती हैं - समय पर काम करने के लिए, अनुबंधित किए गए घंटों को काम करने के लिए, अग्रिम में छुट्टी का समय मांगने के लिए, फोन और ईमेल संदेशों का जवाब देने के लिए (उनके ईमेल पढ़ने के लिए), आवश्यक रूपों को भरने के लिए एचआर, आदि।