İnternette İstediğiniz Gibi Çevrimiçi Para Kazanma!

Kodsuz geliştirici olma kılavuzu

Hiçbir resmi teknik altyapıya sahip olmadığım durumdan profesyonel yazılım geliştirmeye uzanan yolculuğum.

Beni tanıyan herkese artık bir geliştirici olduğumu söylediğimde nefesleri kesiliyor. Bunun saçmalığı beni de güldürüyor. Üniversitede Sosyoloji ve Brezilya çalışmaları üzerine uzmanlaştım ve menşe bölgemi (Orta Doğu) ve Latin Amerika’yı Güney’den Güney’e kalkınma ruhuyla birbirine yaklaştırabileceğimi düşündüm. Ancak mezun olduğumda çoğunlukla sorumlu işletmelerde iş arıyordum. Fazla deneyimim yoktu bu yüzden ne bekleyeceğimi bilmiyordum.

Sonunda AirDev’de, bana sadece 6 haftada karmaşık yazılımların sıfırdan nasıl oluşturulacağını öğretebileceğini iddia eden bir burs fırsatı buldum! Doğal olarak AirDev’in vaadi kulağa saçma geliyordu ama yine de başvurdum. Altı ay sonra, hala kodlama deneyimim olmadan, geleneksel geliştiricilerin her birini oluşturması aylar sürecek birden fazla uygulama geliştirdim.

Kodlama veya programlama konusunda herhangi bir deneyiminiz yoksa ve kendi yazılımınızı oluşturmak için Bubble gibi görsel bir programlama dili kullanmakla ilgileniyorsanız, başladığımda keşke bilseydim dediğim şu 6 şeyi bilmek isteyebilirsiniz:

1. Bubble’da sürükleyip bırakmaktan daha fazlası var

Bubble, yazılım geliştirmeyi çok kolay hale getiriyor: yalnızca öğeleri sürükleyip bırakıyorsunuz, onlara günlük dili kullanarak ne yapacaklarını söylüyorsunuz ve işte, karmaşık bir yazılımınız var! Hatta Yelp benzeri bir uygulamayı 30 dakikada yapabileceğinizi bile iddia ediyor, ancak yeni başlayan biri olarak AirBnb’nin oldukça basit bir versiyonunu yapmak tam bir haftamı aldı ve bu ancak AirDev ekibinden aldığım tüm destek sayesinde mümkün oldu. . Dolayısıyla, bir Bubble uygulaması oluşturmanın reklamı yapıldığı kadar kolay olmadığını düşünüyorsanız, umutsuzluğa kapılmayın ve Bubble forumunda yanıtlar arayın.

2. Bubble hâlâ bilgisayarla konuşuyor

Bubble’ı tam insan cümleleriyle beslediğiniz için editörün “konumumdan 3 ila 7 mil uzaktaki tüm aktif kişileri bul” gibi bir komutu anlamasını bekledim ve anlamadığı her seferde bir sınırlama bulduğum sonucuna vardım . Gerçekte, komutlarımı bir bilgisayarın anlayabileceği birimlere ayırmam gerekiyordu (“kişilerimdeki kullanıcıları bul”, ardından “kimlerin aktif olduğunu kontrol et”, ardından “konumumdan 7 mil uzakta kimlerin olduğunu gör” ve ardından “bunları hariç tut” gibi bir şey) Bulunduğum yerden 2 mil uzakta”). Bilgisayarlar aynı anda tek bir bilgi parçasını işlediğinden, komutlarınızı en basit biçimlerine ayırdığınızdan emin olun.

3. Veritabanı yapısı çevik olmalı

Bir veritabanı verileri düzenler ve bilgisayara bilginin nerede saklanacağını ve ona nasıl erişileceğini söyler. Uygulamanızın nasıl çalışacağına dair sağlam bir anlayış, veritabanı yapısına bilgi vermelidir. Örneğin, kullanıcıların X Şeyini derecelendirebilmesini istiyorsanız, Thing X nesnesine bir alan olarak “derecelendirme”yi ekleyebilir veya “Derecelendirme” adında ayrı bir nesne oluşturabilir ve ardından bu derecelendirmeyi Şey X’e ekleyebilirsiniz. İlki, daha basittir ancak daha sonra daha esnektir. Daha iyi yaklaşım, derecelendirmeleri nasıl kullanmayı beklediğinize bağlıdır; bu nedenle, uygulamanızın kullanıcı akışlarını ve gelecekteki yönünü akılda tutmak, sağlam bir veritabanı oluşturmanıza yardımcı olur.

4. Direkt yol çalışmıyorsa muhtemelen yan yollar vardır

Bubble’ın yapmasını istediğim şeyi sağlayacak yerleşik bir işlevi yoksa bunun yapılamayacağını düşündüm. Ancak bazen bazı karışıklıkların sorunu çözebileceğini ve bunun kabul edilebilir olduğunu öğrendim. Örneğin, Bubble şu anda tüm denklemleri soldan sağa doğru işliyor; dolayısıyla belirli bir işlem sırası gerektiren bir denklem hesaplamak için, her biri denklemin bir bölümünü tutan birkaç gizli giriş oluşturabilir ve ardından sıraya göre birkaç basit hesaplama yapabilirsiniz. Zarif değil ama işi hallediyor.

5. Duyarlılık ve tasarım çok zaman alır

Bir web sitesinde renklerin ve şekillerin birlikte güzel görünmesini sağlamak teoride kolay gibi görünse de pratikte çok daha zordur. Bu nedenle, zaman kazanmak için ilham arayın ve editörle oynamadan önce ne oluşturmak istediğinize dair sağlam bir fikre sahip olun. Dahası, bir web sitesinin farklı ekran boyutlarında ve cihazlarda çalışmasını sağlamak için, ekran boyutu değiştiğinde öğelerin kendi başlarına ve birbirleriyle ilişkili olarak nasıl davrandıkları konusunda saatlerce denemeler yapılması gerekir. Bu nedenle, yanıt verme hızına ve tasarıma harcayacağınız zamanın büyük bir kısmını ayırın.

6. Kendi yazılımınızı oluşturmak güçtür!

Şu anda boş zamanlarımda tutkulu olduğum bir amaç için bir uygulama üzerinde çalışıyorum. Teknik olmayan geçmişim göz önüne alındığında, Bubble gibi bir şey olmasaydı bu benim için mümkün olmazdı. Yazılım oluşturmak başlı başına tutkunuz olmayabilir; yine de bu dijital çağda size tutku duyduğunuz şeyi destekleme gücü verir. Benim durumumda bu sosyal nedenler ama aslında herhangi bir şey de olabilir.