Kendimi kandırıyor muyum? İş analisti programcıya geçiş


11

Mevcut iş: Bir Big 4 firmasının lider iş analisti olarak çalışarak, büyük ölçekli bir yeniden platform projesinde (4 karada geliştirici, 4 açık deniz geliştirici, birkaç açık deniz / açık test cihazı) çalışan bir grup geliştirici ve test ekibine liderlik ediyor. Aynı zamanda diğer küçük ölçekli projelerde de aynı kapasitede çalışın.

Rolümün kapsamı: Gereksinimleri toplama / yazma, işlevsel özellikler oluşturma, kullanıcı arayüzünü tasarlama (temel olarak sistemin tüm ön uç yönlerini haritalama), gereksinimleri iletmek / açıklığa kavuşturmak için geliştiricilerle yakın bir şekilde çalışmak ve birlikte gösterimlere bastığımızda çözümler bulmak , test senaryoları yazmak (ve testin çoğunu yapmak), üst yönetim ve kilit paydaşlarla çalışmak, beta test kullanıcılarını yönetmek, kullanıcı kılavuzları oluşturmak ve eğitim oturumlarına liderlik etmek, temel teknik destek sağlamak.

Ayrıca Excel'de VBA kullanarak birkaç makro yazıyorum (makrolarımın birçoğu artık tüm şirkette kullanılıyor, bu yüzden bunları kullanan yaklaşık 1000 kişi var) ve SQL'i günlük olarak kullanıyorum, hem SQL kompakt dosyalarında program SQL Server verilerimize ve oluşturduğum tüm Access veritabanlarına dayanır. Geliştiriciler bu rolde oldukça iyi olduğumu düşünüyor çünkü programlama, doğal sistem sınırlamaları, veritabanlarının yapısı vb.

Beni gerçekten ilgilendiren yazılım geliştirmektir. VBA'da adil bir programlama yapıyorum ve bir süredir C # öğrenmek istiyordum (dev ekibi C # kullanıyor - Kendi uğrum için zaman zaman kodu gözden geçiriyorum, ancak bunu kullanarak pratik bir deneyimim olmadı). Sadece iş süreciyle değil, işlerin teknik yönüyle de ilgileniyorum, bu yüzden geleneksel BA rolü gerçekten yapmak istediğim şeyler için iştahımı gerçekten düzeltmiyor. Şu anda yöneticilerin bana verdiği birkaç küçük projem var ve bunları yapmanın yeni yollarını buluyorum (özel Access uygulamaları oluşturmak gibi), bu yüzden burada ve beni ilgilendirecek biraz var.

Benim sorum şu: yapmak istediğim şey, serbest işletmeler olarak küçük işletmeler için özel Excel veya Access uygulamaları oluşturmaktır (tek kişilik bir dükkan olarak çalışmak; belki de bir projenin karmaşıklığına bağlı olarak ara sıra yüklenici olması). Açıkçası bir günlük işim varken yarı zamanlı bir girişim olarak başlar, ama sonunda tam zamanlı bir iş haline gelir. Kendimi BA / yarı zamanlı VBA programcısından tam zamanlı bir serbest iş yapmaya gidebileceğimi düşünüyor muyum (VBA'da sadece özel Excel / Access uygulamaları yazmaya başlayacağım)? Yoksa bu tür bir şey, birileri yıllarca tam zamanlı programlama deneyimi kazanana kadar genellikle denenmez mi? Küçük işletmeler (ve belki de orta ölçekli) işletmeler arasında bu tür uygulamalar için bir pazar bile var mı?


3
Şimdi muhtemelen kariyerinizin zirvesindesiniz. Aynı işi bir kitap okumadan 5 yıl içinde aynı becerilerle yapabilirsiniz. Eğer bir programcı olsaydınız, merdivenin altından başlayacaksınız ve 5 yıl içinde, merdiven bile olmayabilir !!! Hobi ile kariyer karıştırmayın. Tabii ki bir programcı olabilirsiniz, ancak ortalama programcıların çoğu 10 yıl sonra ne yapar? Günümüz pazarında programcı olarak ayakta kalmak ve yükselmek, yüksek rekabet ve sürekli teknolojik zorluklar nedeniyle ortalama bir insan için çok zordur.
NoChance

Bir iş analisti ve iş adamı olarak daha yüksek bir pozisyonda ilerlemeye devam edebileceğime katılıyorum. Sorun, ne kadar yüksek olursanız, genellikle teknolojiden ve uygulamadan o kadar uzak olmanızdır. Teknoloji alanındaki yönetim danışmanlığı pozisyonları için birkaç danışmanlık şirketi ile görüştüm, ancak bu tür roller beni gerçekten ilgilendirmiyor. Amacım saf bir programcı olmak değil; aslında bir çalışan olarak işe alınmak için bir geliştirici olarak çalışmakla ilgilenmiyorum, bunun yerine hem işletme hem de geliştirme tarafıyla başa çıkabileceğim küçük bir danışmanlık mağazam var.
Ryan

"Hem iş hem de dev tarafını ele alabileceğim küçük danışmanlık mağazası" benim için çok fazla risk gibi geliyor. Piyasa, kullanıma hazır çözümlerle ve 200 $ veya daha düşük bir fiyata sistemler kurmaya hazır pek çok şirket ve yüklenici ile dolu. Müşterileri çekmek ve yavaş değişen bir teknolojiye odaklanmak için bir stratejiniz yoksa, ekonomi ve teknolojideki hızlı değişim oranı göz önüne alındığında 'küçük'ün uzun süre dayanabileceğini sanmıyorum.
NoChance

7
@EmmadKareem, "hobiyi kariyerle karıştırmayın" ... yani: uyanma hayatınızın neredeyse hiç hoşunuza gitmeyen bir şey yapmak için harcandığından emin olun ve yaklaşık% 5'i sevdiğiniz şeyi yapmak ... mutluluk için harika bir plan (ama kuşkusuz ortak bir plan)
JoelFan 29:12

4
@EmmadKareem, bence 10, 20 veya daha fazla yıl çalışan ve kariyerlerinden memnun olan birçok programcı var
JoelFan

Yanıtlar:


15

Hayır, kendini kandırmayı değildir, bu olabilir yapılabilir! Buradaki adamlardan biri bunu yaptı, ancak nasıl olduğunu bilmiyorum ama bir yüklenici olarak başladığını düşünüyorum, interal yazılım geliştirmenin altına girmek için bir BA oldu, sonra bir şekilde tam zamanlı gelişime geçti. Sanki onun da zaten teknik bir geçmişi olduğunu tahmin ediyorum.

Mevcut işvereninizle ilk önce solo yapmak yerine bunu yapmaya çalışırsanız daha iyi sonuç verebilir . Çok daha fazla destek ve yardımınız olur. Belki yöneticinizle konuşun ve muhtemelen aynı ekipte başlamak için organizasyon içinde bir geliştirme rolüne nasıl geçiş yapabileceğinizi sorun. Bu şekilde herkesi zaten tanıyorsunuz ve onlar sizi ve zaten neler yapabileceğinizi biliyorlar ve sizi daha fazla eğitmeye yardımcı olabilirler. Eğer gerçekten iseniz gerçekten çok şanslı, şirket daha da hızlı yetişmek için sahalarında sizi göndermek için bir bütçeye sahip olacaktır.


2
Kesinlikle yapılabileceğine yankı veriyorum - önceki bir pozisyonda, tam olarak bunu yapan bir müteahhitle çalıştım. Bir şirket için geliştirici olmayan bir rolden Access uygulamaları yapmaya başladı, daha sonra onlar için dış danışman oldu ve sonunda kendi işine döndü ve oldukça iyi görünüyor.
bunglestink

4

VBA ve Access programlama merdivenin alt kısmıdır. Ben olsaydım, SQL becerileriniz olduğu için daha yüksek ateş ederdim. SQL Server Raporlama Hizmetlerini öğrenmeyi, raporlar veya SSIS oluşturmayı ve ETL işlemeyi yapmayı düşünün. Bunlar şu anda oldukça yüksek talep gören becerilerdir ve özellikle şirketiniz için bu rolleri üstlenen başka kimseniz yoksa, kurumsal bir ortamda iken görülebilmeleri kolay olabileceğinden bunları yapmak için iyi bir yerdesiniz. İş analisti deneyimini rapor yazarı için büyük bir artı olarak görüyorum.


2

Yapılabilir. Özellikle iyi olmak istiyorsanız, bu kolay olmayacaktır, çünkü yazılım geliştirme, tanımak ve önlemek için öğrenmeniz gereken açık olmayan problemler ve tuzaklar içeren bir mühendislik disiplini. Bu, birkaç yıl ciddi bir çalışma ve uygulama gerektirecektir, ancak başınızı kavramların etrafına sarabilirseniz, arka planınız farklı bir şeyde olsa bile kesinlikle bir programcı olabilirsiniz.


Önerilen herhangi bir ders var mı? Ben daha çok kendi kendini öğrenen biriyim, bu yüzden şu anda Python'u öğretim dili olarak kullanan bazı MIT opencourseware'e (Intro to Comp Sci) abone oluyorum, temel olarak bazı katı programlama teorisini indirip daha fazla düşünebiliyorum programcının satırları. Ayrıca Excel / Access / VBA bilgilerimi işteki gerçek projelerle genişletmeye devam ediyorum.
Ryan

@Ryan Bir şey hakkında yanılsıyorsunuz: Sağlam bir programlama teorisi yok. Programlama çok olgunlaşmamış bir zanaattır (zanaat uygun kelimedir!) - gerçekten çok genç. Programcılar birçok kitap okur, ancak bu alandaki devrimler aşırıya kaçar. Bu da öğrenme tutumunun tek ön koşul olduğu anlamına gelir :)
K.Steff 29:12

1
@Ryan: Çoğunlukla kendi kendime öğrettim. Benim "dersim" bu program berbattı. Bunu yapabilirdim ve yazardan daha iyi yapabilirim. Bakalım, bir derleyicim var, şimdi özellikleri uygulamaya nasıl başlayabilirim? "
Mason Wheeler

2

Yıllar ya da yıl alıp alamayacağınız büyük ölçüde size, programınıza bağlıdır, ama en önemlisi, yeteneklere bağlı olma eğiliminiz. Bir şehirde yaşıyorsanız veya çalışıyorsanız ve toplu işe gidip gelme seçeneğiniz varsa, onu alın ve teknoloji kitaplarını okumak için bu yerleşik işe gidip gelme zamanını kullanın. Sizi ilgilendiren her şey.

Mümkün olduğu kadar düşünmenin cüretliği, terlemeyin. Muhtemelen <buraya bilinmeyen bir karmaşıklık yığını ekleyin> ile başa çıkabileceğinize karar vermek devs'in yaptığı şeydir. Bu kibir değil, sadece ilk adımı atıyor.

Geliştirici topraklarındaki kibirli, her şey için bir çözümünüz olduğunda ve üniversiteden bu yana yeni bir şey öğrenmediğinizde kendinize profesyonel bir geliştirici diyor. Bu gelişme ile ovmak. Öğrenmeyi bıraktığınızda kariyeriniz yokuş aşağı gitmeye başlar, bu yüzden ilgi biraz önemlidir. Sanki buna sahipsin.

Öyleyse git.

Görünürde hedefiniz var. Gerisi büyük korkutucu problemleri çok korkutucu olmayan problemlere bölüyor. Reklam müzesini tekrarlayın ve düşündüğünüzden daha önce olması gerekenden daha büyük / korkutucu problemler olmasını isteyen ücretli bir tam zamanlı geliştirici olacaksınız.


Yan gözlem: kibir ilk aşamalarda yardımcı olur. Başladığımda programlamanın gerçekten neyle ilgili olduğunu biliyor olsaydım, muhtemelen 'merhaba dünyasından' iki saat sonra vazgeçerdim.
K.Steff

1

(Eğer bir şeyler başlatmak istiyorsanız) SICP - Bilgisayar Programlarının Yapısı ve Yorumlanması ile gitmek söyleyebilirim. Bağlantı vermeliyim, ama bu sadece bir kitaptan ibaret değil; günümüzde kursu online olarak incelemek için başka insanlar da bulabilirsiniz . Bu gerçekten zor bir kitap - tüm egzersizleri tamamlamak çoğu geliştiricinin yapamayacağı bir şey (maalesef), ancak mevcut en iyi kitap. MIT OCW de iyidir, ancak IMHO, programlama için SICP'nin sulandırılmış bir versiyonudur. Python, SICP'in yaptığı gibi hasta bir şekilde zevk almanızı sağlamak yerine karmaşıklığı gizlemek için tasarlanmıştır.

Ayrıca, bir meslek olarak programlama ve bir beceri olarak programlama arasında ayrım yapmanız gerekir. Biri güzel, temiz ve genişletilebilir kod gibi şeylere adanmışlık gerektirirken, diğeri algoritmik becerilerden başka bir şey gerektirmez (aslında oldukça fazladır). Python'un 'hayırsever diktatörü' Guido van Rossum, programlamanın önümüzdeki yıllarda önemli bir beceri olacağını, ancak yazılım geliştirme becerilerinin her durumda olmayacağını savunuyor. Çoğu geliştirici onu atmak için kod yazar (geliştiriciler de bunu sık sık yapar). Kariyer programlamaktan çok daha fazla şey içerdiğinden programlamak önceliklidir ve önceliklerinizi düzeltmeniz önemlidir.

En önemlisi: Programlamayı sevdiğinizden emin olun , sadece bu şekilde değil. 9 ila 5 işten fazlası, sürekli öğrenme felsefesini benimsemek : çoğu mühendis BS veya MSc eğitimleri alıyor ve uzmanlık alanlarında önemli bir değişiklik görmüyor. Programlamada hayat boyu bir kariyer en az 10 paradigma kayması (sadece diller değil, araçlar, DB'ler vb.)


"Sürekli öğrenme felsefesi" için +1. Programlama büyük ölçüde her gün öğrenme ve gelişme ile ilgilidir. Bu 2 şeyi yapmak isterseniz, muhtemelen iyi bir deneyime sahip olacaksınız ve başarılı olacaksınız.
B Seven

1

Bence bundan kurtulmak için iyi bir pozisyondasın.

Kariyerimin büyük bir kısmının teknik yönlere derinlemesine gömüldüm, ancak yıllarca birçok projenin başarılı veya başarısız olduğunu gözlemleyerek sonuca vardım: -

İş kullanıcılarınızı ve gereksinimlerini anlamadıysanız projeniz başarısız olur.

Bu kurala hiç bir istisna görmedim ve hiçbir para, donanım veya programlama dehası herhangi bir fark yaratmıyor gibi görünüyor. Gereksinimleri iyi anlayan gerçek projeler, kötü seçilmiş donanım, yazılım, bütçe eksikliği veya beceri eksikliği nedeniyle başarısız olabilir - ancak çoğunlukla bu projeler kurtarılabilir veya kurtarılabilir.

Yani BA ve gereksinimleri iyi topraklama size daha yetenekli teknik kolej bazı eksik olabilir bir perspektif verecektir, geri kalanı öğrenebilirsiniz.

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.