सिम्बियन की मूल भाषा C++ है, हालांकि यह एक मानक कार्यान्वयन नहीं है। सिम्बियन OS पर आधारित कई प्लेटफॉर्म हैं जिन्होंने सिम्बियन OS उपकरणों को लक्ष्य बनाने वाले अनुप्रयोग विकासकर्ताओं के लिए SDK उपलब्ध कराया - इनमें से प्रमुख S60 और UIQ है। व्यक्तिगत फोन उत्पादों, या परिवारों में अक्सर SDK या SDK एक्सटेंशन होता था जो निर्माता की वेबसाइट से भी डाउनलोड योग्य था। 
सिम्बियन प्लेटफॉर्म में एकीकृत विभिन्न UI प्लेटफॉर्मों के साथ, 2010 के बाद से निर्माताओं के SDK के बीच कम विविधता होनी चाहिए.

SDK में प्रलेखन शामिल होता है, सिम्बियन OS सॉफ्टवेयर के निर्माण के लिए हेडर फाइल और लाइब्रेरी फ़ाइल की आवश्यकता होती है और एक Windows-आधारित यंत्रानुकारी की ("WINS"). सिम्बियन OS संस्करण 8 तक, SDK में GCC संकलक (एक पार-संकलक) का एक संस्करण भी शामिल है, जिसकी आवश्यकता उपकरण पर काम करने के लिए सॉफ्टवेयर के निर्माण के लिए होती है।

सिम्बियन OS 9 और सिम्बियन प्लेटफॉर्म एक नए ABI का उपयोग करते हैं और इन्हें एक भिन्न संकलक की आवश्यकता होती है - GCC के एक नए संस्करण सहित, अपने पसंद के संकलक उपलब्ध हैं (नीचे बाह्य लिंक देखें).

दुर्भाग्य से, सिम्बियन C++ प्रोग्रामिंग में एक गहरी लर्निंग कर्व है, क्योंकि सिम्बियन में विशेष तकनीकों के उपयोग की आवश्यकता है जैसे विवरणक और सफाई स्टैक. अन्य वातावरण में कार्यान्वयन के लिए यह अपेक्षाकृत सरल प्रोग्रामों को भी कठिन बना सकता है। इसके अलावा, यह संदिग्ध है कि सिम्बियन की तकनीकें, जैसे स्मृति प्रबंधन प्रतिमान, वास्तव में फायदेमंद होते हैं। यह संभव है कि इन तकनीकों ने, जिन्हें 1990 के दशक के अधिक प्रतिबंधित मोबाइल हार्डवेयर के लिए विकसित किया गया था, बस स्रोत कोड में अनावश्यक जटिलता का कारण बनीं क्योंकि प्रोग्रामरों को अनुप्रयोग-विशिष्ट सुविधाओं के बजाय निम्न-स्तरीय रूटीन पर ध्यान केंद्रित करने की आवश्यकता थी। हालांकि और अधिक उच्च स्तरीय और आधुनिक प्रोग्रामिंग प्रतिमान की दिशा में कदम बढ़ाना मुश्किल लगता है।

सिम्बियन C++ प्रोग्रामिंग को सामान्य रूप से IDE से किया जाता है। सिम्बियन OS के पिछले संस्करणों के लिए, वाणिज्यिक IDE कोडवॉरिअर को सिम्बियन OS के लिए पसंद किया गया. कोडवॉरिअर उपकरणों को 2006 के दौरान Carbide.c++ से बदल दिया गया, Nokia द्वारा विकसित एक एक्लिप्स आधारित IDE. Carbide.c++ को चार अलग-अलग संस्करणों में पेश किया जाता है: एक्सप्रेस, डेवलपर, प्रोफेशनल और OEM, बढ़ती क्षमता क्रम में. पूर्ण विशेषताओं वाले सॉफ्टवेयर को एक्सप्रेस संस्करण द्वारा बनाया और जारी किया जा सकता है, जो मुफ्त है। UI डिज़ाइन, क्रैश डिबगिंग आदि जैसी सुविधाएं, अन्य भुगतान युक्त संस्करण में उपलब्ध हैं। Microsoft Visual Studio 2003 और 2005 भी Carbide.vs प्लगइन के माध्यम से समर्थित हैं।

सिम्बियन के C++ का फ्लेवर बहुत विशेष है। हालांकि, सिम्बियन उपकरणों को Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets और Standard C/C++ के प्रयोग से प्रोग्रामित किया जा सकता है।.

Visual Basic विकासकर्ता, S60 3 संस्करण और UIQ 3 उपकरणों के लिए अनुप्रयोग विकसित करने के लिए NS Basic का उपयोग कर सकते हैं।

अतीत में सिम्बियन के लिए Visual Basic, VB.NET और C# विकास, AppForge क्रॉसफायर द्वारा संभव था, जो Microsoft Visual Studio के लिए एक प्लगइन था। 13 मार्च 2007 को AppForge का संचालन बंद हो गया; Oracle ने बौद्धिक संपदा खरीद ली, लेकिन घोषित किया कि पूर्व AppForge उत्पादों को बेचने या उन्हें समर्थन प्रदान करने की उनकी कोई योजना नहीं है। Net60, सिम्बियन के लिए एक .NET कॉम्पैक्ट फ्रेमवर्क, जिसे redFIVElabs द्वारा विकसित किया गया, उसे एक वाणिज्यिक उत्पाद के रूप में बेच दिया गया. Net60, VB.NET और C# (और अन्य) स्रोत कोड को एक मध्यवर्ती भाषा (IL) में संकलित किया जाता है जिसे जस्ट-इन-टाइम संकलक के प्रयोग से सिम्बियन OS के भीतर क्रियान्वित किया जाता है। (यथा 18/1/10 RedFiveLabs ने अपने लैंडिंग पृष्ठ पर इस घोषणा के साथ Net60 के विकास को बंद कर दिया: इस स्तर पर हम IP बेचने के कुछ विकल्प पर विचार कर रहे हैं ताकि Net60 का भविष्य जारी रख सकें.)

सिम्बियन OS के लिए बोरलैंड IDE का एक संस्करण भी है। सिम्बियन OS का विकास Linux और Mac OS X पर भी संभव है, जिसके लिए समुदाय द्वारा विकसित उपकरणों और तकनीकों का उपयोग होता है, जो आंशिक रूप से सिम्बियन द्वारा महत्वपूर्ण उपकरणों के लिए स्रोत कोड जारी करने से सक्षम होता है। एक प्लगइन जो सिम्बियन OS अनुप्रयोगों को Mac OS X के लिए Apple के Xcode IDE में विकास करने की अनुमति देता है, उपलब्ध है।

एक बार विकसित होने के बाद, सिम्बियन अनुप्रयोगों को ग्राहकों के मोबाइल फोन तक एक रास्ता खोजने की जरूरत होती है। वे SIS फ़ाइल में पेक किया जाता है जिसे PC कनेक्ट, ब्लूटूथ के माध्यम से ओवर-द-एयर स्थापित किया जा सकता है, या एक मेमोरी कार्ड पर भी. एक विकल्प है किसी फोन निर्माता के साथ भागीदारी करना और सॉफ्टवेयर को फोन पर ही शामिल करवा देना. SIS फ़ाइल मार्ग, सिम्बियन OS 9.x के लिए अधिक मुश्किल है, क्योंकि कोई भी अनुप्रयोग जिसमें न्यूनतम से परे क्षमताओं का होना वांछित है उसे Symbian Signed कार्यक्रम के माध्यम से हस्ताक्षरित होना आवश्यक है। लेकिन इसके विभिन्न तोड़ हैं, जो सिम्बियन OS 9.x. में किसी भी क्षमताओं वाले अहस्ताक्षरित प्रोग्राम को स्थापित करने की अनुमति देते हैं।

Symbian Signed प्रणाली का परिचय, जिसमें अनुप्रयोग विकासकर्ता को स्मार्टफोन की अधिक आकर्षक सुविधाओं (Palm OS और Windows Mobile जैसे प्लेटफार्मों के विपरीत) का उपयोग करने के लिए कुछ भुगतान करने की आवश्यकता होती है, इसे मुक्त स्रोत परियोजनाओं, स्वतंत्र विकासकर्ताओं और छोटे स्तर के शुरुआत करने वालों के लिए अधिकाधिक अलोकप्रिय प्लेटफॉर्म बना रहा है। यह स्थिति, उपयोगकर्ता इंटरफ़ेस सिस्टम (UIQ बनाम S60 बनाम MOAP) के विखंडन से और बदतर हो गई, जिसका अर्थ है कि विकासकर्ताओं को अपने सॉफ्टवेयर के कई असंगत संस्करणों को बनाने और देख-भाल करने की आवश्यकता है, अगर वे कई उपकरणों को लक्षित करना चाहते हैं जो अंतर्निहित समान सिम्बियन OS संस्करण का प्रयोग करता है।

सिम्बियन OS के लिए Java ME अनुप्रयोग को मानक तकनीक और उपकरण का उपयोग करके विकसित किया जा रहा है जैसे Sun Java Wireless Toolkit (पूर्व में J2ME वायरलेस टूलकिट) उन्हें JAR फ़ाइलों के रूप में पैक किया जाता है (और संभवतः JAD). CLDC और CDC, दोनों अनुप्रयोगों को NetBeans के साथ बनाया जा सकता है। अन्य उपकरणों में शामिल है SuperWaba, जिसे Java का इस्तेमाल करते हुए सिम्बियन 7.0 और 7.0s प्रोग्राम के निर्माण के लिए प्रयोग किया जा सकता है।

Nokia S60i फोन, जब S60 के लिए पाइथन दुभाषिया स्थापित हो तो पाइथन स्क्रिप्ट भी चला सकता है, जिसमें होगा विशेष निर्मित API जो ब्लूटूथ समर्थन की अनुमति देता है। इसमें एक सहभागी कंसोल भी है जो उपयोगकर्ता को सीधे फोन से पाइथन स्क्रिप्ट लिखने की अनुमति देता है।


सिम्बियन OS 80
सिम्बियन OS पर विकास
मालवेयर
सिम्बियन OS 9