Her meslekte olduğu gibi bu mesleğe de gönül vermek birinci şarttır. Günde 2 saat çalışmayla ile bir programlama dilinin %20-30'unu bilerek yazılımcı olunmaz. İsterseniz 4 yıllık bir bölümünden mezun olun, programlama derslerinde sadece size derste anlatılanları öğrenmişseniz, ek çaba sarf etmemişseniz, kısacası isteyerek o işi yapmıyorsanız o meslekte ileri seviyelere gelmeniz oldukça zordur. Öncelikle sabırlı ve yılmayan bir kişiliğe sahiptir. Yazılımdaki hataları (bug) teker teker sabırla ayıklayıp, bir problemle karşılaştığında yılmadan çözüm arayan kişidir. Gelişmiş derleyiciler ile yazılımdaki hataları bulmak kolaylaşsa da bazı Çalışma zamanı ve Mantık hatalarının çözümü saatler alabilir. Hazırcı kişiliğe sahip olanlardan yazılımcı olmaz. Bazı insanlar doğası gereği iş yapmaya meyilli değillerdir, tembel ve uyuşuk kişilikler; "Parası neyse verip alalım" düşüncesindedirler. Yazılımcı tabi ki başkalarının kodlarını inceler, ufkunu geliştirir ama genelde kendi yöntemi ile problemi daha kısa sürede ve daha az kaynak harcayarak çözme peşindedir. Maliyetleri (cost) en aza indirmenin yolunu da arar. Sürekli okuyan, araştıran ve yenilikçi bir özelliğe sahip olmalıdır. Çünkü programlama dilleri zamanla değişime uğrarlar ve teknolojik olarak zengin özellikler kazanırlar. Örneğin Java, C#, PHP gibi diller, ortalama 2-3 yıl içerisinde değişime uğrarlar ve bazen kodlar tamamen değişir. Bazen öğrenilen diller tamamen literatürden kalkar, örneğin Dbase, Fortran, Pascal gibi. Genelde mantık olarak yazılım dilleri arasında benzerlikler de vardır. Örneğin C++ bilen bir kişi bir-iki hafta içinde Java öğrenebilir, ya da Java bilen bir kişi kısa sürede C# programlama dili ile program yazabilir. Fakat bir programlama dilini öğrenmek, algoritma kurma mantığını anlamak için bol örnek yapmak ve farklı kod yaklaşımlarını incelemek gereklidir, bu nedenle biraz zaman alması doğaldır. Algoritma kurma yeteneği önemlidir, örneğin günlük hayatta bile işleri planlama, sıraya dizme yeteneği iyi olmalıdır. Genelde matematiksel düşünce gücü iyi olanlar, problemi parçalara bölerek aşama aşama çözenlerden iyi yazılımcı olur. İşe diğer açıdan bakacak olursak, aslında bir programlama dili öğrenmek, insanların hayatlarını kolaylaştırır, çünkü işlerini planlayarak aşama aşama yapmayı öğrenirler. Bu nedenle belki Apple kurucusu Steve Jobs aşağıdaki lafı etmiştir.