Итак, всем доброго времени суток. Сегодня я хочу поговорить с вами о Soft Skills. Крик души, или немного про Soft Skills - 1Начнем с самих софт скиллов — Википедия подскажет, что это "комплекс неспециализированных, важных для карьеры надпрофессиональных навыков", которые "тесно связаны с личностными качествами и установками (ответственность, дисциплина, самоменеджмент), а также социальными навыками (скорость адаптации, коммуникация, в частности, слушание; работа в команде, эмоциональный интеллект)". Если быть проще, то это:
  • ваше обаяние, которое поможет очаровать hr, чтобы при отсутствии необходимого для вакансии опыта, вас все-таки допустили до технической части собеседования, где вы бы смогли продемонстрировать свои навыки;
  • ваше знание английского, которое поможет при трудоустройстве на работу в компанию с заграничными корнями;
  • ваше умение общаться с людьми для успешной работы в команде компании мечты, в которую вас однажды обязательно возьмут!
  • ваше умение организовать свою работу даже в условиях удаленного труда;
  • и т.д. и т.п.
Когда вы учите Java — вы приобретаете так называемые Hard Skills — без них вас не возьмут на работу гарантированно, а вот наличие у вас Soft Skills перетянет чашу весов на вашу сторону, если выбор встанет между вами и другим кандидатом, у которого таковых не найдется. И важный фокус в том, что их можно и нужно (разумеется, нужно для вас) получать здесь же, сразу на лету, одновременно с изучением языка программирования. И это абсолютно не сложно, достаточно следовать нескольким простым правилам. Что же это за правила, и что конкретно они развивают?

1. Перед тем, как задать свой вопрос — перечитайте еще раз задание

В программистской среде есть такое явление, как "разговор с уточкой" — берем любой объект, например, резиновую уточку для ванной, и задаем ей вопрос, часто случается, что пока вы задаете вопрос — ответ находится. Перечитать задание — это понять, что именно вы хотите от вашей программы и найти ответ, если он находится на поверхности. Развивает внимательность, и важное умение не задавать вопросы, ответы на которые вы знаете и сами (опытные программисты не очень спешат отвечать на самые простые вопросы — их время очень ценно, с одной стороны, и эти вопросы им просто не интересны — с другой).

2. Если ответ не нашелся, посмотрите, возможно, ваш вопрос уже задавали

Зайдите в раздел Помощь, там есть поиск по названию задачи, он отлично работает, вы сможете найти все вопросы, заданные по этой задаче, среди них может оказаться и тот, что интересует вас. Скорее всего, даже дано много ответов - выбирайте среди них лучший, который наиболее понятен вам лично, и продолжайте двигаться к своей заветной мечте - пониманию Java. Развивает умение и, что немаловажно, привычку искать нужную информацию — очень пригодится на работе (найти часто быстрее, чем спросить и ждать ответа, его можно и не дождаться — это только JavaRush такой добрый).

3. Ваш вопрос исключительный и вы готовы его задать

отформатируйте свой код — отступы, скобки и пустые строки, например, следующий кусок кода:

public class Solution {
    public static void main(String[] args) throws Exception {
       //напишите тут ваш код
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    int a = Integer.parseInt(reader.readLine()); 
    int b = Integer.parseIn t(reader.readLine());
    int c = Integer.parseInt(reader.readLine());

    if (a >= b && a >= c && b <= a && b >= c)
System.out.println(a + " " + b + " " + c);

else                                                  
    if (a >= b && a >= c && c <= a && c >= b)
System.out.println(a + " " + c + " " + b);

else
     if (b >= a && b >= c && a <= b && b >= c)
System.out.println(b + " " + a + " " + c);
    }  
}
должен преобразиться следующим образом:

public class Solution {
    public static void main(String[] args) throws Exception {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        int a = Integer.parseInt(reader.readLine());
        int b = Integer.parseInt(reader.readLine());
        int c = Integer.parseInt(reader.readLine());

        if (a >= b && a >= c && b <= a && b >= c) {
            System.out.println(a + " " + b + " " + c);
        } else if (a >= b && a >= c && c <= a && c >= b) { 
            System.out.println(a + " " + c + " " + b);
        } else if (b >= a && b >= c && a <= b && b >= c) { 
            System.out.println(b + " " + a + " " + c);
        }   
    }
}
Задавая же, непосредственно вопрос — пишите все, что может помочь отвечающему — какую именно ошибку выдает валидатор, какую строку не принимает компилятор, либо какой конкретно пункт условий задачи не выполняется. Вопросы "в чем проблема?", "Что от меня хочет валидатор?", "Помогите!!!!" мягко говоря, не информативны. Развивает привычку следить за своим кодом(пригодится опять же в работе при прохождении процедуры код-ревью), а так же навык уважительного общения с окружающими вас людьми(вы ведь хотите получить ответ на свой вопрос — цените время и глаза тех, кто хочет вам ответить).

4. Читайте вопросы других участников, возможно, вы уже знаете ответ и можете помочь кому-то

Да-да, читайте вопросы и помогайте другим — объясняя что-либо другому, вы лучше понимаете сами, привыкаете к правильному синтаксису, узнаете что-то новое для себя, а главное запоминаете все узкие места, где поначалу ошибаются почти все - названия переменных, чувствительность к регистру, открывающие и закрывающие скобки. Развивает общую уверенность в себе и умение объяснять - пригодится, когда захотите описать свою проблему коллеге.

5. Ну и напоследок, следите за судьбой вашего вопроса

Вы задали вопрос, а затем ответили на него сами, нашли ответ в других вопросах, вам ответили и вы все поняли, или просто решили задачу, потому что прочитали следующую лекцию - не стесняйтесь зайти в свой вопрос, найти там "Управление" и выбрать пункт "Пометить решенным" — так вы покажете тем, кто еще в поисках - что здесь можно найти ответ, а отвечающим — что можно потратить время на другой вопрос, так как ваш уже не требует ответа. Развивает привычку обращения с задачами(пригодится в работе - вам нужно будет сообщать о статусах своей задачи, и чаще всего делать это технически, а не устно), ну и добавляет вам плюсиков в карму. Итого, учитесь самостоятельно, учитесь у других, учите других и пусть ваш уровень растет, а работа мечты приближается! Успехов вам!