¿Qué debe hacer un chico de 16 años de edad si quiere ser ingeniero de software, además de especializarse en CS cuando se postula a la universidad, y también está tomando CS50 a través de edX?

La escuela secundaria no es para la especialización, es para la construcción general de cimientos. No te asustes y piensa que debes estar programando para cuando tengas diez años o te quedarás atrás. La mayoría de las personas que se enseñan a sí mismos como adolescentes aprenden malos hábitos que deben desaprender más tarde. Concéntrese en lo básico.

  • Domina tu álgebra Por lo general, no necesita cálculo, pero asegúrese de tener un buen conocimiento de los fundamentos. El álgebra es una de las únicas habilidades que se enseñan en la escuela secundaria que no tienes que aprender una vez que estás en la universidad. Las clases de química y física a nivel de escuela secundaria son realmente lugares para practicar y aplicar su álgebra.
  • Aprende a escribir. Escribir no es la parte más importante de la informática, pero es una habilidad práctica y no la enseñan en la universidad. Estará sentado frente a un teclado durante al menos 8 horas al día durante los próximos 45 años.
  • Practica tus habilidades de escritura en inglés (u otro lenguaje natural de elección). Probablemente escribirá cinco líneas en inglés por cada línea de código a lo largo de su carrera. Vale la pena ser bueno en esta habilidad. Me he dado cuenta, con cierto asombro, de que solo la mitad de los desarrolladores brillantes y competentes con los que he trabajado pudieron unir dos oraciones gramaticales en inglés seguidas. ¿Que pasa con eso?

  1. Hacer una especialidad de teatro con un menor en matemáticas. Aprenda el software CAD para el diseño de escenarios y los lenguajes de programación asociados con el control de iluminación teatral. Obtenga una maestría en ciencias de la computación y trabaje para una compañía de equipos que mejore su consola UI / UX.
  2. Hacer una carrera de clásicos con un menor en lingüística. Recoge cladistics y otros enfoques matemáticos para estudiar textos medievales. Obtenga una maestría en inteligencia artificial y trabaje para el gobierno desarrollando inteligencia de máquinas para el análisis automatizado de posibles comunicaciones terroristas en twitter.
  3. Hacer una especialización en filosofía con un menor en la investigación de operaciones. Centrarse en la epistemología y ontología de vulnerabilidades de software. Obtenga una maestría en estadísticas y obtenga un trabajo en una de las grandes empresas de la web que realizan evaluaciones de amenazas y mitigación.
  4. Hacer una especialización en música con una especialización en diseño gráfico. Escribe tu propio software de transcripción de música. Obtenga un MBA y comience su propio negocio basado en su aplicación que transforme los archivos de audio en partituras orquestales.
  5. Hacer un grado de antropología con un menor en psicología. Escriba un libro que transforme completamente nuestra comprensión de lo que significa UI / UX. Obtén una maestría en sociología y trabaja como consultor para Apple.

En pocas palabras: si desea ser un programador de propósito general, un título en ciencias de la computación no es una elección terrible. Si quiere ser el experto en dominios que también programa, tanto la cantidad de empleos potenciales como la cantidad de personas que compiten por esos empleos descienden precipitadamente. Donde el recuento de competidores cae más rápido que el recuento de puestos de trabajo es donde se obtienen algunos salarios bastante lucrativos.

Me he centrado en las carreras de artes liberales, ya que eso es lo que hice (y terminé en robótica de laboratorio). Puedes hacer lo mismo con otras especialidades de STEM, aunque diría que las promociones son más fáciles si tienes una sólida formación en artes liberales.

Conéctese con personas, busque pasantías, aprenda código, aprenda a usar linux, mac y windows terminal, pruebe cosas nuevas y desafíese, aprenda a comunicar conocimientos técnicos con personas no técnicas.

  1. Conectarse
  1. Busque organizaciones / clubes relacionados con la programación a los que pueda unirse
  2. Asistir a hackathons
  3. Asistir a eventos de la industria
  • Buscar pasantias
    1. Preguntar a los profesores
    2. Usa las conexiones que has hecho en los clubes / eventos mencionados anteriormente.
    3. Mira en linea
  • Aprender codigo
    1. Codecademy – aprende a codificar, interactivamente, gratis
    2. Desbordamiento de pila: donde los desarrolladores aprenden, comparten y construyen carreras
  • Aprende a usar el terminal
    1. Google raspberry pi (buena manera de comenzar con dispositivos linux)
    2. Tutoriales de Google en terminal Mac
    3. Google Windows CMD
  • Retarte a ti mismo
    1. Desarrollador de Apple
    2. Desarrolladores de Google
    3. Adafruit Industries, electrónica y kits de bricolaje únicos y divertidos.
    4. SparkFun Electronics
  • Aprender a comunicarse
    1. Intenta explicar tus proyectos a tus padres o amigos que no codifican
    2. Intenta explicárselo a un mentor que sabe más que tú.
    3. Practica escribir comentarios como tu vida depende de que se entiendan.
    4. Escribe un blog o artículo que explique un proyecto o tema que hayas aprendido.

    Recoge algunas habilidades blandas.

    Trabajará en la industria y se comunicará con personas que no tendrán su nivel de experiencia.

    Los ingenieros de software son responsables de entregar el producto, pero normalmente no son responsables de diseñarlo o comercializarlo. No hay beneficio para la compañía si no puede vender su software a las masas. Sin fines de lucro = estás desempleado.

    Asegúrate de que puedas comunicarte bien. Habla en público (como Toastmasters), aprende sobre escritura técnica y cómo escribir buenos memos y correos electrónicos. Recoge algunas habilidades de documentación. Aprende a dirigir una reunión y hacer una presentación.

    Lea The Economist para mantenerse al día con los asuntos mundiales. Siga las noticias de deportes (muy útil para charlar en negocios estadounidenses tanto para mujeres como para hombres).

    Practique trabajar con todo tipo de personas, en todo tipo de inteligencia y niveles de edad.

    Algunas clases de economía, contabilidad, mercadotecnia, finanzas, derecho comercial te ayudarán. Tendrás un horario apretado en la universidad, y deberás realizar pasantías en cooperativo / pago, por lo que quizás rindas exámenes CLEP en temas de negocios / comunicación mientras estés en la escuela secundaria.

    Si planea asistir a una universidad estatal, la mayoría tomará sus créditos CLEP. La mayoría de las escuelas privadas no lo harán.

    Una buena forma gratuita de estudiar CLEP y AP: Freshman Year for Free

    O echa un vistazo a los libros de una biblioteca que te preparará para CLEP. Ni siquiera tiene que tomar las pruebas, si no puede pagar el tiempo o el dinero (son alrededor de $ 100 por 3 a 14 horas de crédito, examen en línea de 90 minutos).

    Comienza a aprender cómo ser un autodidacta ahora. Tendrá que actualizar constantemente sus habilidades a lo largo de su carrera.

    Buena suerte – y es genial que estés pensando en el futuro!

    A2A. Tu pregunta es realmente preguntar si quieres ser ingeniero, ¿tienes que especializarte en ingeniería? Y la respuesta es sí.

    Si desea ser un desarrollador de software o web, tomaría los cursos de habilidades que se encuentran en una universidad de dos años, por ejemplo, el Departamento de Ciencias de la Computación de Foothill College.

    Debido a que la ingeniería de software es una especialización de ciencias de la computación, si desea ser ingeniero de software, deberá tomar cursos de ingeniería de software que se ofrecerían en los departamentos de CS, EECS o SE de ingeniería de software.

    Como han dicho otros, aprenda a codificar y compilar software, incluso si es solo para su uso personal. Además, familiarícese con la pila de tecnología popular en la que pretende penetrar en la industria y concentrarse en ella. Por ejemplo, donde estoy ubicado, estamos muy dominados por la pila de Microsoft. Otras áreas se inclinan fuertemente hacia Java o herramientas de código abierto. Por último, leer libros y revistas de informática vorazmente. Muchas entrevistas son muy guiadas por libros de texto y es útil poder hablar sobre las últimas tendencias. Por último, como lo mencionaron otros, una pasantía es ideal ya que proporciona esa experiencia tan necesaria. ¡La mejor de las suertes!

    En este orden

    • Cálculo
    • Ecuaciones diferenciales
    • Estadística
    • Análisis numérico
    • Lógica
    • Gramática
    • Escritura técnica
    • Análisis de operaciones

    CS50 no es una clase fácil que se enseñe usando el lenguaje de programación C de Cpg.

    Si no tienes experiencia alguna vez programando. Sugeriría algunos tutoriales más fáciles en YouTube en Python. Python es el segundo lenguaje de programación más usado y el más fácil de aprender. udemy tiene una buena introducción a los cursos de python pero cuestan dinero

    Empieza a construir software. En serio, esta es la única manera de ser bueno en eso. Muchos de nosotros, manos viejas, empezamos a jugar con nuestra computadora en casa cuando eran adolescentes.

    Una cosa que podría intentar es hablar con las personas en el campo sobre cómo es un día en la vida de un ingeniero de software. Y obtenga algunos consejos específicos de las personas en su área sobre lo que podría ofrecerse allí, como pasantías de verano.

    Meetup .com a menudo tiene muchos grupos técnicos que hablan sobre tecnología o ingeniería de software a los que podría asistir si hay algunos en su área. A menudo vienen con pizza antes de la charla, y es posible que pueda conocer a algunas personas que trabajan en el campo allí.

    Solo aprende a codificar, haz proyectos para probarlo. Es así de simple. Universidad o no

    Regístrese en GitHub, comience a trabajar en proyectos reales.