JavaRush /Java блог /Random /Крик души, или немного про Soft Skills
Екатерина
16 уровень
Санкт-Петербург

Крик души, или немного про Soft Skills

Статья из группы Random
Итак, всем доброго времени суток. Сегодня я хочу поговорить с вами о 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. Ну и напоследок, следите за судьбой вашего вопроса

Вы задали вопрос, а затем ответили на него сами, нашли ответ в других вопросах, вам ответили и вы все поняли, или просто решили задачу, потому что прочитали следующую лекцию - не стесняйтесь зайти в свой вопрос, найти там "Управление" и выбрать пункт "Пометить решенным" — так вы покажете тем, кто еще в поисках - что здесь можно найти ответ, а отвечающим — что можно потратить время на другой вопрос, так как ваш уже не требует ответа. Развивает привычку обращения с задачами(пригодится в работе - вам нужно будет сообщать о статусах своей задачи, и чаще всего делать это технически, а не устно), ну и добавляет вам плюсиков в карму. Итого, учитесь самостоятельно, учитесь у других, учите других и пусть ваш уровень растет, а работа мечты приближается! Успехов вам!
Комментарии (12)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Rustam Zinurov Уровень 23
12 апреля 2020
Правильно заданный вопрос - половина решение задачи !
Стас Пасинков Уровень 26 Master
12 апреля 2020
а картинка - не в тему, имхо)
Стас Пасинков Уровень 26 Master
12 апреля 2020
отформатировать код в идее можно нажатием на Ctrl + Alt + L
Justinian Уровень 41 Master
12 апреля 2020
1. перед тем как задать вопрос "Все работает, валидатор не принимает, что не так?" нужно: - очень внимательно побуквенно перечитать условия и сообщения валидатора - убедиться что код верно отрабатывает на примерах, которые содержатся в условиях - придумать хотя бы штук 5 своих разных ситуаций, особое внимание уделив пограничным значениям. 2. Если вам кто-то отвечает в вашем вопросе - не пишите ответы просто в новых комментариях к вашему же вопросу. У отвечающего уведомления не будет и он не прочитает. Отвечайте нажав кнопку "Ответить" непосредственно на конкретном вам отвечающем. 3. Если вам ответили, вы что-то сделали и снова не работает, бросайте в комментарии обязательно полный вариант кода (можно без импортов - все что ниже строки class Solution { ), ошибка может быть где угодно, никогда не предоставляйте какой-то кусок кода чтобы спросить что не так, если вы не знаете в чем состоит суть ошибки и где она находится, код должен быть предоставлен полностью. Отдельные фрагменты кода можно предоставлять только для разбора синтаксиса отдельных конструкций. 4. Старайтесь наиболее полно формулировать проблему. Пример плохой формулировки: "Я сделал это в той строке, а он отработал как другой" Пример хорошей формулировки: "Я в строке 21 добавил оператор equals, но он все-равно показывает false на сравнении значений "ivan" и "ivаn"" Не сокращайте. Другие не живут вашей задачей как вы. Им нужно больше дополнительной информации чтобы вникнуть в вашу проблему. 5. Развивайте навык гугления. Фреймворков и технологий сотни, все не изучить никогда. Гугль ваш незаменимый товарищ. Нужно уметь быстро и эффективно гуглить, для этого гуглить на английском быстро определяя где нужная страничка, где нет. Задавать вопросы это очень важный навык для программиста, от него много чего будет зависеть на проектах, будете ли вы молчать и срывать сроки, пытаясь разобраться с слишком сложной для вас проблемой, или будете всех отвлекать вопросами, где нужно было 10 секунд погуглить.
Олег Уровень 16
11 апреля 2020
Из статьи понял, что частью Soft Skills является, в том числе, умение работать с возникающими вопросами. Надеюсь, что автор хотел донести именно это.