it-swarm.asia

Alan bilgisi ve Teknik bilgi ne kadar önemlidir?

Bir Ticaret ve Risk Yönetimi uygulaması üzerinde çalışıyorum ve C # arka planından da olsa, SSIS paketleri üzerinde çalışmam istendi. Şimdi bununla yaşayabilirim. Acı nokta iş anlayışına çok fazla vurgu yapılmasıdır. Ticaret (Kesin olarak Enerji Ticareti) bir DEVASA alanıdır ve her küçük kısmını anlamak çok zor. Ancak son iki aydır, iş şartlarını - Mark To Market, Risk Metrikleri, Pozisyonlar, PnL, Yunanlılar, Enstrümanlar, Kitap Yapısı ... her küçük ayrıntıyı anlamaya çalışıyorum. Şimdi IMHO, bu bir BA'nın işi. Elbette, geliştiricilerin işi anlamaları çok önemlidir, ancak nereye gidersiniz?

Yöneticimle bunun hakkında konuştuğumda, neredeyse bir hafta içinde herhangi birinin bir teknoloji öğrenebileceğini söyleyerek beni alay etti. Daha zor olan iş. Uzun vadeli arzum teknik tarafta kalmak, muhtemelen bir mimar olmak (mümkünse). Eğer iş üzerinde yoğunlaşmak istesem MBA yapardım!

İşletmenin önemini anlamada yanlış mı yoksa çok naif olup olmadığımı mı bilmek istiyorum yoksa hayal kırıklığım haklı mı?

33
Mayank

Bir programcının işi, doğal dil gereksinimlerini makine dili uygulamalarına çevirmektir. Sadece bir tarafta veya diğer tarafta akıcıysanız bunu etkili bir şekilde yapamazsınız. Derleyiciler veya sürüm kontrol yazılımı yazmıyorsanız, hemen hemen her programlama işi önemli miktarda programlama dışı bilgi gerektirir.

33
Karl Bielefeldt

Benjol ve menajeriniz haklı, ama biraz açıklayayım:

iş etki alanını öğrenmek, sürece değer katmak ve işletmeye olan değerinizi artırmak

bu bir kod maymun programcı ve geliştirici

24
Steven A. Lowe

Üniversitemin Bilgisayar Bilimi Bölümünden gelen bir söz var:

Jeologlar için yazılım oluşturmak istiyorsanız, önce Jeolojiyi anlamalısınız. Fizikçiler için yazılım geliştirmek istiyorsanız, önce Fizikte uğraşmalısınız. Eğer işi anlamak istiyorsanız, önce iş konuşmayı öğrenmelisiniz.

Buradaki insanların her zaman Yazılım Geliştirme'nin yaratıcı bir alan olduğunu söylediğini duyuyorum. Bunun bir dereceye kadar doğru olduğuna inanıyorum. Bir dizi problemi çözmek için kutunun dışında görebilmesi gereken yaratıcılığı içerir.

Bunun anlamı, sadece oturabilmeniz ve istediğiniz kadar yaratıcı bir şekilde inşa edebilmenizdir. Bu Sanat sınıfı değil, Mühendislik ve müşterileriniz ve paydaşlarınız sizden sorunlarını çözen (- === -) bir şey yaratmanızı bekleyecekler. sadece serin".

Bir sorunu çözmek için önce sorunu anlamalısınız. Kullanıcılarınızın kafalarına girmeli ve nasıl düşündüklerini anlamalısınız.

Finans, pazarlama, satış, jeoloji, fizik veya yazılımın desteklediği herhangi bir alan için yazılım geliştiriyor olun, bu alanın bir parçası olmalısınız.

Bu nedenle, Bilgisayar Bilimi derecemin yanı sıra İşletme derecesi de aldım; potansiyel çözümleri iletme ve başarılı ürünler sunma becerim üzerinde büyük bir etki yarattı.

Bir iş yazılımı mühendisi işe alırken neye bakacağım hakkında daha fazla bilgi edinmek isterseniz, başka bir soruya cevap olarak yazdığım İşletme Mühendisi İş İlanı Örneği adresine bakın.

18
jmort253

Düşük düzeyli bir kodlayıcı olarak çok fazla alan bilgisi veya müşteri teması olmadan hayatta kalabilirsiniz, ancak bir yazılım mimarı alan adına çok aşina olan ve tüm paydaşlarla aktif olarak iletişim kuran bir kişidir.

14
vegai

Bence yanlış ve çok naifsiniz.

Yöneticinizin dediği gibi (hafifçe tersine), herkes bir teknolojiyi bir hafta içinde öğrenebilir. Sizi işaretleyecek ve şirketiniz için yararlı olacak tek şey iş bilginizdir. Ve ne kadar zorsa, o kadar çok değersiniz.

Açıkçası, bu iş akıl almaz derecede sıkıcı bulursanız, farklı bir şey arayabilirsiniz. Ama cennet fikriniz küçük php web sitelerini hackliyorsa, dikkat: bunu yapan binlerce senaryo çocuğu olacak.

Cidden, "Ben sadece bir kodlayıcıyım, beni gerçeklerle karıştırmayın" kesmeyecek.

11
Benjol

Enerji Ticaretinde de çalışıyorum. İş Bilgisi işin% 90'ıdır. Bunun üstesinden gelemezsiniz - bu karmaşık bir iştir.

En azından ticaretin temellerini ve içinde çalıştığınız piyasaları anlamıyorsanız, ne kadar iyi bir kodlayıcı olursanız olun mücadele edeceksiniz.

Gereksinimleri doğru anlayamayan bazı BA'larla çalışıyorum. İşi yapabilmek için kendi analitik becerilerime ve iş bilgisi anlayışına güvenmem gerekiyor.

Enerji Ticaret yazılımı satan bir mağaza için çalışıyorsanız, deneyiminiz farklı olabilir - ancak Kurumsal BT enerji ticaretinde odak noktası, pazarı anlamak ve yazılımın öncelikle işletmenin sorunlarına nasıl çözüm sağlayabileceğine odaklanmaktır.

Kullanılan gerçek teknolojiler ve uygulama uzak bir saniyedir.

Yukarıdaki Excel yorumunu yapan kişi, yorumunun ne kadar uygun olduğunu bilmiyor. Yatırımcılar genellikle Excel/VBA'da kendi küçük ticaret uygulamalarını oluştururlar (hepsi bildikleri budur) ve daha sonra BT, bu program karmaşasını devralır.

Bu uygulamalardan bazılarını "uygun" bir dilde yeniden oluşturmak isterim, ancak bu her zaman bir öncelik değildir.

8
asgeo1

Bir işletme için geliştiriyorsanız, iş kuralları hakkında şirketteki herkesten daha net ve daha ayrıntılı bir fikre sahip olursunuz. Bu mutlaka herkesten daha akıllı olduğunuz için değil, çünkü işi yapmanın tek yolu budur.

Tepkiniz "Ama iş analistleri ne yapıyor?"

İş analistleri, bir geliştiricinin birlikte çalışabileceği kadar açık gereksinimler elde etmeye çalışan müşterilerle uzun toplantılarda otururlar. Müşterilerle nasıl başa çıkmaları gerektiğine bakıyorum ve bunu yapmak zorunda olmadığım için minnettarım.

6
Andrew Shepherd

Yazılım geliştirme ve mimari arasında benzerlikler çizmeyi seviyorum. Her ikisi de uygulamalı sanatlardır. Her ikisi de kişinin zihninde ayrıntılı modelleme gerektirir. Bu soru için geçerli olan husus, işletme bilgisi olmadan yazılım yazmanın, sakinlerin yaşam tarzını ve ihtiyaçlarını anlamadan bir bina tasarlamak gibidir. Bence birçoğumuz güzel ve modern görünebilen ve dışarıdan ne olursa olsun, içeriden kullanılabilir olmayan binalar gördük (hatta yaşadık/çalıştık). (En kötü durumda, onlar bile İyi değil: (()

Güncelleme

Gaurav'ın yorumu:

merak ettiğim şey, bir geliştiricinin iş alanını anlamada ne kadar çaba sarf etmesi gerektiğidir. Eğer sonuna kadar giderse veya çizilecek bir çizgi varsa.

Genel olarak herhangi bir yere çizgi çizebileceğinizi sanmıyorum. Uygulamanın/alanın bölümleri olmadığı sürece hiç dokunmanıza (böylece anlamanıza) gerek yoktur. Hangi IMHO uzun vadede gerçek hayatta çok nadirdir. Bir uygulamanın etkin kullanımda olan herhangi bir kısmı hata raporları ve özellik istekleri alır. İlgili mevzuat, vergi kuralları, politikalar, alışkanlıklar - kısaca gerçek dünya - değiştikçe alanlar da değişir. Bu yazılıma da uyulmalıdır.

Ancak harici değişiklik talepleri olmasa bile, birim testi ve eski kodun yeniden düzenlenmesi, ilgili alan alanlarının da anlaşılmasını gerektirir. Aksi takdirde, gerçekte doğru olup olmadığını bilmeden, uygulamanın mevcut davranışını "dondurursunuz".

Update2

ya [...] geliştirici üzerinde çalıştığı iş alanını sık sık değiştirirse?

Tabii ki, iş bilginizi kazanmak için yatırımın büyük bir bölümünün (zamanınızın ve işvereninizin parasının) kaybedileceği anlamına gelir :-( Bunun olacağını biliyorsanız, elbette çok derin kazmaya değmeyebilir Bununla birlikte, alan adlarının --- (tamamen farklı olmadığını, farklı alan adları arasında yeniden kullanılabilecek temel unsurların bulunduğunu ve en önemlisi alan adı odaklı tasarımın yaklaşım elde ettiğiniz yeniden kullanılabilir.

6
Péter Török

Bankacılık sektöründe on yılı aşkın bir süredir ticaret uygulamaları geliştiriyorum ve geliştiricilerin işi iyi anlamasının önemli olduğunu kabul ediyorum. Ancak, tekrar tekrar, görüşme süreçleri sırasında, kişi iş hakkında iyi bilgiye sahip değilse, kapıdan geçmezler.

Bu, güçlü iş bilgisi olan, ancak orta ve orta seviyedeki teknik becerilere sahip bu kişiler tarafından önemli sayıda kritik uygulama ve sistemin geliştirilmesine yol açmıştır. Bu sistemler her zaman kötü bir şekilde tasarlanır, bu da sürekli çöküyor, hatalarla dolu, ölçeklenmiyor, bir şey kırmadan düzeltmek neredeyse imkansız ve proje aslında elde etmek için yetersiz teknik beceri nedeniyle iptal edilmiyorsa üretime.

2
Martin Cooper