Cómo convertirme en un desarrollador web completo si no disfruto de las matemáticas, pero me encanta resolver problemas

¡Oye!

Para convertirse en un gran desarrollador de pila completa, Math definitivamente no es parte del criterio. Hay tantos grandes desarrolladores de software que nunca han sido buenos en matemáticas, pero esto no les impidió triunfar en la industria de la tecnología. Trabajo en la Escuela Holberton de Ingeniería de Software en San Francisco, una escuela para capacitar ingenieros de software completos. Las matemáticas no son parte del proceso de solicitud y no las utilizamos en el plan de estudios.

Las matemáticas no son un requisito previo para un buen desarrollador. Las habilidades matemáticas son útiles al dividir los problemas en pequeños problemas que luego lo ayudarán a resolver un panorama más amplio. La ingeniería de software es la misma. Las bases de código se componen de muchas clases, métodos y variables que, cuando se ensamblan, crearán su aplicación. Más ampliamente, los sistemas de software se componen de muchas partes: bases de código, red, servidores web, bases de datos … Por lo tanto, una mente analítica será más rápida en comprender el concepto de software. Aparte de esto, las matemáticas no te darán mucho.

Más

Trabajo en Holberton School, un programa de dos años de educación superior para convertirme en un ingeniero de software completo, a través de metodologías basadas en proyectos y de aprendizaje entre pares.

Estamos seleccionando estudiantes en base a 3 criterios:

  • Motivación
  • (nuestra definición de) Talento
  • Habilidad para colaborar

No se le da importancia a nada más, incluidas las matemáticas.

Los estudiantes provienen de entornos muy diversos: músicos, graduados de secundaria, mercadotecnia, reclutadores, consejeros escolares, maestros, cajeros, trabajadores de la construcción, graduados de maestría en sociología …

Nos centramos en 3 elementos principales:

  • Tener un conocimiento de la pila completa
  • Ser capaz de aprender solo
  • Habilidades blandas

Matemáticas en NO en la lista 🙂

Tener un conocimiento de la pila completa

Las aplicaciones de software son sistemas complicados compuestos de muchas tecnologías y partes: interfaz, servidor, base de datos, servidor web, red … Por ejemplo: cambiar una consulta en la interfaz afectará a la base de datos si el desarrollador no tiene idea de cómo funcionan las bases de datos. podría derribar el sitio.

Si bien cada uno tiene su propia definición de la pila, un buen comienzo es saber sobre:

  • Algoritmo y estructura de datos.
  • Programación de alto nivel (lenguajes de programación de objetos orientados)
  • Administración del sistema y un poco de redes

Con esto, un ingeniero de software podrá navegar prácticamente cualquier sistema / aplicación y podrá tomar decisiones de ingeniería bien pensadas.

Ser capaz de aprender solo

Los conceptos básicos del software rara vez cambian, pero las herramientas que utiliza la industria cambian constantemente. La industria del software es probablemente una de las industrias que cambia más rápido, es por eso que constantemente necesita actualizar la aplicación de su teléfono inteligente y que sus sitios web favoritos brinden constantemente una mejor experiencia y características.

En este contexto, los ingenieros de software necesitan constantemente evaluar y quizás aprender nuevas herramientas que los ayudarán a hacer que su aplicación sea más rápida, mejor y más confiable. Los nuevos lenguajes de programación y bibliotecas están constantemente llegando y uno no puede volver a la universidad cada vez que surge una nueva tecnología. Los mejores ingenieros de software son los que pueden mantenerse al día con las últimas tendencias. Por eso es fundamental que pueda aprender solo.

Habilidades blandas

A menos que esté dispuesto a trabajar solo, podría ser la habilidad más importante.

Hay un buen libro sobre esto, “Cómo ganar amigos e influir en las personas”. Este libro es muy importante para aprender a ser un ser humano exitoso. Enfatizar acerca de:

  • Comunicación

o verbal: hablar en público, presentación

o escrito: documentación, correos electrónicos, post mortem, escrito técnico

  • Colaboración

o Ayudar a un compañero de trabajo en un proyecto.

o Incorporación de un recién llegado

o Saber cuándo hacer una pregunta

  • Espíritu de equipo

o Comprender a otros compañeros de trabajo

o Fomentar la colaboración con otros equipos (si está en una gran empresa)

Ser promovido en la industria del software depende en gran medida de sus habilidades sociales. He visto a muchos individuos talentosos que luchan, porque no elevan a los que los rodean. Confía en mí, las habilidades blandas son muy útiles.

Si puedes conseguir estas 3 cosas, serás un programador increíble y todos querrán contratarte. A menos que desee ingresar al mundo de la investigación o convertirse en un Científico de Datos, las matemáticas realmente no son tan importantes.

CAMPAMENTOS DE ENTRENAMIENTO

Usted menciona que actualmente está inscrito en un campamento de arranque en línea. Recomiendo encarecidamente que agregue una experiencia más valiosa a su currículum, o que se una a un lugar como Holbertonschool.com. Los bootcamps de hoy no son suficientes, en términos de impartirle las habilidades que necesita para convertirse en un desarrollador exitoso.

El cofundador de la Escuela Holberton de Ingeniería de Software en San Francisco dice: “Es TAN DIFÍCIL reclutar grandes ingenieros de software, y es muy triste ver que la gente sale de la universidad después de estudiar durante media década, todavía no está lista para hacerlo el trabajo porque pasaban su tiempo en clase escuchando conferencias, en lugar de practicar sus habilidades. Encontré algunas joyas con graduados de bootcamp, pero en su mayoría eran personas con experiencia en programación existente, donde los bootcamps los llevaron al siguiente nivel.

La mayoría de los trabajos de tecnología en los EE. UU. Pueden estar bien con los graduados de bootcamps, pero si desea trabajar para las mejores empresas de tecnología, necesitará mucho más que este tipo de capacitación liviana ”.

¡Es por eso que fundó Holberton e introdujo la mejor manera de convertirse en un gran desarrollador de software! Para leer más acerca de por qué un título académico o bootcamp no lo llevará lejos en el mundo de la tecnología, lea mi respuesta aquí.

¡Buena suerte en tu camino para convertirte en un gran programador!

Gracias por el A2A.

Anteriormente escribí sobre lo que significa ser desarrollador de pila completa en términos genéricos: la respuesta de Josh Begleiter a ¿Qué significa el término “programador de pila completa”? ¿Cuáles son los rasgos definitorios de un programador de pila completa?

También he escrito lo que significa ser un ingeniero junior vs de nivel medio vs. senior (Convertirse en ingeniero senior – DZone Java y Convertirse en ingeniero senior (Parte 2) – DZone Java).

Notarás que solo hay dos categorías de una de las rúbricas dadas en los artículos que tienen algo que ver con las matemáticas. La mayor parte se trata de comprender su pila completa con cierto detalle, y comprender parte de su pila (cuanto más, mejor) con gran detalle.

Dicho esto, creo que temas como las matemáticas discretas (teoría de grafos, combinatoria y lógica de primer orden) y algunas de las matemáticas subyacentes para estructuras de datos y algoritmos son realmente importantes para ser un buen programador. Estos son dos temas que podría cubrir de forma independiente con un par de libros en un mes o dos.

Permítanme responder, ser un desarrollador profesional de full stack no es tarea de un día o una semana. Los desarrolladores de full stack tienen años de experiencia en desarrollo frontend y backend. Déjame explicarte desde cero.

Para ser un desarrollador de pila completa, debe aprender tecnologías frontend y backend y de base de datos, y trataré de enumerar algunas de ellas.

Interfaz –

Inicialmente, debe aprender html , css , bootstrap , JavaScript , jquery y siempre que sienta que es muy competente en estas tecnologías, puede aprender angularjs, reaccionar para avanzar.

Backend –

Para el backend hay muchas tecnologías presentes como php, .net, nodejs, java o python . puedes comenzar eligiendo uno de ellos según tu conve. Para avanzar, puede aprender el patrón de desarrollo de mvc

Base de datos

Tienes que aprender al menos una herramienta de base de datos y puedes comenzar con mysql o mongodb

Despliegue

Hoy todos usan tecnología en la nube para el despliegue de la aplicación. si puede aprender cualquier tecnología en la nube, obtendrá beneficios adicionales y puede comenzar con Amazon Web Services (AWS): servicios de computación en la nube al obtener una suscripción gratuita de un año, pero necesitará conocer algunos comandos básicos de Linux para administrar servidores en la nube

La mejor de las suertes !

No necesita matemáticas más allá de la lógica binaria avanzada (verdadero y falso) y álgebra para convertirse en un desarrollador web de pila completa. Usted necesita pasión por resolver problemas, la capacidad de pensar fuera de la caja en sistemas con poca información y la capacidad de tomarse el tiempo para aprender cosas. Si ese campo de entrenamiento en el que te encuentras te está vendiendo lecciones de matemáticas para convertirte en un desarrollador de stack completo, podrías estar perdiendo tu tiempo y dinero.

Primero, la programación no es matemática, es principalmente un análisis de problemas. Aprenda a analizar el problema, aprenda a analizar sus recursos, aprenda a usar esos análisis para encontrar una solución al problema. (Y no intentes escribir el próximo MATLAB; necesitarías muchas matemáticas para eso).

La mayor parte de ser un desarrollador de pila completa es comprender lo que el servidor puede (y no puede) hacer, lo que el cliente puede (y no puede) hacer y cómo comunicarse entre ellos.

Así que comienza con Teach Yourself Computer Science. Luego aprenda un lenguaje del lado del servidor (prefiero PHP, pero es su elección), SQL, JavaScript, HTML, CSS y AJAX. Luego comience a desarrollar una solución a un problema.

Solía ​​obtener los niveles más bajos en matemáticas en mi universidad, pero soy un desarrollador web y móvil de pila completa. No necesitas matemática. Necesita talento, interés y conocimiento para resolver problemas. ¡Disfrutar!

More Interesting

Estoy a la mitad del aprendizaje de Python. ¿Cuándo debería comenzar a jugar con Django?

¿Cómo obtengo un sitio web gratuito?

Tengo un sitio web completamente hecho en PHP, pero ahora llegué a conocer Node.js. Entonces, ¿debería cambiar mi código completo del servidor a NodeJs?

Hice un excelente formulario de contacto. ¿Cómo hago (usando HTML y CSS), que cuando alguien presiona 'enviar', me envían el formulario completo por correo electrónico?

Cómo integrar la API de SMS masivos en la aplicación ASP .NET

Si creo un proyecto de código abierto en Github para solicitar contribuciones de la comunidad, ¿puedo decidir comercializarlo después?

Cómo preparar un examen de personalidad

Aprendí desarrollo web en php y ahora quiero comenzar mi carrera, pero no tengo ninguna oportunidad de trabajo ya que solo soy un aficionado. ¿Cómo puedo ganar la confianza de otros desarrolladores web de que puedo trabajar con ellos? ¿Puedo conseguir un trabajo?

Quiero comenzar un sitio web de una sola página para vender mi libro electrónico. ¿Con qué compañía / plan de alojamiento debo ir?

Quiero combinar HTML y PHP en una página cuando utilizo datos de formulario. ¿Qué debo hacer?

¿Puedo usarlo para mi sitio web?

¿Cómo creo un sitio web como Facebook?

Quiero crear MMOG. Para frontend estoy usando playn y para backend estoy usando php / mysql. ahora tengo que construir el primer servicio web json en el backend. No puedo entender cómo json puede ayudarme. No sé json. ¿Por favor ayudarme?

Cómo hacer un sitio web usando HTML y CSS

¿Cuál es la mejor manera de hacer un sitio web y vender productos en línea?