Bilinen / ortak gelişme uzmanlıkları nelerdir? [kapalı]


10

Başka bir soruya gönderdiğim bir cevapta, yazılım geliştirmede gittikçe daha fazla uzmanlaşma olacağını belirttim: verilen programlama türü için uzmanlar veya uzmanlar var.

Merak ediyorum, şu anda sektörde (akademi değil) makul miktarlarda var olduğu bilinen, teknolojiye özgü olmayan (örneğin, bu tartışma için winforms bir uzmanlık değil) hangi uzmanlıkların var olduğu biliniyor? Ayrıca gerekirse böyle bir uzmanın çalışması gerekecek endüstri ile ilgileniyorum.

Yanıtlar:


18

Gördüğüm gibi iki uzmanlık kategorisi var:

  1. belirli bir programlama alanında uzmanlaşma;
  2. veya sorunlu bir alanda uzmanlaşma.

Programlama konusuna örnek olarak şunlar verilebilir:

  • Gömülü
  • GUI
  • görüntüleme
  • Test yapmak

Sonra belirli bir sorun alanında uzmanlık var gibi

  • Parasal
  • İlmi
  • Tıbbi
  • Hemen hemen tüm büyük endüstriler bir problem alanı olarak kabul edilebilir

Bence bu önemli bir ayrım.


4

Gömülü sistem programlama (30 yılı aşkın bir süredir meşgul olduğum), diğer tüm yazılım geliştirme türlerinden oldukça farklı bir zihniyet gerektirir. Hesaplama gücü aralığı, 30 kuruşa mal olan 8 bitlik mikrodenetleyicilerden Linux veya başka bir ortak işletim sistemi çalıştıran 32 bitlik mikroişlemcilere kadar geniş bir yelpazede değişir. Şu anda bu ölçeğin iki ucunda da projeler yapıyorum. En küçük mikrolar üzerindeki kod belleği, sadece birkaç yüz bayt RAM ile sadece birkaç KB olabilir. Miktarı 3 dolar olan orta menzilli 16 bitlik bir mikro 256KB program depolama alanına ve 16KB RAM'e sahip olabilir.

Sınırlı bellek kaynaklarının yanı sıra, gömülü programlamanın diğer yazılım geliştirme alanlarından farklı olan yönlerinden biri, programlayıcının genellikle donanımla doğrudan kayıt düzeyinde - mikro kendisinde veya bağlı bir çevre biriminde - uğraşmasıdır. mikro, UART, SPI veya I2C gibi seri veriyolları aracılığıyla. Bu nedenle, düşük uçlu gömülü mikrolar genellikle C veya montaj dilinde programlanır.

Gömülü sistemler genellikle gerçek zamanlı olaylarla ilgilenir, bu nedenle gömülü ürün yazılımı programı genellikle birçok kesme rutine ve küçük bir RTOS'a (gerçek zamanlı işletim sistemi) sahiptir. Bu tür sistemlerde hata ayıklamak için genellikle mikroya birkaç ayrı hat kullanarak donanım yardımı gerekir, böylece kesme noktaları bir bilgisayardan uzaktan ayarlanabilir. Mantık analizörleri, veriyolu analizörleri ve osiloskoplar bu sistemlerde hata ayıklamak için kullanılan ek araçlardır.

Gömülü geliştirmenin donanım yönleri nedeniyle, geliştiriciler genellikle bazı elektronik arka plana sahiptir. (EE ve CS'de derecelerim var).


1

"Geliştirici DBA" rolü / ekibi var, ancak yeterince yaygın veya takdir edilmiyor.

Daha büyük mağazalardan bahsetmişken, bir Üretim DBA ekibinin yönetmek ve izlemek, olağanüstü durum kurtarma, SAN, ağ ve işletim sistemi ekipleriyle irtibat kurmak için birkaç 1000 SQL Server örneği olabilir.

Geliştirme ekipleri için kimler var? Ayarlama? Endeksler? Tasarım? Kodlama standartları?

Diyelim ki, bir Geliştirici DBA olarak, veritabanları hakkında benden daha fazlasını bilen birçok müşteri geliştiricisiyle tanıştım ... :-)

Tabii ki, iş bilgisi de faydalıdır. yatırım bankacılığında karmaşık türevleri fiyatlandıran bir kod geliştirmek için işe alındıysanız, bazı konu uzmanlığı neredeyse vızıltı kodlama becerileri kadar önemlidir.


0

Aşağıdakilerden herhangi biri gibi belirli bir yazılım çözümünü bilmenin ayrımı da vardır:

  • Kurumsal Kaynak Planlaması
  • Müşteri ilişkileri yönetimi
  • İçerik yönetim sistemi

Muhtemelen başkaları da vardır, ancak bunlar, potansiyel olarak yukarıdakilerin özelleştirilmesini yapan hemen hemen her tür şirket için çalışabilecek başka bir uzmanlık şeklidir. Benim durumumda, bir anlamda bir uzmanlık olduğunu söyleyebileceğim birkaç yıl boyunca bir İçerik Yönetim Sistemi üzerinde çalıştım.

Web Geliştirme gibi bir şey, bu alanda birçok uzmanlık olabileceği için yeterince spesifik olmayabilir ya da ne istediğinizi sayar mı?


Hmm, uygulama becerilerinden farklı spesiyaliteler umuyorum. Örneğin, bir AI uzmanının C ++ / Prolog / herhangi bir dili kullanmasına gerek yoktur. Gördüğüm gibi web geliştirme, uygulamaları güçlü bir şekilde teknolojilerle birleştiriyor (asp.net mvc! = RoR - çevrilebilir bilgi çoğunlukla genel programlama ve platform bilgisidir)
Steven Evers
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.