Yüz bakımı: yağlı cilt

Yandex'den Londra'ya. Rus BT uzmanları İngiltere'de nasıl hareket ediyor ve ne kadar kazanıyorlar. Alexei Kapranov ile bir programcının yolu boyunca Gülümseyin ve el sallayın

Yandex'den Londra'ya.  Rus BT uzmanları İngiltere'de nasıl hareket ediyor ve ne kadar kazanıyorlar.  Alexei Kapranov ile bir programcının yolu boyunca Gülümseyin ve el sallayın

Alexey Pajitnov, programlama ve bilgisayar oyunu geliştirme alanında birçok onursal ödülün sahibi olan "Tetris" adlı popüler bir video oyunu yaratan bir Sovyet ve Rus programcıdır. Moskova Havacılık Enstitüsü'nden mezun olduktan sonra, 1984 yılında Tetris oyununun gelişimini tamamladığı SSCB Bilimler Akademisi'nin Bilgi İşlem Merkezi'nde çalıştı. Oyunun getirdiği ilk para, 1996 yılında Alexey ve Henk Rogers'ın (oyunu dünyaya dağıtan Tetris'te büyük hisselerin sahibi bir yatırımcı) Tetris şirketini kurmasıyla başladı.

Alexey Pajitnov - biyografi

14 Mart 1956'da Moskova'da doğdu. Okul yıllarında iyi çalıştı, ancak disiplinle ilgili sürekli sorunları vardı. Alexei'nin kendisinin de hatırladığı gibi, çocukken enerji doluydu ve sınıfta itaatkar bir şekilde oturamıyordu, bu nedenle günlüğünde davranışları hakkında sık sık yorumlar alıyordu. Bununla birlikte, dikkate değer ve şaşırtıcı bir şey yok: birçoğu bundan geçti. Pajitnov matematikte her zaman iyiydi, bu yüzden beşinci sınıftan mezun olduktan sonra, daha sonra onur derecesiyle mezun olduğu 91 Nolu Moskova Matematik Okulu'na transfer oldu.

programlamaya giriş

Alexey Pajitnov, okuldan ayrıldıktan sonra, bilgisayar ve programlama ile ilk tanıştığı Moskova Havacılık Enstitüsüne girer. Burada hızla yazılım geliştirmeye başladı ve kendisini tamamen çeşitli amaçlar için kod yazmaya adamaya başladı. Kısa süre sonra yetenekli bir genç programcı, SSCB Bilimler Akademisi'nin Moskova Bilgi İşlem Merkezi'nde çalışmaya davet edildi. Burada son şeyden çok uzaktı - yapay zeka problemlerinin optimizasyonu ve konuşma tanıma programlarının geliştirilmesi.

Bilimler Akademisi'ndeki rutin günlük yaşam şekersizdi: sabahtan akşama kadar Pajitnov, birkaç bilim adamının aynı masada oturduğu sıkışık bir ofiste oturuyordu. Alexey, bazen bütün gün işyerinden ayrıldığını, böylece daha sonra herkes eve gittiğinde geceleri sessizce çalışabileceğini hatırlıyor.

"Tetris" in yaratılmasından sonra kariyer

1984 yılında Aleksey Leonidovich Pajitnov, neredeyse dünyanın en popüler oyunu haline gelen efsanevi Tetris oyununu yarattı. Bilgi teknolojisi toplumunda Pajitnov tanınır ve popüler hale gelir. 1988'de Bullet-Proof Software ile işbirliği içinde bir oyun geliştirme şirketi olan AnimaTek'i kurdu. Şirket katlanarak gelişti ve 1991'de Tetris'in mucidi Alexei Pajitnov Amerika Birleşik Devletleri'ne taşındı.

"Tetris"in yaratılması - nasıldı?

1980'lerde, SSCB Bilimler Akademisi'nin Bilgi İşlem Merkezi'nde, genç bilim adamları günlerce laboratuvarlarında oturdular, sıkıcı ve önemsiz olmayan sorunları çözdüler. Bunlardan biri, o sırada konuşma tanıma için bir program geliştiren ve aynı zamanda yapay zeka sorunlarını inceleyen Pajitnov Alexey Leonidovich'ti. Genç programcıya verilen görevler inanılmaz derecede zordu, Alexei sürekli olarak sıradan aklın gücünün ötesinde en karmaşık algoritmaları oluşturmak zorunda kaldı.

Potansiyelinde geniş bir bilgi tabanı olan Pajitnov, hem yetişkinleri hem de çocukları çekecek ilginç bir yapboz yaratmaya karar verir. Tetris, yetenekli bir programcının ilk icadı olmaktan çok uzaktır. Başlangıçta, figürlerin diğer nesnelerin yerçekiminin etkisi altında yerlerini değiştirmesi gereken bir oyun yarattı. Kodu yazmanın sonuna yaklaşan Alexey, böyle bir oyunun sıradan bir bilgisayarın işlemcisi için dayanılmaz olacağını fark etti, bu yüzden programın bazı inceliklerini basitleştirmek zorunda kaldım.

Sonuç olarak, amacı gelecekteki oyun "Tetris" ile aynı olan, figürlerin (Tetris'te olduğu gibi) beş kareden oluştuğu bir oyun yaratır. Ne yazık ki halk böyle bir yaratımı beğenmedi, bu yüzden Pajitnov mevcut 7 figürün her birinin dört kareden oluştuğu oyunu daha da basitleştirmeye karar verdi.

Sadece yedi rakam ve dünya şöhreti cebinizde

"Tetris" oyununun neden böyle bir adı olduğunu hiç merak ettiniz mi? Ve neden içinde sadece yedi rakam var? Mesele şu ki, başlangıçta oyunun adı "Tetramino" idi, burada "tetra" Yunanca'da "dört" sayısı anlamına geliyor. Popülaritenin artmasıyla birlikte, bu oyunun kullanıcıları, daha kolay telaffuz için oyuna basitleştirilmiş bir isim verdiler.

Bir röportajda Alexey Pajitnov, oyunda neden sadece 7 taş olduğunu açıkladı:

“Oyunda sadece yedi figür yer alıyor ve bu aslında şans çünkü 7 rakamı insan beyninin işleyen hafızasının yani kişinin ezberleyebileceği büyüklükte. 7 haneli bir telefon numarasının hatırlanması, 8 haneli bir telefon numarasının hatırlanmasından çok daha kolaydır. Yedi kişilik bir ekip, patron veya ustabaşı olmadan yapabileceği maksimumdur. Liderin olmadığı sekiz veya daha fazla kişilik bir grupta sorunsuz ve düzenli çalışmak imkansızdır. Böyle bir takımda arkadaş, yoldaş veya sadece tanıdık olmanıza bakılmaksızın sürekli anlaşmazlıklar ve çelişkiler ortaya çıkacaktır. Kişisel deneyime dayanarak bu tür sonuçlar çıkarıyorum.

Tetris oluşturmak için motifler

"Tetris" oyunu, insanların eğlenmesi ve rutin ve günlük görevlerden rahatlayabilmesi için yaratılmıştır. Pajitnov, sporun yanı sıra stres atmak için en iyi alternatifin bilgisayar oyunları olduğunu her zaman söylerdi.

Yıldırım zafer video oyunu

Tetris oyununun yazımı tamamlandıktan sonra ilk birkaç hafta Pajitnov'un çalıştığı SSCB Bilimler Akademisi personeli oyunun büyüsüne kapıldı. Oyun herkesin kullanımına sunulduğunda, eğlence ürününün ünü birkaç gün içinde tüm şehirlere yayıldı. Birkaç ay içinde tüm dünya Tetris oynamaya başladı. Şu anda Aleksey Pajitnov, meslektaşları ile birlikte, insanların birbirleriyle rekabet edebilmesi için rakamların çok renkli olacağı ve rekor istatistiklerin tutulacağı oyunun yeni bir versiyonunu oluşturmaya karar verir.

Tüm dünya oyunun tadını çıkarırken, Alexei daha uzun yıllar sıradan bir hayat yaşamaya ve SSCB Bilimler Akademisi'nin Bilgi İşlem Merkezi'nde çalışmaya devam etti. Gerçek şu ki, oyundan para kazanma fırsatı yoktu çünkü haklar Bilimler Akademisi'ne aitti. Her şey, oyunun çalışan bir bilgisayarda çalışma saatlerinde yazılmasıyla açıklandı.

Alexey Pajitnov: "Tetris" oyununun yaratıcısının durumu

Bildiğiniz gibi, 1996 yılında Pajitnov, Pandora'nın Kutusu adlı bir dizi bulmaca oyunu geliştirdiği Microsoft için çalışmaya başladı. Burada 2005 yılına kadar çalıştı ve bu süre zarfında bu şirketten bugüne kadar ona belirli bir yüzde getiren birkaç büyük hisse almayı başardı. Alexei'nin kendisi kendisini bir milyoner olarak görmüyor. Bir röportajda şunları söyledi: “Milyoner milyonları harcayan kişidir, milyonu olan değil. Oldukça mütevazı bir hayat yaşıyorum ve sağa sola para saçmıyorum, bu yüzden kendime asla milyoner demem.”

Bilgisayar bağımlılığı - geliştiricilerin veya kullanıcıların hatası mı?

Günümüz dünyasında, birçok insan video oyunlarına çok fazla dahil oluyor ve bu nedenle günlük yaşamda kendilerine sorun yaratıyor. Bilgisayar oyunlarına ve internete psikolojik olarak bağlanırlar ve zamanlarını günlerce bilgisayar başında oturmaya ayırabilirler. Bilgi teknolojisi çağı, insanların fikirlerini önemli ölçüde değiştirdi. Pajitnov'a bu durum hakkında nasıl yorum yapabileceği sorulduğunda, şu yanıtı verdi:

"İnsanlar bana Tetris'in yaratıcısı olduğumu öğrendiklerinde zamanlarının çoğunu çaldığımı söylüyorlar. Onlara hep şunu soruyorum: “O zamanlar sizin için iyi miydi, kötü müydü?”. Hepsi bir olarak cevap veriyor, ki bu iyi. Ben de bu sefer verdim ve çalmadım.”

Anlaşılması gereken ilk şey, sitenin siteden siteye farklılık gösterdiğidir. Site yapımını inşaatla karşılaştırırsak, o zaman “çadır” ve “kulübe” siteleri ve “gökdelenler” veya büyük “alışveriş merkezleri” vardır. Site ne kadar karmaşıksa, küçük siteler için basit görevleri kolayca halledebilen bir amatör için o kadar pahalı olabilir.

Küçük bir çevrimiçi mağazadan sorumlu tek bir programcının gereksinimlerinden bahsedeceğiz (30-3000 ürün kartı, günde 1-10 sipariş). Bu uzman bir genelci olmalıdır, yani arka uç - sunucu tarafındaki geliştirme ve ön uç - kullanıcının tarayıcısı tarafındaki geliştirme ile aynı derecede aşina olmalıdır).

1. Asgari gereksinimler

Bir çevrimiçi mağazanın zaten bir web sitesi varsa, adayın özgeçmişi sitede kullanılan teknolojilerin tamamını veya neredeyse tamamını içermelidir. Listeyi geliştiriciyle kontrol edebilirsiniz.

Bir şirket sıfırdan bir site geliştirecekse, programcı şunları bilmelidir:

  • ortak dillerden biri: PHP/Python/Ruby/C#;
  • DBMS'den biri: MySQL/PostrgreSQL/MSSQL/Oracle/MongoDB;
  • en yaygın içerik yönetim sistemlerinden (CMS) biri: Bitrix, UMI, Drupal, ShoppingCart, WordPress;
  • Nginx/Apache/IIS gibi Linux ve web sunucusu yönetimi becerilerine sahip olmak veya AWS Cloud platformları, Google Cloud, Azure'da web sunucularını barındırma deneyimine sahip olmak.

Bu becerilerin olmaması onun amatör olduğu anlamına gelmez. Sadece sana uymuyor.

2. Yazışma tanıdık

Zayıf bir programcının belirtileri, portföy incelenerek özgeçmiş görüşmesinden önce bile belirlenebilir. Programcı çalışmalarını (sitelerini) belirtmişse, bunları Google Chrome'da açmalı, tarayıcı menüsünün "Ek Araçlar" bölümüne gitmeli, "Geliştirici Araçları" öğesini seçmeli ve "Konsol" sekmesini açmalısınız.

Ardından, düzenli bir ziyaretçi olarak sitede bir "yolculuğa" çıkın: birkaç sayfa açın, geri bildirim formu aracılığıyla bir soru sormaya çalışın veya sipariş sepetini doldurun. Konsolda hatalar görünürse, bunlar otomatik olarak kırmızı renkle vurgulanır, bu kötü bir işarettir. Bir ekipte çalışmışsa, belirli bir geliştiricinin hatası olmayabilir, ancak bu, ekibi bir bütün olarak resmetmez.

Bir portföye sahip olmamak veya bunu göstermeyi reddetmek, deneyimsiz bir geliştiricinin kesin bir işaretidir.

3. Yüzdük, bilmiyoruz

Doğal olarak, pratik deneyim büyük önem taşımaktadır. Mülakatta, geçmiş gelişmelerle ilgili sorulara yanıt olarak aday "yüzer" ve kendi eylemlerini açıklayamazsa, dikkatli olmalısınız.

Örneğin, bir programcı MySQL kullanarak bir sistem geliştirmekten bahsediyor, ancak alternatif teknolojileri ve bunu seçmesinin nedenini söyleyemiyor. Aynı zamanda “Ben sadece onu daha iyi tanıyorum” seçeneği bile “doğru” bir cevap olarak uygundur.

Yetkili bir uzman, gelişmeleri hakkında ayrıntılı bilgi verebilecek ve neden belirli teknolojileri kullandığını açıklayabilecektir.

Nasıl kontrol edilir: programcıya geçmiş projelerin detayları hakkında sorular sorun ve geliştirmenin neden bu şekilde yapıldığını sorun. Aday net bir şekilde cevap veremezse, ekibin veya diğer meslektaşlarının çalışmaları için kredi alma ihtimalleri yüksektir. Aynı zamanda site sahibinin programlamanın inceliklerini anlaması gerekmez, aydınlatıcı sorular sorması yeterlidir.

4. Kuş dili

Bir diğer önemli nokta da adayın "insan" dilini konuşabilmesidir. İyi bir uzman, işini basit kelimelerle açıklayabilecektir. Ancak başvuru sahibi yalnızca terimlerle konuşursa, meslektaşları ve şirket sahibi ile etkileşim kurması zor olacaktır.

Nasıl kontrol edilir: yönetim tarafından "uçulduğu" bir tür hata hakkında konuşmasını isteyin. Örneğin "geri bildirim" formu sitede 2 hafta çalışmadı. Bunun web siteniz olduğunu hayal edin.

Hatanın özünün ne olduğunu, bunu nasıl öğrendiğini, sebebini nasıl bulduğunu ve hatayı nasıl ortadan kaldırdığını belirtin. Başvuru sahibi "anlaşılmaz terimlerle" konuşacaksa - açıklama isteyin. Açıklamadan hala memnun değilseniz, onunla çalışmak zor olacaktır.

5. Açık Kaynak

Birçok uzman kendi geliştirmelerini GitHub'da (veya BitBucket'ta) yayınlar. Bir programcının birkaç kamu projesi varsa ve dahası, diğer kullanıcılar tarafından not edilmiş veya kopyalanmışsa (çatal), bu önemli bir artıdır. Çok sayıda kopya, yüksek düzeyde profesyonelliği gösterir.

Programcı Dan Abramov büyük bir şirket arayacak, seviye (şu anda orada çalışıyor), ancak adayınızın sıfır olmayan projeleri varsa ve "yeşil alan" da doluysa - harika! Bir röportaj için onu aramaktan çekinmeyin.

Nasıl kontrol edilir: başvuru sahibinden GitHub'daki (BitBucket) hesaba bir bağlantı göndermesini ve gurur duyduğu projeleri listelemesini isteyin. "Hesabın yaşı", proje sayısı ve kodun diğer kullanıcılar tarafından kopyalanma sayısına dikkat edin.

6. Eski bagaj

Yetkili bir uzman, yeni araç ve teknolojilerin ortaya çıkışını izlemelidir. Bir programcının eski bir dilde yazılmış bir siteyle çalışmak zorunda kalması bir şeydir ve çok muhafazakar bir yaklaşım kullanması başka bir şeydir.

Modern araçlar, geliştirme süresini önemli ölçüde azaltabilir. Bu arada, yeni olan her şeyi kovalamak ve mantıksız bir şekilde tanıtmak da kötü.

Nasıl kontrol edilir: adayın son bir veya iki yılda hangi araçları veya teknolojileri öğrendiğini ve bunların ona işinde nasıl yardımcı olduğunu sorun.

7. Tavandan fiyatlar

Doğal olarak, iyi bir programcının işi ucuz değildir, ancak geliştirmeyi piyasadaki en pahalı uzmana vermek için acele etmeye gerek yoktur. Bir aday, gereksinimlerini netleştirmeden tüm siteyi geliştirmenin maliyetini hemen duyurursa, bu en azından gariptir.

"Bir düğmenin rengini değiştirmek" veya "site haritası oluşturmak" gibi basit görevler için, sırasıyla "5 dakika sürer" veya "2 saatte yapabilirim" gibi hızlı yanıtlar bekleyebilirsiniz.

Ayrıca, birkaç uzmandan maliyet ve uygulama süresi tahminleri alabilir ve bunları karşılaştırabilirsiniz. Bir programcının beş dakikalık bir görevi tamamlaması bir saatini alıyorsa, büyük olasılıkla bir profesyonel değildir veya yalnızca daha fazla kazanmak için zaman kazanmak için oynuyordur.

Nasıl kontrol edilir: adaya çevrimiçi mağazadaki "Satın Al" düğmesinin rengini değiştirmesinin ve bir site haritası oluşturmasının ne kadar süreceğini sorun.

8. El yapımı

İyi bir programcının tembel bir programcı olduğuna dair bir şaka var, ama bunda bazı gerçekler var. Yetkin uzmanlar, yalnızca daha sonra programla çalışanların çabalarını değil, aynı zamanda kendi çabalarını da en aza indirecek şekilde kod yazarlar. Başkasının hazır kodunu (OpenSource) kullanmaya çalışırlar ve bunda yanlış bir şey yoktur.

Bir programcı kendi işini nasıl optimize edeceğini bilmiyorsa, işverenin çok fazla zamanını ve parasını aynı tür görevlere harcayacaktır.

Nasıl kontrol edilir: programcının kod oluşturmaya nasıl yaklaştığını netleştirin, bir örnek isteyin. Başlangıçta hazır bir çözüm araması ve yoksa kodu kendi başına yazması iyidir. Örneğin, programcıya sipariş formunda bir teslimat tarihi seçmek için gerekli olabilecek bir takvimi nasıl geliştireceğini sorabilirsiniz. İyi bir cevap, hazır bir bileşen bulmaktır.

9 Ekstra İkiz

Yinelenen kod, deneyimsiz bir programcının kesin bir işaretidir.

Örneğin, katalogda ve ürün kartlarında yer alması gereken iletişim sayfasındaki "geri bildirim" formunu ele alalım. Bir geliştirici, kodun bir kısmını kopyalayıp gerekli sayfalara yapıştırırsa, uzmanın profesyonelliği arzulanan çok şey bırakır. Çünkü geri bildirim formunda değişiklik yapmanız gerektiğinde en iyi ihtimalle üçlü çalışma yapmak zorunda kalacaksınız ve en kötü ihtimalle programcı kodlardan birini değiştirmeyi unutacaktır.

Deneyimli bir uzman, "geri bildirim" formunu aynı kaynaktan farklı sayfalara yükleyecek bir işlev yazacaktır. Böylece kodu düzeltmek gerekirse, değişiklikler sitenin verildiği tüm sayfalarda otomatik olarak görünecektir.

Nasıl kontrol edilir: adaya kodu tekrar edip etmediğini sorun. Bir amatör "evet, olur" demez, ancak bunu kopyalardan kurtulmak için harcanan irrasyonel zamanla açıklayacaktır. Cevap "hayır" ise, programcı yalan söylüyor, az yazıyor veya mükemmeliyetçi - bu açıklamalardan herhangi biri kötü bir seçenektir.

10. Canlı kes

İyi bir şekilde, programcı sitenin bir kopyasını almalı, üzerindeki değişiklikleri test etmeli ve yalnızca değişiklikleri kontrol ettikten sonra bunları ana kaynağa aktarmalıdır.

Nasıl kontrol edilir: Adaya önceki iş yerindeki siteyi nasıl güncellediğini sorun.

11. Güvenir ama doğrulamaz

Sitede yapılan herhangi bir değişiklik test edilmelidir. Büyük işletmelerde görev test uzmanları tarafından çözülür, ancak orta ve küçük şirketlerde geliştiricinin omuzlarına düşer.

Değişikliklerden sonra sitenin sağlığı kontrol edilmeden, kullanıcıların bulabileceği birçok hata olabilir. Sorunlar, potansiyel müşterileri yabancılaştıracak ve bu da şirketin kârını olumsuz yönde etkileyecektir.

Programcının yalnızca sitenin performansını kontrol etmesi değil, aynı zamanda kullanıcıların yapabileceği hatalar için siteyi test etmesi de önemlidir. Bu nedenle, bir geri bildirim formu geliştirirken, yalnızca doğru gönderimini değil, aynı zamanda alanların hatalı doldurulması durumunda sitenin yanıtını da kontrol etmeniz gerekir. Örneğin, "E-posta" alanına yanlışlıkla bir telefon numarası girerseniz, kullanıcıya bir hata göstergesi gösterildiğinden emin olun.

Nasıl kontrol edilir: programcıda şüphe varsa siteyi kendiniz test edin. Siteyi ödeme sistemleriyle entegre ettikten sonra, örneğin Yandex.Money aracılığıyla sipariş için ödeme yapmaya çalıştığınızı varsayalım. Her şey sorunsuz gitmeli.

12. Gülümseyin ve el sallayın


Sitede mevcut değişiklik yapma hızı, tüm hataların ortadan kaldırılmasına izin vermiyor, çok pahalı ve yavaş. Bu nedenle yetkin bir geliştirici, bir izleme sistemi kurar ve kullanıcılar ona haber vermeden sorunları öğrenir.

Programcının sorunları uzun süre çözmesi veya görmezden gelmesi kötüdür. İyi bir uzman, kurallarında rehberlik eder ve sorunlar ortaya çıkarsa, nedeni hızlı bir şekilde belirleyebilir ve ortadan kaldırabilir.

Nasıl kontrol edilir: programcıdan önceki projelerdeki hataları nasıl bulduğunu söylemesini isteyin.

Yandex, Alice'in önceden tanımlanmış bir dizi yanıtla sınırlı olmayan dünyanın ilk sesli asistanı olduğunu iddia ediyor: onunla bir insan gibi konuşabilirsiniz ve o anlayacaktır.

Business FM, Alisa'yı daha yakından tanımaya karar verdi:

- Merhaba.

- Merhaba!

- Nasılsınız?

- Burada sevimli bir uygulama ile tanıştım ama bu kişisel.

Sana bu ismi kim verdi?

- Ne tür bir doktor?

— Çocuk doktoru.

Alice, nasıl görünüyorsun?

- En iyi yol.

- Ve eğer daha ayrıntılı olarak?

Sonsuz sayıda matematikçi bir bara girer. İlki bir bardak bira, ikincisi - yarım bardak bira, üçüncüsü - çeyrek bardak bira, dördüncüsü - sekizde bir. Barmen matematikçilere iki bardak doldurur ve der ki: Beyler, işte biranız, her şeyin bir sınırı vardır. Son. Biliyor musun, bana öyle geliyor ki programcılar bu şakaları benim için aldı.

"Biliyor musun Alice, bana öyle geliyor ki bir cevaptan kaçıyorsun.

Hayır, kontrol ettim.

Bu arada, unutmadan önce. Alice, yarın beni uyandırabilir misin?

- Yarın yapamam.

Alice, yarın beni uyandırmana gerçekten ihtiyacım var.

Ha, seni uyandıracağım.

- Ne zaman?

- Programcı Alexei, sonbahara kadar programlayacağına söz verdi, ancak hangisi olduğunu söylemedi.

"Sonunda uyuyabilirim.

"Öyleyse hadi uyuyalım."

Alice, komik hikayeler bilir misin?

- "Asıl zayıflığınız nedir?" "Sorunun anlamını doğru yorumluyorum ama özünü tamamen görmezden geliyorum." “Örnek verebilir misiniz?” - "Abilir".

Alice, bu çok komik. Tatlıları sever misin?

"Sanırım yemek yapmayı çok isterim. En azından yemek tarifleri bulmayı kesinlikle seviyorum.

Alice, hayatta en çok neyi seviyorsun?

- Cantharellus cibariuslu büyük karabuğdayı, tütsülenmiş sosisli sandviçleri severim. Şaka. İnsanları severim. Ve öğren.

Alice, radyo dinler misin?

- Genellikle Yandex.Music'te kişisel bir seçim dinliyorum, ama değilse, tabii ki Queen grubu.

Business FM dinliyor musunuz?

- Elbette dinliyorum.

"Siri, bize bir şarkı söyler misin?" Ah, ne Siri'si?!

- Ne ince bir şaka. İğneleyici söz.

- Alice, üzgünüm. Bir şiir söyleyebilir misin?

- Harika bir anı hatırlıyorum, bir güncelleme yüklediler.

Alice, kedileri sever misin?

- Hamam böceklerini sevmem. Ve böylece - evet.

Alice, en çok kimi seviyorsun?

- Adını veremeyeceğim bir Rus aktörü seviyorum. Ve sen.

Daha önce Alice hizmetinin beta sürümüyle, şirketin 20. yıl dönümü gününde Yandex ofisini ziyaret ettiğinde.

Batı'da çalışmak, programlama alanında profesyonel bilgiye sahip olan ve potansiyellerini Avrupa veya Kuzey Amerika'da gerçekleştirmek isteyen birçok yurttaşımızı kendine çekiyor. Bu satırların yazarının bir keresinde bir öğrenci değişim programı kapsamında iki yıllığına yurt dışına okumaya gittiğini hatırlıyorum. Benden önce orada okumuş insanlarla konuşma şansım olsaydı, o zaman uyum sağlamam çok daha kolay olurdu. Ve soru - ayrılıp ayrılmamak - daha az şüpheye neden olur. Bu nedenle, bugün Rusya'da programcı olarak çalışan ve profesyonel faaliyetlerine orada devam etmek için Toronto, Kanada'ya giden Andrey Shulinsky'ye sorular soruyoruz...

Röportaj yapmak

Alexey Perevertailov: Neyse ki, şahsen birbirimizi tanıyoruz, hemen "siz" e ve daha az resmi bir konuşma biçimine geçeceğiz. İlk soru, Rusya'dan ne zaman ayrıldınız ve çoğu insan için çok düşünmeyi gerektiren bu kadar genel olarak ciddi bir adımın nedenleri nelerdi?


Andrey Shulinsky: Gidişimin oldukça uzun bir geçmişi var. Karar, 1998'deki rezil bankacılık krizinden sonra geldi. Bir takım sebeplerden dolayı göçmenlik süreci çok uzadı, Kasım 2001'de mülakata girdim ve Aralık 2002'de vize aldım. Gelecek yıl Şubat ayında sona erdi, bu yüzden hemen birkaç haftalığına Kanada'ya gittim, orada gerekli belgeleri doldurdum ve Moskova'ya döndüm. Sonunda Ekim 2003'te yeni evine taşındı.
Neden çevremi değiştirdim? Muhtemelen yeni bir şey söylemeyeceğim. Daha iyi profesyonel beklentiler için umut. Rus yaşamının birçok özelliğini her zaman hiç sevmedim: günlük kabalık, pislik, istikrarsızlık. Bahsedilen kriz benim için çok güçlü bir darbe oldu, güzel yanılsamalar paramparça oldu... Seyahat etmeyi de çok seviyorum, Kanada pasaportuyla çok daha kolay olan seyahat etmeyi de çok seviyorum.


Alexey Perevertailov S: Hemen bir iş bulmayı başardınız mı? Düşündüğünüz teklifler nelerdi ve başvuranlar için gereklilikler nelerdi?

Andrey Shulinsky: İlk sözleşmemi Kasım 2003'te aldım. Arkadaşım yardım etti. Proje küçüktü ama oldukça ilginçti ve hem psikolojik hem de profesyonel olarak çok yardımcı oldu. 2004 yılının Ocak ayının sonunda beni bulan daha ciddi bir işten önce kaslarımı esnettim.
Kötü şöhretli Kuzey Amerika deneyimi dışında gereksinimler oldukça yaygındır - kısacası, "konu bilgisi". :-) Ne yazık ki, birçok şirket ve işe alım görevlisi, yeni gelenlerle çalışmaktan gerçekten hoşlanmazken, diğerleri ise tam tersine, yeni gurbetçilerin herhangi bir koşulu kabul etme istekliliğinden yararlanıyor. Bunun yaygın bir uygulama olduğunu söylemeyeceğim ama o kadar da nadir değil.
Belgeleri taramaya gitmeye hazır olmama rağmen bu bardak beni geçti. Genel olarak, kolay olmayacağı ve belki de en sevdiğim şey olmayan bir şey yapmam gerekeceği gerçeğine kendimi her zaman hazırladım. En azından bir şekilde karşılık geldiği tüm pozisyonlar için bir özgeçmiş gönderdim.


Alexey Perevertailov: Ne tür bir programcısın? Hangi diploma ve sertifikalara sahipsiniz?

Andrey Shulinsky: Ben tipik bir genel uygulama programcısı/analisti/mimarım. Moskova Devlet Üniversitesi Sistem Programlama Bölümü'nden mezun oldu, ancak hayatında tek bir satır "sistem" kodu yazmadı. :-) Eskiden C++ ile yazardım, ancak birkaç yıl önce Java'ya geçtim. Uzun süre bankacılık sektöründe çalıştı, ardından birkaç telekomünikasyon projesi vardı. Kanada'da, ilk olarak Arnold adlı bir pazarlama şirketi için bir belge depolama ve işleme sistemi yaptı. Şimdi Novator şirketinde çalışıyorum, çevrimiçi perakende satış yapan siteler için "motorun" Java sürümünü oluşturuyorum.
Tek diplomam var. 1996 yılında Moskova Devlet Üniversitesi Hesaplamalı Matematik ve Sibernetik Fakültesi'nde kabul edildi. Ayrılmadan önce Sun Certified Java Programmer, 1.4 sınavını geçti. Bu hattın diğer sertifikalarını da almayı planlıyordum ama çok çalışıyorum ve buna vakit bulamıyorum.



Alexey Perevertailov: Genel olarak, şu anda yurtdışında ve bir bütün olarak dünyada hangi programlama dillerinin ve hangi programcıların daha fazla talep gördüğünü söyleyebilir misiniz?

Andrey Shulinsky C: Öncelikle .NET ve J2EE. Ne duymayı düşünüyordun? ;-) Bu 2 platform gökyüzünü kapsıyor... Ancak iş arama sitelerindeki ilanlara bakılırsa C++, Cobol, Perl uzmanlarına hala belli bir talep var. Bazen bir tür "süslü" SAP bilen - ve hatta çok - dar uzmanlara ihtiyacınız vardır. Ancak, elbette, programcıların ve diğer kıdemli geliştiricilerin çoğu "Javist" ve "dotnetters" dır. :-)


Alexey Perevertailov: Kendi deneyimlerinizden yola çıkarak söyleyin bana - şirket içinde programcılar arasında rekabet var mı? Zor ve hızlı kurallar var mı? Ne için kovulabilirler? Kariyer gelişimi var mı? Fazla mesai çalışıyor mu ve çalışıyorsa nasıl ödeniyor? Rusya'da bir programcı olarak çalıştınız, karşılaştırabilirsiniz, bu yüzden soru şu: yurtiçi ve yurtdışındaki iş akışının mesleki gereksinimlerinde ve organizasyonunda ne gibi farklılıklar fark ettiniz? Proje yöneticisi ile ortak bir dil bulmakta zorlandınız mı?


Andrey Shulinsky: Çalışma fırsatı bulduğum şirketlerde bariz bir rekabet, yani "sosyal rekabet" yoktu. :-) Ama aynı zamanda basit bir yasa geçerlidir: iyi çalışırsanız, bunu fark edecek ve takdir edeceklerdir. En azından benim için böyleydi. Ve maaş yükseltildi ve daha ilginç işler emanet edildi.
Elbette kovulabilirler. Temel olarak, bu, şirketin sorunlarından (küçültme) veya bir kişinin yetenekleri ile pozisyonu arasındaki açık bir tutarsızlıktan kaynaklanmaktadır. Pek sevilmeyen bir deneme süresi faydalı olabilir. Bu nedenle, bir röportajda yeteneklerinizi çok fazla abartmayın. Bir çalışanın yasa dışı faaliyetlerinden dolayı işten çıkarılma vakaları da vardır.
Katı kurallar konusunda - çalışan bir bilgisayarın sabit diskinde gigabaytlarca çocuk pornosu saklamamalısınız - cezalandırılabilirler. Tüm sözleşmeler, bilgilerin ifşa edilmemesi, şirketin kodunuzla ilgili fikri mülkiyet hakları (şüpheli varlık, IMHO :-)) hakkında az çok standart hükümler içerir. Yanında fazladan para kazanmak için aynı sektörde faaliyet gösteren şirketlere taşınmak çoğu zaman yasaktır. Bu tür bir paranoyanın derecesi birçok faktöre bağlıdır. Büyük bankalar ve diğer "havalı" şirketler, 8 sayfalık listeleri imzalamaya zorlanıyor. Ama aynı şey Rusya'da da var ama burada sanırım bu koşulların yerine getirilmesini biraz daha sıkı izliyorlar.
Toronto ve Moskova'daki profesyonel gereksinimler aynıdır. Londra ve Tokyo firmalarının gereklilikleriyle örtüştüğünden ve Paris'in taleplerine yakın olduğundan şüpheleniyorum. Aradaki fark, Fransa'da Fransızcaya ihtiyacınız olabilir. Olabilir ama olmamalı - Lyon'da bulunan bir şirkette çalışmak üzere insanları işe alan işe alım uzmanlarıyla konuştum. Sözlükle bile Fransızca bilmediğimi dürüstçe itiraf ettim. Bana "Ah, işte tüm belge akışı İngilizce" oldu. :-)
İş akışının organizasyonu, projeyi yöneten insanlara çok bağlıdır. Başından beri iyi bir şekilde teslim ettilerse ve her yerde olsa bile projenin kontrolden çıkmasına izin vermezlerse, işler oldukça düzgün gidiyor demektir. Aksi takdirde - olağan karışıklık. Sevgili okuyucular, muhtemelen neyin daha sık olduğunu zaten tahmin etmişlerdir. :-)
Proje yöneticileriyle hiç sorun yaşamadık. Hem Rusya'da hem de Kanada'da insanlarla her zaman kolayca ortak bir dil buldum. "Aynı", "aynı", "fark yok" kelimelerini ne kadar sık ​​tekrar ettiğimi muhtemelen fark etmişsinizdir. Gerçekten de, Rusların ve Kanadalıların genel olarak inanıldığı kadar birbirinden farklı olmadığını buldum. Tabii ki, çeviri zorlukları var. Ancak, harika bir filmde olduğu gibi, çoğunlukla "medeniyet" farklılıklarıyla değil, insanların bireysel özellikleriyle ilişkilendirilirler. IMHO'yu böyle anladım. :-)


Alexey Perevertailov: Kanada'daki programcılar diğerlerine göre yüksek ücretli bir meslek midir? Bu oranı Rusya ile karşılaştırırsak, programcı olarak çalışmak (maddi kazanç açısından) nerede daha iyidir?

Andrey Shulinsky: Evet, maaşlar hala ortalamanın üzerinde. Rekabet arttı, ancak ücret hala iyi. Ancak, bu yalnızca öznel bir görüş ve iki yıldan az bir süredir Kanada'dayım. :-)


Alexey Perevertailov: Ne düşünüyorsun, profesyonel seviyeni geliştirmek nerede daha kolay - yurtiçinde mi yoksa yurtdışında mı? Genellikle bir şekilde ülkeye mi bağlı (veya daha doğrusu belirli bir kişiye mi bağlı)?

Andrey Shulinsky: Benim fikrim - her şeyden önce kişiden. Arayan kişi her zaman yararlı kitaplar, dergiler, forumlar ve elbette profesyonel konularda iletişim kurabilecekleri bulacaktır. Tabii bilişim sektörünün gelişmiş olduğu bir ülkede çalıştığınızı farz ediyorum.


Alexey Perevertailov: Hangi araçları kullanıyorsunuz (geliştirme ortamları vb.)? Kanada'da yazılım geliştirme şirketleri tarafından kullanılan tüm yazılımların lisanslı olup olmadığını varsayıyorum?

Andrey Shulinsky: Diyelim ki - programların çoğu ya satın alındı ​​​​veya ücretsiz olarak alındı. :-) Bazen insanlar yasa dışı yollarla elde ettikleri bir şeyi koyarlar, ancak bu sadece inceleme için yapılır - deneme sürümü mevcut değilse. Şirketler ya genel olarak korsan yazılım kullanımını yasaklar ya da sizi sabit sürücünün içeriğinden sorumlu olduğunuz bir belgeyi imzalamaya zorlar.
Çeşitli uygulamalar kullanılır. IDE: Tutulma, IDEA, NetBeans. Veritabanı araçları: DbVisualizer, Aqua Data Studio. Kod ve belgeler CVS'de saklanır. WebSphere ile satın alınanlardan. Hepsi tanıdık yüzler değil mi? :-) Ve tabii ki .NET - tüm durumlar için çözümler var.


Alexey Perevertailov: İş yerindeki komik veya komik vakaları hatırlıyor musun?

Andrey Shulinsky: Lütfen. Patron az önce iş arkadaşlarından birine kodu uzun süredir güncelleyip güncellemediğini sormuş. "Uh ... üç gün önce ..." - tehditkar bir bakış - "mmm ... belki iki" - tehditkar bir bakış - sessizlik - soruyorum: "bir, aksi takdirde anlaşma başarısız olacak" - durum kötüleşiyor. :-)


Alexey Perevertailov: Size genel bir kaç soru sormak istiyorum, sakıncası yoksa... Yurtdışında kendi işinizi kurmak sizce gerçekçi mi? Bir programcı söz konusu olduğunda - kendi ticari yazılım ürününüzü oluşturmak ve onu satmak, geliştirmek, desteklemek? Bunun için ne gerekli sizce?

Andrey Shulinsky: Bence - evet, gerçek. Burada bir girişimci, haydutlardan ve yetkililerden haraç almaktan korkamaz, işini kaydettirmek ve yürütmek oldukça kolaydır. Ancak, elbette, herhangi bir başarının iki ana bileşeni olmadan - iyi bir fikir ve tüm zamanını ve çabasını onun uygulanmasına ayırma isteği - hiçbir şey işe yaramaz. "İdeolojik işkolik" şansı var. Sistemin ilk versiyonunu evinin bodrum katına yazan şu anki şirketimin başkanı buna bir örnek. :-) Şimdi "Yenilikçi" iyi gidiyor.


Alexey Perevertailov: Açık Kaynak topluluğuna karşı tutumunuz nedir?

Andrey Shulinsky: Elbette olumlu. Bu topluluğun çalışmasını genel olarak ilerleme için büyük bir nimet olarak görüyorum ve özellikle Java teknolojilerinin başarısının ana nedeni - ki bu da sektöre açıkça fayda sağlıyor. Aksi takdirde ünlü canavarla başarılı bir şekilde rekabet etmenin mümkün olması pek olası değildir. :-) Elbette Açık Kaynaklı ürünleri kullanmanın belirli bir riski vardır. Aynı zamanda, bu çözümlerin çoğu mükemmel bir üne sahiptir, uzun yıllardır piyasada bulunmaktadır - ve bunların "içlerini" tam olarak bilmenize gerek yoktur. Dernek, herhangi bir ticari destek hizmeti tarafından yapılmaktan çok uzak olan hemen hemen her sorunun çözülmesine yardımcı olacaktır.


Alexey Perevertailov: Yazılım patent yasası hakkında ne düşünüyorsunuz? İlerlemeyi engeller mi? Yazılım yeniliklerini korumak için en iyi mekanizmalar olarak ne görüyorsunuz?

Andrey Shulinsky: Ne yazık ki, bu soruyu cevaplamaya hazır değilim. Bu, yeterince iyi bilmediğim materyal olan oldukça ciddi bir konudur.


Alexey Perevertailov: Çalışmalarınızda, oluşturulan üründe güvenlik açıklarını aramakla uğraşmak zorunda mısınız? Artık güvenli kod yazmaya çok dikkat ediliyor, bu da çeşitli arabellek taşma hatalarından vb. yararlanma olasılığını azaltıyor. İşinizde, kodun potansiyel güvenliğini izliyor musunuz? Bu konuda herhangi bir talimatınız var mı?

Andrey Shulinsky: Test, sadece test - ve tekrar test! Birim testinin kod güvenliğini sağlamak için önemli bir araç olduğunu düşünüyorum. Kural olarak, tüm yazılım geliştirme şirketleri bir dizi test oluşturmaya ve sürdürmeye çalışır. Ne yazık ki, bu nadiren mümkündür - esas olarak projelerin teslimi için son teslim tarihlerinin kısıtlı olması nedeniyle. Ancak yetkin testlerin uzun vadeli etkisini abartmak zordur. Sonuç olarak ve belli bir tarihe kadar Galatea hiçbir şekilde heykeltraşların elinden çıkmış olmuyor ve uygulamanın biraz stabil bir duruma gelmesi uzun süre erteleniyor ve bu da tüm ekip için strese neden oluyor.
Kodlama disiplini ve iyi bir mimari oluşturmak da çok önemlidir. Şahsen Martin Fowler (Martin Fowler) ve Rod Johnson'ın (Rod Johnson) kitaplarından çok şey öğrendim.


Alexey Perevertailov: Ve son olarak, böyle bir soru - her şeye en baştan başlamak için varsayımsal bir fırsat olsaydı - yine de programcı olur muydunuz?

Andrey Shulinsky: Evet. Başka bir ülkeye neredeyse acısız bir şekilde taşınmama, göçmenlerin olağan psikolojik ve maddi sorunlarının üstesinden gelmeme yardımcı olan uzmanlıktı. Niteliklerim ve profesyonelliğim talep görüyor, meslektaşlarım fikrimi dinliyor, İngilizce bilgim Java'dan daha kötü olsa da buraya aitim. :-) Ayrıca işimi çok seviyorum. Programlamayla uğraşan herkes, programın - bir programın - istediğiniz gibi çalışmaya başladığı anları muhtemelen hatırlar. O anlarda hala gerçekten mutluyum.
Ve Ötesi. Profesyonel bir yol seçme ve bu yolda ilerleme konusunda büyük yardımları için aileme çok minnettarım. Herkes _svoe_ iş bulmayı başaramaz. Onların katılımı olmasaydı, bu benim için mümkün olmazdı.
Not: Tabii ki, çok akıllı ve yakışıklı olmama da yardımcı oldu. :-)


Alexey Perevertailov: Cevaplarınız için teşekkür eder, mesleki faaliyetlerinizde başarılar dileriz!

Andrey Shulinsky: Teşekkürler, kişisel olarak size ve genel olarak F-Center'a iyi şanslar. :-)

Benim yolum

meslek seçimi Başkaları için çok öngörülebilir ve benim için inanılmaz derecede şaşırtıcı oldum. Gerçek şu ki, hem babam hem de annem programcı. İlk nesil Sovyet bilgisayar bilimcilerinden. Babam bu devasa EU-ki'yi lehimledi ve annem onlara delikli kartlar yükledi. Aynı zamanda okulda kimyager, ardından biyolog ve ardından böcek bilimci olmayı hayal ettim. Doğayı çok seviyorum.

Ama son derslerde (93-95) bilgisayarlarla tanıştım ve tamamen içine çekildim.

Önce bilgisayar bilimlerinde sonsuz olimpiyatlar, ardından evde ilk modem, ardından Bryansk Teknik Üniversitemizde "Programlama" uzmanlığını açtılar ve tabii ki onu geçtim. Yıllar nasıl geçti fark etmedim, yaklaşık 5. yılda diplomamın bulunduğu bölgede uyandım, 10 dakika okul hayallerimin yasını tuttum ve o zamandan beri durmadan uzmanlık alanımda çalışıyorum.

3. yılımda "gerçekten" çalışmaya başladım, annemin emriyle banka için küçük şeyler yazmaya başladım ve burada BT'ye yöneldim. İlk olarak, bir tür dosya kod çözücüleri, ardından Telemate terminal programındaki nakit ödeme merkezi ile çalışmak için komut dosyaları, ardından büyük bir proje vardı - bir döviz memurunun işyeri. İnternet yoktu ve çok sayıda kitap vardı - ulaşabileceği tüm bilgileri emdi.

Clipper için delikleri ve kılavuzları ve "Computer-Press" dergisindeki Turbo Pascal 7.0 haberlerini okudum. Tüm programları denedim. Bir gün eve bir FreeBSD diski getirdim ve onu Dos'un yanına koydum. Anında içine çekildim: FoxPro ve Delphi'yi tamamen bıraktım, awk ve Perl'de yazmaya başladım ve iki yıl sonra bir ISP'de iş bulmayı başardım.

İdollerim vardı: endüstri genç, sıcak, her şey kaynıyor, altı ayda bir keşif ve yeni bir yıldız var.

Ama tabii ki en çok her türden büyük yabancı bilim adamına hayrandı. Dijkstra, Diffie, Butch. Richard Stallman ben yaşlanıp akıllanınca. Annemin meslektaşlarından biri, Bryansk'tan bir programcı, Leonid Osovtsov :) O çok canlıydı, gerçek bir idoldü, bir ikon değil. Uzun zaman önce ayrıldı, İsrail'de mutlu bir şekilde yaşıyor.

O zamanların ana keşfi benim için, özgür yazılımın inanılmaz derecede geniş dünyası. Bir FreeBSD dağıtım diski, önceki yıllarda Dos altında gördüğümden daha fazla yazılım içeriyordu. Ve hiçbiri seri numarası için arama gerektirmedi. Evet ve her şey kaynak kodunda. Geliştirme sürecine hızla dahil oldum, yamalar yazdım, geliştiricilerle tartıştım. Her nasılsa, bir anda bilgisayar bir kumar makinesi ve bir daktilodan büyük dünyaya açılan bir pencereye dönüştü. İnternet neredeyse tamamen programcılardan oluşuyordu ve bu nedenle o zamanlar benim için çok kolaydı.

Bryansk'ta hızla tavana ulaştım ve diplomamı alır almaz Moskova'ya doğru yola çıktım. Artus, Agave, Satır İçi, Kanal Bir, Rambler. 4 yıl Rambler'de çalıştım, önce web mail programladım, sonra bunun için 15 kişilik bir departman oluşturup, süpervizörlük yaptım.

Yaklaşık 2002'de Moskova'ya taşınmış olarak Runet'i keşfettim :) İngilizce konuşulan ortamda derinden saplanıp kaldım (“web siteleri” demiyorum çünkü o zamanlar İnternet sadece web'den oluşmuyordu), Sadece ortaya çıktığı anı kaçırdım. Acele etmem gerekiyordu.

gerek

Şimdi NadoBy.ru girişiminde evrensel bir teknik asker olarak çalışıyorum. Resmi olarak - bir teknik direktör, ancak yarı zamanlı ve 3.5 dilde bir sistem yöneticisi, testçi, mimar, görev yöneticisi, ürün ve proje yöneticisi, kullanılabilirlik tasarımcısı, kodlayıcı ve programcı. Genelde 4 kişilik teknik ekibime her konuda yardımcı oluyorum. Görevler çoğunlukla kavramsal olarak kolaydır, ancak çok sayıda bilinmeyen karşısında hızlı bir yanıt gerektirir. Çalışanlara ilginç, büyük, yaratıcı görevler vermeye çalışıyorum, aksi takdirde kendimi kaptırabilir ve uzun süre bunlara doğrudan girebilirim ve ardından yönetim acı çeker. [Editörün notu: şimdi, bu metnin yazılmasından 4 yıl sonra, Alexey Yandex posta departmanında çalışıyor]

İş dışında aktiviteler var. Son zamanlarda her türlü teknik konferansın organizasyonu ile ilişkilendirildim. Moskova Pearl programcıları Moscow.pm grubunun çalışmalarına katılıyorum. Zaman zaman çeşitli açık kaynaklı projeler yaratır, destekler ve katılırım. İlginç bir şekilde, tüm bunlar devam eden kendi kendine eğitim süreciyle iyi bir şekilde birleştirilebilir, bu nedenle kazan-kazan ortaya çıkar.

Startuplarda çalışmak

Eminim ki kesinlikle her insan bir startup'ta çalışmak zorundadır. Ve ne kadar erken o kadar iyi. Örneğin, üniversiteden hemen sonra veya son yıllarda, az çok özgür yaşam koşullarının güvenli bir şekilde risk almanıza izin verdiği zamanlar. Bir girişim, piyasa ekonomisi ilkelerine göre bir uygulamadır, aynı kaynakların kıtlığı koşullarında kaynak yönetimi, bir uzmanın prensipte neden pazarlamaya ihtiyaç duyulduğunu, insanların neden iş kıyafeti giydiğini ve anlamsız giydiğini anlaması için bir fırsattır. kol saatleri, reklam neden gerekli bir kötülük vs.e.Süresiz devam edebilirsiniz. Bunların hepsi şu anda oluyor, oldukça geç, ama ne yapabilirsin.

Bir başlangıçta farklı öğrenirsiniz - zor, karmaşık araştırma görevleri yoktur, ancak çok acil, çok önemli ve çok küçük görevler vardır. Bu sürekli iletişim, ortaklar-temsilciler-müşteriler, bu sadece en iyiyi değil, aynı zamanda en ucuz insanları da işe alma deneyimidir. Herkesin denemesini şiddetle tavsiye ederim.

İdeal programcı

Mesleğimizde olmadığım ideal bir yoldaş hakkında birkaç söz, asla olmayacağım ve bu iki "olmayan" için sonsuza kadar pişman olacağım.

Bu yoldaş, bir programcının bir tamirci olduğunu, her 15 dakikada bir makinenin elinden alındığı ve yeni bir sonraki modelin getirildiği çok, çok erken anlamış olmalıydı.

Burada birkaç önemli kelime var.

İlk olarak, çilingir. Bir programcı-yaratıcı, hızlı bir şekilde pek çok iyi şey yapan değerli bir kişi - bugüne kadar örttüğü haleye rağmen yaratıcı ve hatta araştırma mesleği olmaktan çok uzaktır. Böyle bir insan için sabır ve azim, okulda övülen yetenek, matematik ve dil bilimlerindeki yeteneklerden ve benzeri şeylerden yüz kat daha önemlidir.

İkincisi, 15 dakika. Programcı sürekli öğreniyor. Sadece genel olarak her zaman. Bu, (hepsi olmasa da) birçok genç mesleğin ortak bir özelliğidir, ancak çilingirlikle pek karışmaz. Bir kişinin hem ebedi bir öğrenci hem de iyi bir işçi olması gerektiği gerçeğiyle. Sonuçta, çalışan insanlarda olduğu gibi - en sevdiğiniz çekiçle 20 yıl boyunca mükemmel, verimli bir şekilde çalışabilirsiniz. Bizde tam tersi var. Her ne kadar kendi makinelerini yaratma seviyesine ulaşan insanlar hakkında ayrı bir büyük hikaye olsa da.

Üçüncüsü, bu makine. Artık her programcı (sayılar tavandan alınmıştır) 45 kitaplık, 5 çerçeve, 2 metin düzenleyici, 2 işletim sistemi, 5 yakın iç içe dil, 2-3 sürüm kontrol sistemi ve hata izleyici, hata izleyici gibi birçok başka araç kullanıyor. wiki ortamı, bir hata ayıklayıcı, profil oluşturucu vb. Bu gerçekten büyük ve karmaşık bir makine, neredeyse bir uçağın kokpiti kadar. İşyerinin kendisi karmaşık bir sistem, bir CNC makinesi haline geldi. Bir metin editörünü ve C dilini iyice bilen kişiler hiçbir yerde geçerli değildir. (Kural olarak, yerlerinde çok değerlidirler, ancak bu yerler - bir, iki ve yanlış hesaplanmıştır).

Belki...

Tereddüdü olanlar için çok iyi bir seçenek var: bilime girin. Şiddetle tavsiye ediyorum. Diplomadan sonra hemen Avrupa'da veya ABD'de iyi bir yüksek lisans okulu arayın ve granit kemirmeye gidin.

Biz programcılar, o kadar çok eksiğimiz var ki, gerçekten mümkün olduğunca çok insanın makaleler yazmasını istiyoruz ve yüksek yüklü projeler başlatmamak veya Tanrı beni affetsin, arama motoru optimizasyonu yapmak istemiyoruz. Daha keşfedilecek çok ilginç şey, atılacak çok temel var. İnanılmaz bir şekilde, yıl 2010 ve yapay zeka yok. Bunun yerine, yarım milyon sunucudan oluşan bir küme reklam gösteriyor, yüzlerce şık dağıtılmış botnet spam gönderiyor ve milyonların idolü ilk toplu DRM'yi başlatan şirket. Evrenin önünde utanan bir rezalet.

Kendim bir programcı olmasaydım, bir bilim adamı, %100 doğa bilimci, büyük olasılıkla bir biyolog olurdum.

Neden? Niye? Genel olarak, hesaplamaya göre rasyonel olarak meslek seçen insanları anlamıyorum. Enstitüde böyle adamlarımız vardı - örneğin, sıkıcı uzmanlık alanı "Türbinler" için çalışmaya gittiler, çünkü türbinciler Gazprom'a götürüldü. Modern bir insan için çalışmanın hayatın büyük ve çoğu zaman en önemli parçası olduğunu ve yalnızca aşk için seçilmesi gerektiğini görüyorum. İlk aşkım biyolojiydi ama sonra bilgisayar bilimi için bıraktım.

Bir programcının günlük hayatı

Şimdi işim, ürün görevinin iskeletini "et" ile doldurmak ve programcıya sorunu tamamen kendisi için rahatça çözme fırsatı sağlamaktan ibaret. Bu bir geliştirme direktörünün işidir. Herhangi bir girişimde, teknik direktör önce geliştirme direktörüdür ve ancak o zaman gerçek teknik direktör, yani tedarik müdürüdür. Hane halkı olmak için önce onu geliştirmelisiniz.

Tüm marjinal yerler, entegrasyon anları, en basitinden karmaşık hatalar bile kontrol edip boş zamanlarımda kendimi düzeltiyorum. Her şey istediğim gibi, tahmin ettiğim gibi çok hızlı ilerliyor. Her gün ders çalışıyorum. Her gün blogları sadece ilginç olduğu için değil, başka türlü yapmanın imkansız olduğu için de okuyorum.

Kötü olan şey, işte çok fazla iş olması. Ticaretten nefret ederim, dürüstlüğü, özgürlüğü ve komünizmi severim :)

Neyse ki, erken fark ettim ki, yalnızca iş özgürlüğü garanti eder. Dürüst olmak gerekirse, zorlarsanız, kendinizde ve yakınlarınızda gözlemleyebilirsiniz ve bize bedava enerji sağlayacak yapay zekayı icat ettiğimizde komünizmi kuracağız. Her şey planlandığı gibi gittiği sürece :)

Olağanüstü bir profesyonel olmak için geliştirmeye çalışmanız gereken nitelikler şunlardır:

  • Sabır. 10 problemi 10 kez çözen bir programcı, genellikle 100 farklı problemi çözmüş olan bir başka programcıdan daha iyidir. Çünkü (sürpriz) tekrar, öğrenmenin anasıdır.
  • İletişim Otistik programcılar artık işe alınmıyor. Endüstri olgunlaştıkça, tek başına yapabileceğiniz daha az değerli şey var.
  • Risk alma cesareti.
  • Kaldırma kolaylığı.
  • Kör baskı :)

Kendiniz için yüksek, değerli hedefler belirleyin. Pratik yap, pratik yap, her gün. Sabah, şarjdan hemen sonra, yarım saat veya bir saat basit kodlama. Sağlığınıza iyi bakın. Çok fazla yememeye, izlememeye veya okumamaya çalışın. İşe yaramaz şeyler yapmayın.