¿Qué puede construir un desarrollador front-end y back-end en solo 2 semanas o un mes?

tl; dr: en un mes puedes construir mucho o muy poco.

Determinado por:

¿Quién eres tú?

La experiencia general ayuda a recoger cosas más rápidamente, pero lo más importante es cuán similar es lo que quieres construir a las cosas que has construido anteriormente.
Por ejemplo, mi principal experiencia es en el desarrollo de aplicaciones web b2b, por lo que puedo resolverlos muy rápidamente en el caso general. Pero si me pide que cree efectos de audio no triviales para el navegador, me costará mucho más. Podría tener un fuerte conocimiento de JavaScript pero muy poco sobre el procesamiento de señales digitales. Sepa lo que no sabe. No pienses que es fácil solo porque es fácil para los demás.

¿Cuál es tu edificio?

  1. Cuanto más similar sea su proyecto a las soluciones existentes y cuanto más extendida sea una idea, menos código tendrá que escribir. La mayoría de las partes ya existe en forma de marcos y bibliotecas, la mayoría de los problemas ya están resueltos. Para una versión inicial, es lo suficientemente bueno como para unir algunos de ellos y escribir un poco de lógica de negocios en la parte superior. Si, por otro lado, realmente quiere impulsar la tecnología e ir audazmente a donde nadie ha ido antes, probablemente no escribirá una sola línea de código durante muchas semanas o meses.
  2. Según el tipo de proyecto en el que esté trabajando, los problemas tienen un impacto diferente. ¿Es el peor caso de un error que un usuario se molesta un poco o que alguien muere? En uno de los dos extremos, es posible que no desee ser súper ágil y desplegar sus lanzamientos.

En que etapa estas

Antes de tener un producto mínimo viable (suponiendo que no sea uno que, como se mencionó anteriormente, podría dañar a las personas), debe ir muy rápido. Cuanto antes saque su producto, más pronto aprenderá de usuarios reales y podrá adoptarlos. No necesita la implementación más estéticamente agradable, más eficiente y extremadamente escalable. No importare
Una vez que tenga un producto que funcione y esté creciendo, debe reducir la velocidad un poco y comenzar a estabilizarse y limpiar para mantener bajo control el departamento técnico.
Pero no arregles cosas que aún no están rotas o que están a punto de romperse. A nadie le importará si optimiza una velocidad de carga de páginas de 1 segundo a 10 ms si el producto no es útil para ellos de ninguna manera, si no está resolviendo sus problemas.


Entonces, su pregunta no debería ser “¿Cuánto podemos construir en ese tiempo?” Sino “¿Cuánto deberíamos construir en ese tiempo?”

Pase una cantidad significativa de tiempo lejos de su computadora, pensando en los problemas (desde la perspectiva de los usuarios) que está tratando de resolver, no en qué patrones de diseño, lenguajes de algoritmos, marcos, herramientas que podría usar.

Si no comprende el problema, la solución apestará, no importa cuán bien esté escrita. Muchas personas simplemente escriben clones de sitios o aplicaciones populares x. Sin entender por qué x está trabajando para sus usuarios.

Lo veo mucho, que las personas están completamente sin ingeniería o con demasiada ingeniería. Cortando sin cabeza, ignorando los problemas que se están resolviendo, sin decir nunca que no a ninguna característica, ahogándose en el departamento técnico más tarde. O personas que intentan prepararse para cada caso extremo posible e imposible por adelantado y poder atender a millones de usuarios desde el primer día.
La verdad es que es mucho más probable que, poco después de su lanzamiento, que en lugar de tener los millones de usuarios esperados, tenga diez amigos y su madre se haya registrado. Pero si su producto está lleno de errores y es tan lento que es completamente inutilizable, incluso los perderá, en lugar de aprender de sus valiosos primeros once usuarios. Encuentra el equilibrio. Sé ágil, pero no tan ágil, tus brazos y piernas se caerán.

Cada línea de código, cada pieza de infraestructura o herramienta tiene su costo. Con el tiempo, el tiempo de mantenimiento es casi siempre mayor que la implementación original. Tenga mucho cuidado al decir cosas “Es una característica pequeña que puedo agregar rápidamente” o “Es solo otro servicio que es muy fácil de configurar e integrar”. Tendrá que mantenerlo, corregir errores, actualizarlo, los nuevos miembros del equipo deben aprenderlo, etc. Una solución subóptima con infraestructura ya utilizada es a menudo mejor que una solución mejor con una nueva infraestructura que agrega complejidad.

Y, por último, en su caso específico, si lo entiendo correctamente, usted es un desarrollador front-end y un back-end. Asegúrese de que al menos uno (mejor ambos) esté razonablemente cómodo en el otro, incluso si esto lo frena. De lo contrario, tiene un alto riesgo de que si alguien no está disponible (enfermo, vacaciones, abandona el proyecto, …) su parte del proyecto se detendrá por completo.

Codificando a tiempo completo durante un mes, construí un sitio de aprendizaje de códigos en línea que incluye vistas de los estudiantes para explorar cursos, tomar cuestionarios interactivos y ver videos; así como vistas orientadas al instructor para responder preguntas, crear nuevos cursos y contenido del curso, incluida la capacidad de traducir lecciones de descuento en contenido html real. Terminando con un carrito de compras y pago con tarjeta de crédito integrado con Stripe. Realicé mejoras adicionales y solucioné errores durante muchos meses después, pero el esqueleto básico del sitio se completó en solo 5 semanas. Parte de lo que ayuda a los desarrolladores a dar pasos agigantados en la creación de contenido son todas las ingeniosas bibliotecas de códigos que utilizamos. Como ya no tenemos que construir todo desde cero, podemos aprovechar rápidamente los marcos para sacar el producto a la calle. Para el sitio de Code Pyjamas usé Ruby on Rails, jQuery y Riot JS. Utilicé muchas gemas de Rails para acelerar el desarrollo, como Devise, Rails-Stripe y muchas más. Una gran consideración para mí es qué bibliotecas / marcos están disponibles para que use y se ajustan al caso de uso para lo que estoy tratando de construir. Queremos asegurarnos de que las bibliotecas / marcos que utilizamos sean las más apropiadas para hacer el trabajo, al mismo tiempo que también nos aseguramos de que sean compatibles con el resto de nuestra pila.

Un desarrollador de pila completa puede construir cualquier cosa en un mes. Entonces, ¿pueden un desarrollador front-end y un back-end trabajar juntos? Un desarrollador front-end puede construir casi cualquier cosa en un mes usando un back-end estandarizado. Un desarrollador de back-end puede construir casi cualquier cosa en un mes usando un front-end estandarizado.

Por cualquier cosa me refiero a un motor de búsqueda, blog, portal de noticias, sitio de redes sociales, foro, o literalmente cualquier cosa en esta lista: Sitio web – Wikipedia

¿Pueden construir facebook? No. ¿Pueden construir un simple clon de Facebook que puedan construir y agregar funciones para más adelante? Sí. ¿Pueden construir Twitter? Seguro. Pero muy pocos / casi cero clones de Twitter tienen éxito.

Las principales limitaciones son lo que pueden pagar, particularmente el alojamiento, y su nivel de habilidad y familiaridad con las opciones de multiplicación de velocidad como las bibliotecas.

Todo lo que construyen tiene el potencial de parecer que fue construido en un mes, especialmente si es complicado. Pero hay muchos sitios web que parecen haber sido creados en un mes y que todavía se ven bastante bien gracias a cosas como Bootstrap, WordPress, XAMPP, Google App Engine, etc.

More Interesting

¿Alguna vez has conocido a desarrolladores de back-end de pila completa?

Después de construir el front-end, ¿cuáles son los otros pasos en el desarrollo web?

¿Cuánto front-end y back-end debe saber un desarrollador antes de que pueda considerarse un desarrollador full-stack?

¿Cuál es el mejor marco web para trabajar con bases de datos y desarrollo web de fondo? ¿Es Django el mejor, y si es así, qué lo hace más escalable?

¿Qué es el desarrollo web back end?

¿Qué es lo que necesito hacer para ingresar a las startups como desarrollador de back-end de Java? Mi principal problema es determinar dónde comenzar a encajar en estas startups.

¿Puedo usar mBaaS como backend móvil en lugar de contratar un desarrollador de backend?

Acabo de terminar de aprender algo de HTML básico, CSS y jQuery. ¿Debo ir a NodeJS a continuación ya que es el backend a prueba de futuro?

¿Cuáles son las funcionalidades más importantes en las que debería centrarme mientras estoy aprendiendo el desarrollo de back-end?

¿Cuál es mejor usar, Ajax o jQuery Ajax?

¿Cómo y dónde (front-end o back-end) utilizan grandes aplicaciones web algoritmos y estructura de datos?

¿Es normal que tenga más interés en los lenguajes de programación de fondo como php, c #, vb, java que javascript, ajax, etc.?

¿Es importante aprender un lenguaje de consulta estructurado para el desarrollo del backend?

¿Por qué algunos desarrolladores de backend desprecian a los desarrolladores frontend?

¿Qué es más desafiante en los niveles más altos de habilidades, desarrollo web front-end o back-end?