Что мне нужно узнать, чтобы повысить свои навыки?

Мой путь к «штатному» разработчику заявлен как аналитик, использующий VBA с Excel, Access, а затем на C#. Я пошел в колледж на неполный рабочий день, когда обнаружил, что увлекаюсь программированием, а не бизнесом.

Я пишу большую часть кода на C#, но, будучи разработчиком ASP.NET, я также пишу на HTML, JavaScript, SQL и т. д. обычные подозреваемые.

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

Недавно я изучал LINQ, но мне было интересно, что мне делать дальше? Что-то о .NET Framework или новой языковой технологии?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
0
2 195
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

Да, есть фреймворки, которые нам нужны, но в большинстве случаев (наиболее не все) вы можете искать их по мере необходимости ..

Но хорошая дизайнерская голова? Чтобы все заработало, нужны годы опыта.

И это то, за что на самом деле платят компании ... «Построй, и они придут» и все такое ...

Почему бы вам не поменять местами стеки и не посмотреть на стек LAMP?

Или как насчет функционального языка, такого как haskell?

Или написать DSL?

Или приложение для телефона?

Какой смысл менять стек? Что бы это ни было?

Andrei Rînea 08.10.2008 13:20

По мере того, как вы продолжаете набираться опыта в ASP.Net, C# и т. д. - всегда полезно посмотреть на конкурентов и посмотреть, не возникнет ли у них идей о том, как можно улучшить то, что вы делаете. Взгляд на что-то вроде Rails или Django может изменить ваш взгляд на проектирование или создание приложений.

Если теперь вы хорошо владеете используемыми вами языками и технологиями, начните уделять больше времени дизайну, архитектуре решения и системной интеграции. «Более широкая картина», которая выделит вас среди ваших современников.

Ознакомьтесь с некоторыми книгами Мартина Фаулера, такими как «Паттерны архитектуры корпоративных приложений» или «Доменно-ориентированный дизайн» Эрика Эванса.

Возможно, вы узнаете больше об удобстве использования (передовой опыт, тестирование и т. д.), Если вы еще этого не сделали.

«Не заставляй меня думать» Стива Круга - хорошая книга для начала. У Якоб Нильсен тоже всегда есть интересные вещи.

@ Майкл DSL = Специфический для домена язык

Что касается того, что вам следует изучить, это зависит от того, что вас интересует.

Вы хотите испытать себя, оставаясь при этом на одном уровне (веб-ориентированные приложения)? Я бы посоветовал изучить Apache и архитектуру LAMP (Linux, Apache, MySQL, PHP) и бросить вызов самому себе, чтобы создать веб-приложение, которое можно было бы легко создать с помощью ASP .NET.

Хотите узнать что-то совершенно другое? Попробуйте Пролог или LISP и посмотрите, что вы можете с ними сделать.

Может быть, вы хотите заняться встраиваемым ПО? Для начала выучите C.

У вас есть множество способов улучшить свои навыки, и к каждому из них привязан карьерный рост. (Ну, может, и не Пролог, но это весело!)

Чем больше языков вы знаете, тем более востребованным вы являетесь. Посмотрите и посмотрите, какие языки являются более популярными (рынок, а не фанатская база), а затем добавьте передовые технологии, которые пока мало используются, и дополните их общими навыками программирования.

С вашим набором навыков я бы порекомендовал (что касается языков):

  • Java как отправная точка
  • Для .Net добавьте в .Net MVC (у вас есть LINQ или это тоже будет здесь)

Навыки языковой независимости:

  • Шаблоны проектирования (включая MVC)
  • Доменно-ориентированный дизайн
  • Дизайн, управляемый тестами
Ответ принят как подходящий

Если вы хотите быть одним из лучших, вам нужно специализироваться. Если вы станете очень хорошими во многих навыках, вы, возможно, никогда не станете по-настоящему превосходным в одном. Я знаю это, потому что я сам выбрал этот путь, и временами мне было трудно найти работу. В конце концов, кому нужен кто-то, способный на многих языках, когда есть кто-то, кто преуспевает в том, что им нужно. Если компания разрабатывает C#, то кому нужен кто-то, кто хорошо разбирается в C#, но также хорошо разбирается в C, Visual Basic, Perl и Cobol, тогда как все, что им действительно нужно, - это лучший разработчик C# за те деньги, которые они могут себе позволить.

В конце концов, вы будете работать только с одним, может быть, с двумя вашими навыками. Очень мало рабочих мест для людей, владеющих 10-15 навыками.

Если вы ищете новый навык, то, возможно, загляните на доску вакансий и найдите, какие навыки особенно нужны, но имейте в виду, что то, что является ароматом месяца в этом году, может даже не появиться на сцене в следующем году, что сделает все эти усилия по освоению навыка напрасны и напрасны.

Я бы сказал:

  1. делай одно дело и делай это хорошо. Это может включать вспомогательные навыки (C#, ASP.Net, SQL, LINQ и т. д.).
  2. Если вы хотите выбрать что-то еще, выберите что-то дополнительное.
  3. Возможно, самое главное, выберите то, что вам понравится. Возможно, Ruby on Rails - это текущая разновидность месяца, но если вам это не нравится, не делайте этого. На самом деле это того не стоит. На смертном одре вы никогда не пожелаете, чтобы вы больше работали над тем, что вам не нравилось.

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

Приносим извинения за болтовню здесь. Надеюсь, ты еще не спишь :)

Хотя я согласен с тем, что вам следует сосредоточиться на конкретном языке, я все же думаю, что если вы разбираетесь в языках более низкого уровня, таких как C и C++, это сделает вас лучшим программистом на языках более высокого уровня, таких как C# или Java ... поэтому я по-прежнему думаю, что тебе стоит хотя бы попытаться выучить другие языки. Помимо этого, не каждый язык подходит для каждой конкретной работы, поэтому чем больше вы знаете, тем больше вы можете подавать заявки на конкретные задачи ... что, в свою очередь, сделает вас более продуктивным, и, конечно же, работодатели любят это.

Andreas Grech 12.08.2009 10:44

Я согласен с тем, что специализация важна, но я не совсем согласен с вами. Я работал в группе сбора данных в аналитической компании, и у нашей группы были SDK для всех мобильных платформ (только 3 языка и 4 среды выполнения), а также проекты на C#, C++, Java и JavaScript. Любой разработчик с действительно хорошими основами должен быть в состоянии достаточно быстро овладеть любым языком / средой выполнения. Я по-прежнему считаю, что вам следует специализироваться, но глубокое понимание программного обеспечения более ценно, чем, например, хорошее знание .NET. Я бы по-прежнему поощрял людей изучать много языков.

evanmcdonnal 01.08.2013 21:04

Вот мои предложения:

1) Шаблоны дизайна - они действительно удобны, а также очень полезны в некоторых ситуациях.

2) AJAX. Если вы еще этого не сделали, с моей точки зрения, это интересная часть веб-разработки.

3) Определите, какие части цепочки вам нравятся больше всего: интерфейсная работа (HTML, CSS, Javascript), промежуточное ПО (C# для частей бизнес-логики) или внутренняя часть (MS-SQL с хранимыми процедурами, индексами, триггерами. и все такое). Если это все, то постарайтесь оставаться там, где команда, занимающаяся веб-разработкой, небольшая, иначе вас могут попросить сделать выбор.

4) Разработка и анализ алгоритмов - знаете ли вы различные алгоритмы сортировки? Знаете ли вы различные методы создания алгоритма, например жадность, рекурсия, разделяй и властвуй, динамическое программирование, с использованием пользовательских типов данных, таких как куча в кучах и т. д. Это может быть новым и крутым.

5) Определите, какую часть процесса разработки вы предпочитаете: аналитик, дизайнер, программист, тестировщик, отладчик? Все могут иметь разную степень близости к коду, ИМО.

Другие вопросы по теме