• Как стать программистом в банке?

    @LowCoder
    Takoi
    Работал.
    Устроится можно - тут совершенно правильно подсказали, что изучите требования на сайтах работодателя и постарайтесь под них подстроится. Изучите технологии, которые востребованы в описаниях вакансий. Очень советую написать несколько статей и дать в резюме на них ссылки. Этим хоть как то можно показать свою экспертность. Это ценится. Очень нелишне будут всякие сертификаты. Можно от Майкрософта, очень неплохо от Оракла - оракл часто юзают в банковской сфере. Так же как и Sybase. По MSSQL тоже можно. MCSD не помешает. Жаль по юниксу нет (скажем так лично я не знаю) представительных сертификаций но можно найти что то на BrainBench.
    Из преимуществ работы в банке могу сказать, что наверно у программистов банковских программ скорее выше зарплата. И она достаточно стабильна. На этом пожалуй все преимущества заканчиваются и начинаются недостатки.

    А именно - в банках есть некое негласное разделение золотые воротнички (высший менеджмент, который обитает в своих сферах и редко снисходит - у них там своя вселенная со своими законами своей гравитацией и законами физики) , белые воротнички - клерки и синие. Это уборщики, техперсонал и ... программисты, как правило. Я не могу сказать про все банки ... но будучи сам и белым и немного позолоченным и потом программистом могу сказать что в целом картина такая. Наверно есть оазисы ... но сейчас не могу сказать, давно ушел из мира банков, хотя сейчас работаю именно в области финансов.
    Т.е. отношение .. ну как к тех персоналу. Какая-нибудь тетя из кредитного отдела, у которой обязанности нажимать в день две кнопки, по которым получается какой-нибудь отчет для начальства будет смотреть с высоты своего положения :) немного свысока на молодого выпускника физтеха кто во сне решает дифуры сходу.
    Работа как правило тоже малоинтересная с точки зрения программиста - довольно скучные приложения в основном клиент сервер туда сюда данные, формы, формы с числом полей приближающихся к бесконечности, джава апплеты зачастую страшные как атомная война.
    Но это еще хорошо, ибо большая часть работы это поддержка. И это самый ужос. Копаться в технологиях, зачастую древних как мумие мамонта. Я сейчас работаю на американскую финансовую контору - так там даже еще майнфремы пашут. Все это было написано тогда когда еще компьютеры были большими и тепло-ламповыми и везде ползали трилобиты и трилобайты. И самое страшное, что это все работает. На эмуляторах конечно. Представьте себе эмулятор под древний майнфрейм - и причем оный эмулятор работает из под винды. А на нем проги бегут на Алголе. И ЭТО рулит реальными (по российским масштабам нереальными) деньгами. Как … никому не ведомо. Интересно? И это в то время как космические бульдозеры сравнивают Большой театр за самострой :).
    Сюда прибавить бюрократию и строгую иерархию (начальник моего начальника не мой начальник) – никаких диванчиков в стиле гугла и яндекса и детских игрушек. Все строго с 9 и до "солнце еще высоко" – обеды в офис и все такое. Никаких, как правило, удаленок и прочих элементов сладкой жизни. Опять же, как правило, никаких поездок и загранкомандировок с интеллектуальными играми, тургеневскими барышнями, ночными освежающими прогулками по Тендерлойн и Кастро в Сан Франциско (для тех кто понимает :)), веществами и напитками в номер. Для рядовых программистов конечно.
    Как правило, весь действительно интересный софт для банков пишут отдельные конторы. Хотя есть гиганты в, которых довольно мощные центры разработки. Есть в Москве такой банк из крупных международных.
    Т.е. если интересная финансовая сфера, то лучше таки пойти в контору, которая изначально программисткая и для программистов. Работа там гораздо интереснее и вы как вроде там не синий воротничок на седьмом киселе, а самая что не на есть белая кость и уважаемый человек – одним словом Программист, а не какой то там клерк :).
    В связи с массовым «импортозамещением», платными парковками и прочими радостями современных реалий (вт.ч. курсом доллара) многие конторы сейчас переводят весь персонал в какие то более теплые и спокойные страны, что конечно делает жизнь скучнее но работу плодотворнее и вообще открывает перспективы. Да и свой евро ближе к телу. Так что может повезти чего не скажешь, про работу в среднем Российском банке. Ах да из преимуществ можно еще отметить мегакорпоративы на новый год )) Но это только раз в году. Так что преимущество сомнительное тем более, если не любитель пышных женщин и вообще жизненных излишеств.
    Вот где действительно интересно – это все что связанно с биржами и трейдингом. Это некий свой особый мир, лежащий чуть в стороне от классического банкинга (читай расчеты). Это специфическая область и там все серьезно и плане математики и в плане технологий. Одна из лучших контор в которой мне довелось работать, это контора связанная с биржевыми данными и трейдингом. Контора американская, но работает в Москве. Очень высокий уровень разработки и культуры управления. Требует серьезного уровня подготовки. Все в основном на С++ и С - все остальное по скорости безнадежно сливало – работа в терминах микросекунд) под правоверный линкус. Советую, если не радует рутинная бесконечная унылая работа рваться в эту область. Еще можно попробовать оценки рисков. Но вообще советую именно программерскую контору а не банк. Кстати мир загнивающего капитализма точно такой же, а не только в России такая картина. Тока на загнивающим надо пару нулей приписать к любой цифре, ну и в долларах все, а так в принципе то же самое.
    Но в трейдинговых конторах интересно, особенно если допустят до торговых алгоритмов. Для этого нужна хорошая мат. подготовка и программерская тоже. Но там зарплаты бывают ну очень большими и бонусы еще.. бонусы
    На хабре есть цикл статей от ITinvest – можно поискать .. почитать проникнутся. Написано очень интересно. Я проработал в этой области много лет но и сам много чего нового и интересного нахожу. Так на всякий случай я с ITinvest никак не связан вообще – так что с них стакан мангового сока за рекламу.

    Если сухой остаток то советую C C++ (Страуструп, Мейерс, Александреску, Саттер помогут и подскажут стандарты 11, 14, 17, boost и stl само собой после всего советую C++ Concurrency in Action, Williams - THE MUST и совершенно адскую книжищщу Addison.Wesley.C++.Template.Metaprogramming.Concepts.Tools.and.Techniques.from.Boost.and.Beyond - вырыв мозга с корнем), к сожалению много стало Java (не люблю жаву но реальность данная нам в ощущениях такова), хорошее ... очень хорошее знание Linux (само собой bash и Perl, Linux.in.a.Nutshell.6th.Edition - хорошая), Python совсем не лишен, алгоритмы - особенно на загнивающем - страсть как любят алгоритмы, 80% времени собеседований не про языки а про алгоримы ( советую скачать Introduction to Algorithms 3th, Cormen, Leiserson, Rivest, Stein.pdf ну и Кнута конечно) и очень хорошо это знание стека протоколов TCP/IP (UNIX._Network_Programming._3rd_ed Стивенса). Еще POSIX многопоточность - я лично учился по Системное программирование на C++ для Unix, Теренс Чан - книжка старая но по моему не потеряла актуальность и Unix Взаимодействие процессов, Уильям Стивенс и QNX-UNIX. Анатомия параллелизма, Цирюлик .О - последняя написанна просто и толково). С этим багажом можно уже выходить на очень приличный уровень. Конечно сразу не взять такой объем но в целом как то так. Ах да .. и английский конечно. На нормльном разговорном уровне.

    Вообще очень хорошая выжимка - короткая но четкая из брошюры по собеседованию для гугла. Она свободна доступна но вот из нее выдержка

    "Coding: You should know at least one programming language really well, preferably C++ or Java. For specific projects, we do also use C
    and Python but these are normally secondary languages at Google. You will be expected to write code in most of your interviews. You will
    be expected to know a fair amount of detail about your favorite programming language. Make sure to check out our Google code style
    guides. You will be expected to know about API’s, OOD/OOP, how to test your code, as well as come up with corner cases and edge cases
    for yours and other peoples code.

    Algorithms: You will be expected to know the complexity of an algorithm and how you can improve/change it. Big-O notations also
    known as the run time characteristic of an algorithm. If you get a chance, try to study up on fancier algorithms, such as Dijkstra and A*. For
    more information on algorithms you can visit TopCoder.

    Sorting: What common sorting functions are there? On what kind of input data are they efficient, when are they not? What does
    efficiency mean in these cases in terms of runtime and space used? E.g. in exceptional cases insertion-sort or radix-sort are much better
    than the generic QuickSort / MergeSort / HeapSort answers.

    Data structures: You should study up on as many other structures and algorithms as possible. You should especially know about the
    most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem. Be able to recognize them when an
    interviewer asks you in disguise. Find out what NP-complete means. You will also need to know about Trees, basic tree construction,
    traversal and manipulation algorithms, hash tables, stacks, arrays, linked lists, priority queues.

    Mathematics: Some interviewers ask basic discrete math questions. This is more prevalent at Google than at other companies
    because counting problems, probability problems and other Discrete Math 101 situations surrounds us. Spend some time before the
    interview refreshing your memory on (or teaching yourself) the essentials of elementary probability theory and combinatorics. You should
    be familiar with n-choose-k problems and their ilk – the more the better.
    "

    Всего дело то :))
    Ответ написан
    2 комментария
  • Как организовать работу удаленных программистов?

    gadfi
    @gadfi
    https://gamega.org
    - Возможно ли найти ответственных и самостоятельных людей?

    да
    - Каким образом следует контролировать сотрудников?

    а как вы это делаете в офисе ?
    Если ли смысл использовать тайм-трекеры на ПК работников?

    нет

    - Как начислять ЗП? Использовать фикс. ЗП / оплачивать позадачно / почасово?

    зависит от того как принято у вас в компании
    - Сколько в среднем платить удаленному PHP-программсту средней квалификации (junior / middle)?

    столько же сколько и обычному
    Ответ написан
    Комментировать
  • Откуда Gradle знает о сторонних библиотеках?

    @georgeci
    Библиотеки (артефакты) в виде jar или aar файлов хранятся в специальных репозиториях. В build.gradle можно указать, в каком именно репозитории искать. По умолчанию gradle ищет их в JCenter, но можно указать и другие.

    buildscript {
        repositories {
            jcenter() // по умолчанию присутствует в файле
            mavenCentral() //указание на другой репозиторий
            maven { url 'https://maven.fabric.io/public' }     //указание на другой репозиторий
        }
    }


    Для своих библиотек можно использовать подобные сервисы или даже поднять свой собственный репозиторий.
    Ответ написан
    Комментировать
  • Как заставить android-приложение подключаться к моему сайту, а не к демонстрационному?

    gadfi
    @gadfi
    https://gamega.org
    купить платную версию, уверен она стоит дешевле чем услуги реверсинжиниринга
    Ответ написан
    Комментировать
  • Поясните код Java?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Вот что происходит после компиляции:

    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    public class test {
        public test() {
        }
    
        public static void main(String[] args) {
            byte a = 1;
            byte b = 2;
            byte var10000 = a;
            a = b;
            int b1 = var10000 + 0 * b;
            System.out.println(b1 + " " + a);
        }
    }


    Как можно заметить, никакой магии здесь нет.

    В общем и целом я не рекомендую использовать такую "магию". Гораздо лучше писать понятный и очевидный код.
    Ответ написан
    Комментировать
  • О работе в закрытых гос. учреждениях?

    OrenTiger
    @OrenTiger
    .NET Developer
    Согласен с LeEnot. Всё описано прям в точности, как было у меня. К сожалению, я провёл в этом учреждении очень много времени. К счастью - я всё-таки одумался ) Теперь приходится усиленно навёрстывать упущенное. Очень много времени тратилось на совершенно посторонние для программиста занятия - субботники (прям как в школе), перетаскивание архивов из одного помещения в другое, производственные лекции (темы которых совершенно не имели отношения к IT), возня с документами (приказы, рапорты и прочая ерунда). В итоге за рабочую неделю удавалось заняться программированием максимум 2-3 дня. Кстати о программировании там: всё плохо ) Распишу подробнее:

    - интернета действительно не было, только на отдельном компьютере. Это был тихий кошмар, когда необходимо было посмотреть что-то на stackoverflow или скачать какую-нибудь библиотеку. Беганье туда-сюда от рабочего компьютера к компьютеру с интернетом очень быстро утомляло.
    - Материальная база действительно устаревшая. Половину комплектующих рабочего компьютера я купил за свои деньги, ибо работать на тормозном железе было крайне некомфортно.
    - Низкий уровень программирования в целом. Никто не знал, что такое CVS, никакого ООП, тем более Design Patterns и т.п. не использовалось абсолютно. В принципе каждый программист вёл какие-то свои приложения, в которых разбирался только он. Как следствие - никакого опыта командной работы.

    Единственная ложка мёда в бочке дёгтя - дозволялось применять любую технологию, которая бы выполняла поставленную задачу. Благодаря этому я мог писать сначала на Delphi, потом на C# и на PHP. Но любой интересующий язык программирования можно изучить и дома, в свободное от работы время, так что эта ложка мёда не существенна )

    Мне повезло в определённый момент одуматься и вырваться из зоны комфорта, в которую затянула меня работа в гос. учреждении. Правда я потерял несколько драгоценных лет и сейчас приходиться прикладывать немало усилий, чтобы догнать своих коллег-сверстников, которые в своё время пошли работать в нормальные конторы. Поэтому мой совет - никаких государственных учреждений, бегите от них подальше в нормальные IT-организации!
    Ответ написан
    2 комментария
  • Какая it специальность востребована для работы в Канаде, Австралии, США?

    @FoxInSox
    - Менеджеров любого вида не перевозят, т.к. во первых сложно оценить профессиональный уровень(если о вас конечно не пишут газеты вроде New York Times c заголовками "Он принес прибыль в миллиард долларов"), а во вторых менеджер с локальным менталитетом всегда будет лучше понимать клиентов, сотрудников и начальство.
    - Перевозят: разработчиков, devops, архитекторов, тим-лидов и тд.
    - Опыт зависит от должности. Разработчика могут и с 2-мя годами перевезти, тим-лид очевидно должен обладать несколькими годами опыта менеджмента и 4-5 годами в качестве senior разработчика.
    Ответ написан
    1 комментарий
  • Как выбрать специализацию для начала карьеры?

    petermzg
    @petermzg
    Самый лучший программист
    Так макдональдс даже видео сделал, чтобы ответить на ваш вопрос.
    Ответ написан
    Комментировать
  • Какие примеры правильного Java кода можно привести?

    @sirs
    Что-то мне подсказывает, что вы ищете серебряную пулю, но ее не существует.
    Нет такого понятия как идеальный код, идеальный паттерн, идеальная обработка исключений и т.д.
    Каждый паттерн, каждое архитектурное решение отлично подходит под какого-то круга задач, но этот круг задач всегда ограничен. Нелья написать код и сказать, что это эталон. Если все так было просто, задачу написания кода давно бы уже автоматизировали на 100%.
    То, что вы ищете, может придти только с опытом и со временем.
    Примеры решения конкретных проблем - ищите на stackoverflow, "красивое" оформление кода - в опенсорсных фреймворках на гитхабе (https://github.com/spring-projects/spring-framework).
    Ответ написан
    2 комментария
  • Как сделать управляемый usb-хаб при помощи Arduino?

    @Skywoker73 Автор вопроса
    anykey
    Решение найдено. Многоканальная плата с реле. Софтинка обычно имеется в описании товара, либо передается ссылка на нее после покупки.

    Гуглятся по запросу в интернет-магазинах "usb реле контроля"

    493a62b632674839aa5ec53862b495df.jpg
    Ответ написан
    Комментировать
  • Необходим GUI и язык программирования под платформы windows, linux и android?

    nki
    @nki
    bezkart.ru готовая система лояльности
    1C - поддерживает все указанные платформы. Даже переписывать особо не придется.
    Ответ написан
    Комментировать
  • Как с помощью Arduino контролировать Android?

    Nerwin
    @Nerwin
    И ни капельки я не тупой...просто ленивый
    можно эмулировать на ардуине hid клавиатуру, подключать по otg, Основные функции (громкость, музыка) будут работать
    Ответ написан
    Комментировать
  • Где обучаться Android dev в процессе работы?

    @FoxInSox
    Устройтесь на работу в офис. Если в вашем городе нет вакансий, то переезжайте в Москву или Питер.
    Ответ написан
    4 комментария
  • Что выбрать для клиент-серверного приложения?

    gadfi
    @gadfi
    https://gamega.org
    Если вы хотите просто поработать с каким то апи, возьмите github api
    если научится писать серверную часть, то тут пробовать нужно, что больше понравится
    Ответ написан
    Комментировать
  • Как научиться быстро думать и решать подобные задачи?

    @Caitiff_One
    Обычный человек, начинающий разработчик:)
    Как Вы все знаете, там дают примерно 20-30 задач на время

    Не знаем такого, это где так делают?:) устраивался на работу - не было ничего подобного:)
    Ответ написан
    2 комментария
  • Как научиться быстро думать и решать подобные задачи?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    которые дают обычно при устройстве на работу.


    Вы автоматически проиграли на этапе постановки задачи.

    как можно быстро научиться решать такие задачи


    Берете и решаете задачи. Много задача. По несколько каждый день. И так пока не научитесь.
    Ответ написан
    2 комментария
  • В какой момент пора использовать ООП?

    Denormalization
    @Denormalization
    Не забивайте себе голову. Если всё работает и вас всё устраивает, то зачем что-то менять?
    Преимущества ООП проявляются при поддержке проекта.
    Вы поддерживаете свои проекты? Вы развиваете их? В какой момент вам стало сложно поддерживать проект?
    Много ли в проекте абстракций?
    Как вы решаете проблему добавления новых абстракций в проект?

    Если эти вопросы не про вас, то вам не нужно ООП.
    Ответ написан
    Комментировать
  • Когда ооп быстрее процедурного?

    @Mercury13
    Программист на «си с крестами» и не только
    ООП рассчитано не на скорость исполнения, а на скорость разработки. Как, впрочем, и многие другие современные технологии разработки. Всё, что ООП делает, можно реализовать и без ООП, и даже эффективнее. Стоит ли — другой вопрос.

    Какую задачу конкретно решает ООП? Обуздать сложность разработки программ, собранных из взаимодействующих компонентов. Вот от этого и пляшем: если программа не модульная (например, какой-нибудь сложный научный расчёт), ООП мало поможет. Также ООП не поможет, если стандартная реализация ООП недостаточно эффективна по процессору или по памяти — например, в мою бытность JavaMe’шником ООП не жаловали, поскольку памяти много ел, типичный мобильник имел от 215 до 800 килобайт доступной памяти. Также плохо будет работать там, где нет взаимодействия (на типичном PHP, который выдал страничку и исчез).

    Что на PHP можно реализовать объектно?
    • Поддержку каких-то протоколов (БД, почта, какая-нибудь внешняя веб-служба наподобие VK API или Mandrill).
    • Что-нибудь из предметной отрасли, что меняет своё состояние — например, генерация картинок, звуков, архивов, PDF…
    • Может, сделаешь какой-нибудь генератор страниц, который сначала собирает каркас страницы, а затем, в зависимости от настроек и целевого устройства, обращивает его HTML-кодом.
    Ответ написан
    Комментировать
  • Есть ли альтернатива SQL в Android?

    gadfi
    @gadfi
    https://gamega.org
    вангую на транзакции, скорее всего вы выполняете большое количество записей бд
    +возможно вам стоит лучше продумать структуру бд (не хочу обидеть, но иногда поподаются странные решения)

    Realm не советую, лично мне не понравилось то что с объектом можно работаь только в том потоке в котором он создан, но возможно для вас это оптмиальное решение

    Опишите задачу подробнее.
    Ответ написан
    8 комментариев