¿Cómo puede distinguir a un desarrollador web aficionado de un profesional?

Como alguien que ha sido desarrollador web durante más de diez años y contrata desarrolladores regularmente, puedo resumir la diferencia entre un desarrollador profesional y un aficionado en algunos puntos:

  • El primer regalo son los ojos. Si están llenos de esperanza y asombro, el desarrollador probablemente nunca interactuó con un gerente o un cliente, está fuera. Es una broma. El primer y más importante punto es la cartera. Hay una gran diferencia entre una cartera gruesa y una nueva que solo tiene un par de proyectos.
  • Años de experiencia. Supongo que esto es muy obvio, pero vale la pena mencionarlo. Y si está pensando que las personas pueden mentir en su currículum, generalmente es muy fácil saber cuándo alguien está mintiendo sobre esto. Su cartera, trabajos anteriores y entrevistas técnicas son obsequios.
  • El código. El código de un desarrollador profesional es ordenado, bien comentado, muy optimizado y fácil de entender. El código de un aficionado generalmente parece un gran desorden no optimizado.
  • Un desarrollador con muchos años de experiencia, puede ver la imagen más grande y sabe lo que hay que hacer, mientras que un novato se obsesiona con los detalles y pierde de vista su objetivo.
  • Un profesional le dará lo que necesita, un aficionado le dará lo que quiere.
  • Un buen desarrollador sabe cómo equilibrar su tiempo entre las tareas en cuestión, mientras que un aficionado no tiene idea de por dónde empezar.
  • Sus esperanzas y sueños. Si todavía tiene alguno, es demasiado joven. Consíguete a alguien con ojos muertos y un alma para igualar. Bromeando de nuevo. ¿O soy yo?

En primer lugar, ¡es importante darse cuenta de que los aficionados y los profesionales no son necesariamente opuestos! Una de las definiciones de aficionado incluye: ‘una persona sin experiencia o no calificada en una actividad particular’.

Sin embargo, el profesional simplemente indica que a una persona se le paga por hacer algo. Como muchos de nosotros estamos muy familiarizados, muchas personas son mejores para promocionarse a sí mismas que para realizar su trabajo real. Es decir, no son tan hábiles en la profesión que cobran.

Si está buscando diferenciar entre un desarrollador web principiante y experimentado, o tal vez aún más relevante, cómo detectar a un desarrollador web talentoso e invertido, independientemente de su experiencia profesional, aquí hay algunas señales reveladoras:

  1. Una comprensión y aprecio por la industria del desarrollo en su conjunto. Es probable que esté integrado o interesado en al menos un proyecto de código abierto.
  2. Experimenta constantemente con programas, lenguajes y marcos. Entiende que el desarrollo web no tiene respuestas fijas ni soluciones establecidas, y el aprendizaje continuo es la única manera.
  3. Enfatiza un equilibrio de recursos (tiempo, dinero y esfuerzo), priorizando lo que es necesario para alcanzar el resultado final deseado. Entiende cómo cumplir de manera efectiva los objetivos desde un punto de vista logístico.
  4. Aprecia las necesidades de un proyecto, en lugar de quedar atrapado en una implementación específica de una solución. Un desarrollador talentoso sabe que la mejor solución técnicamente no siempre satisface las necesidades subjetivas del cliente.
  5. Empuja los límites e implementa soluciones creativas, templadas con razón. Cuando hables con ellos, tendrás la sensación de que tienen un conocimiento abrumador y pueden seleccionar la información necesaria para aplicar soluciones prácticas.

Por supuesto, esto no es una lista completa o exclusiva, pero algunas cosas que he notado que los desarrolladores web talentosos tienden a tener en común.

Si por profesional te refieres a un principiante experimentado y aficionado, entonces realmente creo que el rasgo diferenciador más común es dónde está su ego en cuanto conocimiento creen que tienen.

He notado 3 tipos de desarrolladores.

  • (A) No sé nada : el desarrollador principiante clásico. Hemos estado aquí, estamos felices de aprender cualquier cosa y trabajar en la tarea más mundana para aprender. Este es un desarrollador principiante aficionado. Motivado para aprender, ansioso por aprender de los “gurús”.
  • (B) Lo sabe todo : el desarrollador que cree que lo sabe todo y tiene una opinión sobre todo. Por lo general, ve las cosas en blanco y negro y tiene una fuerte opinión sobre mejores herramientas de pilas / idiomas.
  • (C) Se da cuenta de que su conocimiento es la punta del iceberg : el desarrollador que con el tiempo se da cuenta de que cada vez que escribe un código nuevo, generalmente es mejor que el pasado.

Los desarrolladores profesionales / experimentados pueden caer en el campamento (B) o (C), y a menudo moverse entre las dos categorías. Mi prejuicio personal es que cuanto mejor esté en el campamento (C), cuanto más humilde sea sobre lo que sabe o no sabe, más abierto estará para la superación personal.

Por otro lado, si te quedas atascado en el campamento (B) puedes limitar tu potencial de crecimiento al enfocarte en cómo te comparas con los demás.

Esta es mi observación sesgada personal, así que estoy seguro de que otros no estarán de acuerdo con esto 😉

En cuanto al “desarrollo web”, no creo que haya una diferencia aquí. Quizás un desarrollador aficionado se sienta más cómodo con el trabajo de front end y los profesionales tienden a avanzar hacia problemas de backend más complejos. Ese es un patrón común, comenzar un junior en la parte delantera y luego involucrarlos en el backend.

Ya se ha dicho mucho, pero como persona que contrata mucho de sitios independientes y de forma remota, he aprendido algunos atributos valiosos de buenos freelancers que codifican o hacen gráficos por igual.

  1. Hay quienes saben cómo utilizar el software y los que son desarrolladores y diseñadores.

    Si usted es un cliente que tiene pautas generales y la persona es simplemente un usuario de software, no podrá trabajar de forma independiente sin sus especificaciones y orientación exactas. Encontrar a alguien que comprenda los objetivos de su proyecto y haga preguntas para ayudarlos a conocer la visión será capaz de encontrar la mejor solución para sus necesidades. No hay nada que odie más que describir un resultado que necesito o un gráfico que solo quiero que el profesional independiente me pida que diseñe todo y le envíe las especificaciones exactas. A veces es por eso que está contratando a un “experto”.

  2. El portafolio. Intenta encontrar a alguien que haya trabajado con un negocio similar o un proyecto exacto en el que estés trabajando. Aunque a los grandes programadores les encanta aprender cosas nuevas y pueden tener la ambición, considere esto si está pagando por el proyecto con una fecha límite suelta y no por hora. Del mismo modo en diseño gráfico, si no veo trabajo previo con la calidad que esperaba, el 100% de las veces no lo recibiré.
  3. La comunicación es clave.

    Está entrando en una relación con esta persona y su capacidad para comunicarse y entenderse es primordial. He pasado más tiempo repitiéndome, tomando capturas de pantalla y encontrando nuevas formas de describir mi proyecto de lo que debería haber tomado la codificación real.

No sea tímido para organizar concursos y solicitar muestras o carteras / referencias. Si contrata en un sitio independiente, no solo verifique las críticas positivas, sino que tenga en cuenta las quejas repetidas que podrían indicar problemas por delante.

Es la misma forma en que puede decirle a un “dueño de negocio” aficionado:

Ven los sitios web como elementos físicos “listos para usar” o comida rápida desechable, como una pila de tarjetas de visita que compraron sin pensar en ello, en lugar de como centros a través de los cuales muchos canales diferentes pero unificados de comunicación por Internet deben ejecutar (como SEO, marketing de contenidos, uso de imágenes, UX / UI, capacidad de respuesta móvil, diseño, uso de fuentes, psicología del color, branding y marketing).

El dueño del negocio neófito no está haciendo dinero a través de su esfuerzo, o al menos no lo suficiente para mantener a una familia, pagar una hipoteca, ahorrar para el futuro, presupuesto para problemas médicos o jubilación. Si están raspando, es “por la piel de sus dientes”. Y no saben de otra manera y lucharán con uñas y dientes si intentas abrir los ojos a la “mezcla” de marketing más grande que incluye el sitio web utilizar como un centro central de automatización de marketing.

Del mismo modo, el desarrollador web aficionado no ve el desarrollo web como un servicio de arte que puede elevar a un negocio de ir a la bancarrota y a una rentabilidad sostenida, sino como un servicio “único” como rotular letreros en las intersecciones o vender utensilios de cocina. . No hay arte, no hay pasión por cambiar las vidas de los propietarios de pequeñas empresas para mejor, y no tenemos idea de cómo hablar con el dueño de un negocio sobre cambiar su status quo.

Es una mentalidad que realmente no es incorrecta o correcta, es exactamente lo que es y lo que atrae atrae. El “dueño del negocio” con capital cero, sin experiencia, sin deseo de estudiar administración de negocios o mirar tendencias más grandes, siempre se asocia con el “desarrollador” que ve los sitios web como plantillas vacías para lanzar como hamburguesas con queso en una parrilla. Se atraen porque sus visiones del mundo son idénticas.

Entonces, para responder a su pregunta, puedo detectar al desarrollador web aficionado de la misma manera que puedo detectar al propietario del negocio aficionado: falta de visión, falta de planificación, todo tiene que ser fácil, y la percepción es que nada de lo que hacen tiene valor duradero porque no hay compromiso de devolver el valor.

Como ya han dicho otras respuestas, para responder a su pregunta tal como está redactada actualmente, ¿simplemente se les paga por hacer desarrollo web? Si es así, son profesionales.

Sin embargo, sospecho que lo que realmente quieres saber es cómo distinguir entre un gran desarrollador web y uno no tan bueno.

En mi opinión, la habilidad clave de un gran desarrollador web es la capacidad de hacerle al cliente potencial las preguntas correctas para determinar exactamente lo que el cliente necesita y no lo que cree que quiere, y luego convencer al cliente de eso.

Muchas otras respuestas hablan sobre la calidad del código. Eso está bien y elegante, pero para un completo no codificador, ¿cómo saber si el código es bueno? Todo es demasiado complejo.

Háblales. Escucha atentamente lo que te preguntan, trata de averiguar por qué te preguntan lo que te preguntan. ¿Entienden rápidamente el concepto de lo que estás tratando de hacer? ¿Sus comentarios y preguntas lo provocan a ajustar sus requisitos, tienen sentido?

Alguien le paga por su trabajo: profesional

Nadie te paga por tu trabajo: aficionado

Eso es, se aplica a todo. Confía en mí, tuve una buena cantidad de “profesionales” que no tenían idea de su campo. Ya sea publicidad, ventas, programación, ingeniería de software, …

Esto, entregado por otros para trabajar para ellos, te convierte en un profesional:

A menudo, un aficionado puede operar solo herramientas como WordPress, y no puede escribir ningún código html o javascript desde cero. Utiliza plantillas preconstruidas (que a veces son agradables) pero no sabe muy bien cómo funcionan las cosas bajo el capó.
Esto no quiere decir que WordPress sea solo para aficionados: muchos profesionales lo usan y tienen un profundo conocimiento de cómo funciona.

Otros signos que revelan a los desarrolladores web aficionados son:

-bajo conocimiento principios básicos de la interfaz de usuario
-no saben lo que es UX
-no son conscientes de los problemas de rendimiento
-no tienen nociones de cómo diseñar una capa de datos
– se meten con el código
-no saben qué es el control de fuente

Desafortunadamente, cuando se necesita un sitio web, es fácil ser tentado por los diseñadores web de bajo costo … pero a largo plazo, el dinero ahorrado se convierte en una carga pesada, y de alguna manera tendrá que pagar más después.

Es por eso que muchos sitios web de Internet son cosas de baja calidad, ¡todavía hoy!

Creo que muchos han perdido un punto muy importante y es la estructuración del código. Cuando comienza a desarrollar, por ejemplo, una aplicación, es muy importante cómo estructura el código arquitectónicamente. Para poder extender la aplicación, agregar funciones, generalizar bloques de codificación y comprender fácilmente el código, es esencial una buena estructura. Esto puede ser mucho más importante que, por ejemplo, la optimización del código, especialmente del lado del cliente, ya que el rendimiento a menudo no es tan importante allí … y como dicen “no optimices si no es necesario”.

Muchas de estas respuestas parecen bien pensadas, pero no responden la pregunta con precisión. La única diferencia entre un desarrollador profesional y un desarrollador aficionado es si le pagan o no por escribir código.

DESEO que cada desarrollador profesional haya marcado todas las casillas en las respuestas anteriores, pero la verdad es que muchas de ellas no lo hacen.

Mire su código: le dirá todo y cualquier cosa que necesite saber.

El código de un desarrollador profesional es ordenado, conciso y elegante. Logra lo que hay que hacer de una manera concisa y fácil de entender.

El código también mostrará evidencia de haber sido diseñado adecuadamente, de forma modular de manera que sea extensible

No hay código hinchado con un desarrollador profesional. Un desarrollador inteligente no volverá a inventar la rueda y reutilizará el código, pero también no incluirá simplemente ninguna biblioteca por el bien de la funcionalidad que se puede resolver con unas pocas líneas de código: el desarrollador inteligente sabe dónde esto la línea es

El código del desarrollador profesional contendrá comentarios y nombres bien elegidos para funciones y variables; se leerá como un libro que le cuenta la historia de la aplicación que genera. Los corchetes se alinearán y habrá una atención obvia al diseño y sangría.

Si, cuando miras el código, ves una ensalada de frutas, estás tratando con un aficionado.

La cantidad de años de experiencia que tiene un desarrollador no es una indicación clara de su capacidad. Hay muchos desarrolladores con décadas de experiencia en codificación incorrecta.

En pocas palabras: mira el código.

La mayoría de las formas objetivas en las que puedo pensar.

1. ¿Validan la entrada del usuario?

2. ¿Protegen contra la inyección de SQL?

3. ¿Utilizan alguna estructura establecida? Ej. MVC

4. ¿Cuántos elementos marcan en la lista de la aplicación The Twelve-Factor cuando diseñan su solución?

Estas prácticas distinguen a un profesional de un aficionado.

El que se le paga por su trabajo es el profesional. No necesariamente uno bueno, sino el profesional.

Eso es por definición. Sin embargo, puedes tener aficionados increíblemente talentosos.

Si le gusta mi respuesta, vote por favor y sígame para obtener más respuestas a preguntas para las que no sabía que necesitaba una respuesta.

Para mí, las respuestas anteriores son principalmente la diferencia entre un desarrollador web experimentado y sin experiencia. (El costo del desarrollador web)

La pregunta era sobre la diferencia entre un desarrollador web aficionado y profesional. Supongo que planeas pagarles por la tarea. (Si no es así, ¿por qué hacer la pregunta?)

Yo diría que tres cosas se aplican desde mi experiencia cuando me encuentro con aficionados.

1. Se quejan de todos los códigos de otras personas antes de conocer la razón detrás de esto. (Si no comprende el problema, probablemente no encontrará una solución)

2. Se quedan atrapados en pequeños problemas cuando crecen y se los dan a otros o se quejan de algo por eso (en lugar de encontrar otra solución o preguntar cuando están en problemas).

3. Nunca aprenden de sus errores (generalmente son perfectos).

Ser un desarrollador profesional se trata de crear, crecer, aprender y resolver problemas.

Cuando escuchas a un desarrollador web que solo habla pero nunca escucha, entonces sabes (que nunca aprenderá).

Los profesionales pueden demostrar que lo han hecho y pueden hacer lo que prometen de su cartera. Es bueno si el profesional enumera múltiples disciplinas de su interés para que pueda apegarse a un único proveedor de origen si es posible.

Los profesionales no son solo diseñadores o programadores de reciente creación, sino que, en general, tienen un alto nivel de perspicacia empresarial tras años de trabajo por cuenta propia, donde tienen que hacer todo.

Aún mejor, los profesionales tienen muchos ejemplos de su trabajo ACTUAL para mostrarte, preferiblemente demostrando lo que quieres. Soy el último tipo. Vea Toledo Website Design & SEO por The Toledo SEO Wizard si desea ver mi respuesta en acción:)

¡Oye! Andrei aquí, creador de Omnius Web Development.

Además de la respuesta obvia, que es que a uno le pagan y al otro no, diría que el aficionado pasa más tiempo en la búsqueda de Google que en su editor de texto preferido (¡los paréntesis míos!).

Desarrollador web aficionado:

función createNewYork () {

}

Desarrollador web profesional:

función createCity ($ nombre) {

}

😉

Consigue una mesa larga. En un extremo pon una computadora. En el otro extremo, una botella de Whiskyy y un vaso, más comida y refrescos.

Los profesionales se dirigen al whisky o la comida. Los aficionados se dirigen a la computadora. Los mejores profesionales intentan llevarse la botella con ellos (¿broma?)

Haga al desarrollador algunas preguntas que no sean demasiado fáciles (ni demasiado difíciles). Las preguntas no deben ser ni demasiado comunes ni demasiado esotéricas.

Por ejemplo, ¿qué pasa con el número de puerto cuando se configura la cookie? ¿Cuál es la relación entre la solicitud de verificación previa y el tipo de contenido? ¿Cómo se determina el valor del elemento

Un desarrollador profesional debe saber al menos algunas respuestas a tales preguntas. (Tal vez no todo, pero está bien).

Tenga en cuenta que esta puede no ser la mejor manera de entrevistar. Pero puede ayudarlo a distinguir fácilmente a un desarrollador web aficionado del profesional.

(Al final, leer su código debería ser un procedimiento más decisivo para ver su diferencia. Pero se requiere que alguien bueno en la codificación lea su código. Tales codificadores experimentados generalmente no tienen problemas para determinar el nivel del programador de todos modos).

Tienes lo que pagas.