¿Alguna vez es demasiado tarde para que alguien aprenda a programar?

“Sólo prueba cosas nuevas. No tengas miedo Salga de sus zonas de confort y vuele, ¿de acuerdo? “-Michelle Obama

Nunca es demasiado tarde.

La programación es para todos los que creo que cualquiera puede aprender a codificar a cualquier edad.
La madre de mis amigos, que tiene 58 años ahora. Ella solo recibió educación primaria en su vida, pero cuando vio a mi amiga resolver el problema del Sudoku, le pidió que le enseñara.

Sí, ella estaba luchando mucho y mi amiga no le había enseñado el algoritmo hasta ahora. Lo único que mi amiga le enseñó fue qué es el objetivo y cuál es la regla para resolver el Sudoku. Ella solía practicar eso durante todo el día cada vez que obtenía tiempo del TRABAJO de su esposa .

En cinco días de práctica, ella había aprendido a resolver y el enfoque que usó para resolver el Sudoku y ella solía molestar mucho a mi amigo cuando él estaba ocupado en su trabajo de codificación, pero la dedicación y la pasión que tenía por ese problema de Sudoku lo hicieron Más apasionado por hacerla aprender eso.

Entonces, si mi amiga madre, que tiene 58 años y está interesada y dedicada a aprender algo que ella nunca hizo en su vida.

Entonces, ¿por qué no puedes empezar a programar?

Lo que necesitas es dedicación, pasión, disciplina y recursos para aprender programación.

Si quieres aprender codificación, ¿por dónde empiezas?

Si desea aprender a programar aquí, me dan algunos consejos y recursos para comenzar con el pie derecho.

  1. Averigüe por qué quiere aprender a codificar: la dirección en la que vaya dependerá en gran parte de por qué quiere aprender a codificar en primer lugar y cuánto tiempo debe dedicar al aprendizaje. Escribir el software y aprender a escribirlo probablemente tomará mucho más tiempo, y luego repetirlo, sin embargo, es algo para ser honesto y tenerlo en mente. Sin embargo, cuando haya aprendido cómo escribir su primer software, escribir el segundo debería ser más fácil o al menos ir un poco más rápido.
  2. Elija el idioma correcto: no hay un “mejor” lenguaje de programación, elija siempre un idioma que considere relevante para lo que quiere hacer. Si decide que un idioma no se adapta a sus necesidades, siempre puede pasar a un nuevo idioma.
  3. Comience por el principio (comience de a poco): todos creen que el lenguaje de programación debe tardar mucho tiempo en aprender, y, sin embargo, todos quieren terminar de aprender lo más rápido posible. Otra cosa que las personas a menudo olvidan es que es realmente mejor comenzar a aprender a programar desde el principio, como con cualquier otra cosa que desee aprender. Así que empieza con el primer programa ” Hello World “.
  4. Tome un curso de codificación: puede tener muchas fuentes para aprenderlas. Algunos de ellos son en línea, fuera de línea, libros de texto o también puede encontrar libros electrónicos.

Pero creo que si está buscando un muy buen concepto y comprensión de Java, recomendaría una clase fuera de línea bajo la supervisión y orientación de los expertos.

No te preocupes, te llevaré por todas las fuentes!

En primer lugar comenzando con los portales en línea

  • CodeHS (codehs.com)
  • HackerRank
  • Codecademy (codeacademy.com)

Segundos libros de texto

  • Head First Java, 2ª edición
  • Java: La referencia completa
  • SCJP por Kathy y Sierra

Tercer Instituto Desconectado

  • CursoCube
  • Centro de aprendizaje de Java
  • NIIT
  • Uttara

Tomo Java como ejemplo para explicar el escenario de cómo aprender Codificación rápidamente.

Hoy en día, Java se encuentra entre los lenguajes más rápidos y, según oracle, Java sigue siendo el idioma más popular del mundo.

Java es un lenguaje muy fácil de entender y aprender, todo lo que necesita para dedicar sus esfuerzos a los conceptos básicos de java como los conceptos OOP, las API Core java, el ciclo de vida de los objetos, etc.

La forma más fácil de aprender Java es primero ir por Core java y luego por Advance Java .

Temas importantes de Core JAVA –

1. Tipos de datos y variables

  • Tipos de datos primitivos
  • Tipos de datos no primitivos
  • Formación

2. Métodos

  • Métodos de llamada
  • Definiendo metodos
  • Parámetros del método
  • Alcance

4. Programación orientada a objetos

  • Clases y objetos
  • Campos y Métodos
  • Encapsulacion
  • Modificadores de acceso
  • Herencia
  • Polimorfismo

4. Manejo de excepciones

5. mutlithreading

6. paquete java.io

7. paquete java.util

Asegúrese de que cuando esté completando un tema, practique la implementación en tiempo real de ese concepto, esto le ayudará a concretar ese concepto. Practique más y más ejemplos, recuerde que lo más importante que necesita es una base sólida de Core Java, de modo que solo usted podrá moverse a Adv. Java. Ahora vamos a pasar a mi experiencia de aprendizaje.

Puedes optar por CourseCube . Este es el mejor instituto para Java en Bangalore: también puede obtener soporte de colocación.

Solo quiero compartir mi experiencia profesional con todos. Establecer en el campo de TI es muy difícil hoy en día sin el conocimiento adecuado de la tecnología. Esa fue la razón por la que estaba buscando un Instituto que me brindara conocimientos técnicos y me ayudara a ubicarme en una Gran Compañía. Puedes conseguir miles de institutos en Bangalore.

Ahora que llegan a las ubicaciones, hay muchas unidades que se realizan aquí mensualmente y que ayudan a los estudiantes a ubicarse en las empresas de sus sueños.

Permítame comenzar esta respuesta con una frase ingeniosa que he leído antes:

Florecimientos tardíos, no perdedores

Sí, eso es correcto! Creo que el primer paso para responder a este problema es corregir la mentalidad sobre el éxito. No hay fecha límite para el éxito. ¿Dejamos de ser calificados para tener éxito cuando envejecemos? ¿Solo tenemos éxito cuando estamos en la veintena?

Lo mismo ocurre con aprender a programar. ¡No hay fecha límite para aprender a programar! ¿Dejamos de estar calificados para aprender a programar cuando llegamos a los cincuenta? ¿Podemos ser buenos programadores si somos más jóvenes?

Recuerda: es mejor ser tardíos en florecer que perder .

Puede ser abrumador comenzar, pero aquí hay algunos recursos útiles que ofrecen cursos sobre programación para todos los niveles. Puedes encontrar algo que sea perfecto para tu estilo de aprendizaje:

Código de la escuela

Code School ofrece varios cursos sobre tecnologías de programación populares como JavaScript, PHP, iOS y Android, entre otros. Enseñados por instructores experimentados, los contenidos de los videos se hacen atractivos y las lecciones se aplican a través de la codificación de prácticas en el sitio. La gama de cursos es perfecta para codificar novatos a desarrolladores experimentados. También tiene puntos de recompensa para animar a los alumnos y hacer un seguimiento de sus mejoras. Code School también es fácil de navegar por lo que es fácil de usar para los principiantes.

Cursos recomendados:

  • JavaScript: cree una sólida comprensión y fundamento sobre uno de los lenguajes de programación más populares y potentes.
  • Ruby on Rails: cree su propia aplicación web personalizada a través de este curso introductorio a un curso intermedio sobre este programa dinámico de código abierto.
  • Electivas: explore cinco cursos de desarrollo suplementario para agregar a sus conocimientos de programación.
  • Cree un sitio web interactivo: cree un sitio web interactivo utilizando CSS, HTML y JavaScript.
  • The MEAN Stack: conviértase en un desarrollador de pila completa utilizando las tecnologías de JavaScript MongoDB, Express.js, AngularJS y Node.js.

Código de los vengadores

Lo que es exclusivo de Code Avengers es que ofrece cursos personalizados para niños, estudiantes independientes y educadores. Code Avengers Jr. presenta una experiencia de codificación gamified para niños de 4 a 14 años. Mientras tanto, Code Avengers Pro ofrece varios cursos sobre tecnologías de programación necesarias para el diseño web, el desarrollo web y la ingeniería de software aptos para principiantes y profesionales de la tecnología. Por otro lado, Code Avengers Edu proporciona capacitación y conocimientos adicionales para maestros de todos los niveles. Los cursos de Code Avengers son interactivos y permiten una prueba gratuita.

Cursos recomendados:

  • Introducción a la codificación: aprenda los conceptos básicos de la codificación en JavaScript, HTML, CSS y Python.
  • Diseño: adopte los principios de diseño para crear aplicaciones y sitios web visualmente atractivos.
  • HTML / CSS: cree sitios web de guías de viaje, sitios de blogs y mucho más mientras domina HTML5 y CSS3.
  • Informática: estudie los fundamentos de la programación como algoritmos, diagramas de flujo y representación de datos.
  • Desarrollo de juegos: trabaja en el desarrollo de un juego con JavaScript.

Coursera

Coursera contiene una variedad de cursos de diversos campos en asociación con las mejores universidades de los EE. UU., El Reino Unido y todo el mundo. Es uno de los sitios de cursos en línea más populares y mejor valorados en línea. Los cursos son adecuados para todos los niveles educativos y de habilidad y pueden ser acreditados por la Universidad o obtenidos por un certificado o un título. Los cursos con certificados son necesarios para ser comprados.

Cursos recomendados:

  • Python For Everybody Specialization – Masterización de codificación con Python en este programa especializado con cinco cursos relacionados con Python.
  • Especialización en ciencia de datos: explore los conceptos y herramientas necesarios para estudiar el flujo de datos de la ciencia y produzca un producto de datos al final del curso.
  • Ciencia de datos aplicada con especialización en Python: profundice su conocimiento de la ciencia de datos con Python y aprenda a aplicarla para aprendizaje automático, análisis de texto y más.
  • Especialización en estructuras de datos y algoritmos: comprenda conceptos clave y desafíese a sí mismo con la abundancia de pruebas de codificación en el curso.
  • Excel to MySQL: Técnicas analíticas para la especialización empresarial: identifique y analice métricas clave para impulsar a las empresas.

Udacity

Udacity ofrece una amplia gama de cursos en asociación con empresas líderes como Google, Facebook e IBM, entre otras. Esta oportunidad de aprender y ser asesorada por instructores de las mejores compañías hace que los estudiantes estén preparados para el trabajo. Los estudiantes también tienen la oportunidad de trabajar en estas empresas. Debido a estas asociaciones, Udacity puede ofrecer cursos que no se encuentran en otras plataformas de aprendizaje en línea, como la lista a continuación.

Cursos recomendados:

  • Conviértase en un especialista en web móvil: aprenda sobre el desarrollo de la web móvil en colaboración con Google.
  • Conviértase en un desarrollador de realidad virtual: explore la virtualidad de los expertos de la industria, Google, HTC y Unity.
  • Aprenda Unreal VR: use Unreal Engine como una herramienta para crear realidad virtual mientras estudia los fundamentos de la realidad virtual.
  • Learn ARKit: cree y publique su propia aplicación de realidad aumentada en colaboración con Unity.
  • Comience en el camino hacia una carrera de auto-conducción: estudie los aspectos básicos para lanzar su propio auto-conducción incluso con una experiencia de programación mínima.

FuturoAprender

Aunque los cursos no son tantos como otras plataformas de aprendizaje en línea, FutureLearn ofrece una amplia gama de cursos interesantes para todos los niveles. Los estudiantes pueden obtener títulos de postgrado acreditados o materias maestras a través de sus programas de universidades líderes, principalmente del Reino Unido y Australia. FutureLearn también proporciona recursos y soporte en línea, y acceso completo a la biblioteca de la universidad.

Cursos recomendados:

  • Introducción a la robótica: intente hacer que un robot se mueva a medida que domina los fundamentos y las habilidades de programación necesarias para un curso de introducción a la robótica.
  • Minería de datos práctica: aprenda cómo extraer datos de pequeños a grandes conjuntos de datos.
  • Visión robótica: explore el creciente estudio de la visión robótica y sus aplicaciones en la atención médica, las ciencias marinas y las exploraciones interplanetarias, entre otros.
  • Seguridad cibernética: bloquee las amenazas que invaden la seguridad digital mediante el aprendizaje de diversos estudios, desde la investigación forense digital hasta la seguridad de la organización.
  • Tecnología de la información: adquiera habilidades esenciales en TI y sepa cómo se relaciona con las operaciones comerciales.

Por otro lado, si desea mejorar y dominar sus habilidades actuales, puede practicar y dominar sus habilidades de codificación. Visite estos sitios web que ofrecen miles de desafíos de codificación para aplicar su conocimiento de codificación.

freeCodeCamp

Completa los desafíos de codificación y crea proyectos para organizaciones sin fines de lucro. Esta comunidad gratuita de codificación en línea contiene tutoriales para aprender varios lenguajes de codificación y practicar la codificación con toneladas de ejercicios interactivos. El sitio está en asociación con organizaciones sin fines de lucro para ayudar a los usuarios a adquirir experiencia y obtener un trabajo de desarrollador después. freeCodeCamp también ofrece certificados verificados.

Coderbyte

Ponte a prueba con una colección de los mejores desafíos de codificación en Coderbyte. Puedes resolver los desafíos en línea usando 10 lenguajes de programación diferentes. El sitio también ofrece tutoriales y ejercicios de codificación sobre la estructura de datos y el algoritmo.

Campamento de datos

Explore la ciencia de la información y el código con el editor en línea del sitio utilizando Python y R. Sus cursos ofrecen tutoriales de calidad breve y más sobre cómo aplicar lo que ha aprendido. El sitio también le permite aplicar sus habilidades para resolver problemas del mundo real.

HackerRank

Practica tus habilidades de codificación en la comunidad más grande de aprendizaje y competición. El sitio ofrece una gran cantidad de tutoriales de algoritmos y un montón de prácticas de codificación para elegir. Dado que el sitio también conecta a los desarrolladores con las empresas, los usuarios también pueden ser contratados por las empresas.

CodinGame

Mejore sus habilidades de codificación al siguiente nivel resolviendo toneladas de divertidos desafíos de codificación en más de 25 idiomas. CodinGame te permite practicar la codificación en código puro con juegos en línea. También puedes aprender otros lenguajes de programación creados por sus mejores desarrolladores. Fortalecer sus habilidades de codificación también podría conseguirle un trabajo con sus empresas asociadas.

TopCoder

Compita contra otros diseñadores, desarrolladores y científicos de datos en una de las plataformas de programación competitiva en línea original. Tienen partidos de una sola ronda que se ofrecen varias veces al mes en un momento específico. Los mejores rankers son uno de los mejores y difíciles de vencer a los programadores.

Proyecto euler

Explore un dominio de desafíos matemáticos que requieren más que conocimientos matemáticos para resolverlos. Los problemas de codificación en el sitio brindan una experiencia de aprendizaje inductivo en cadena, lo que significa que cada problema introduce nuevos conceptos que pueden ayudar a resolver otros problemas. A diferencia de los otros sitios en la lista, no puede codificar en el propio sitio web, por lo que tendría que resolverlo en una hoja de papel.

Codewars

Resuelva los desafíos de codificación creados por una comunidad de desarrolladores en línea en Codewars. Dado que este es un sitio web basado en la comunidad, puede crear su propio código y discutir soluciones en foros en línea para cada desafío de codificación. Los desafíos en el sitio te hacen ganar un lugar en su sistema de clasificación. Cuanto más alto sea tu rango, más difíciles serán tus desafíos.

LeetCode

Perfeccione sus habilidades de codificación y prepárese para las pruebas técnicas para una entrevista de trabajo. Con más de 750 preguntas para resolver y 14 idiomas populares para usar, puedes practicar tus habilidades y participar en concursos junto con cientos de miles de usuarios. LeetCode también tiene una “entrevista simulada” para que los usuarios puedan prepararse para entrevistas técnicas de trabajo.

CodeChef

Domina tus habilidades de codificación con cientos de ejercicios de práctica y compite en desafíos según el nivel de dificultad. Esta iniciativa educativa sin fines de lucro basada en la India tiene una gran comunidad de programadores que también contribuyen con tutoriales y foros. El sitio también se asocia con universidades y grupos para llevar a cabo reuniones, sesiones de orientación y talleres.

Al comenzar y continuar su viaje de aprendizaje, es importante recordar estos tres puntos:

  1. Aprenda un nuevo lenguaje o tecnología para mantenerse al día con la tecnología siempre cambiante. Hoy en día es fácil de aprender debido a los cientos de cursos en línea disponibles en Internet.
  2. Practica tus habilidades de codificación porque el conocimiento solo te puede llevar muy lejos. Ser capaz de aplicar lo que has aprendido requiere otra habilidad para dominar.
  3. Colabore con otros programadores para descubrir y resolver nuevos problemas para resolver. Tomar un curso en línea o unirse a una comunidad en línea para programadores significa que tendrá la oportunidad de aprender con otras grandes mentes de todo el mundo. Aproveche esta oportunidad para interactuar y discutir ideas para profundizar aún más su conocimiento.

Una cosa más: si eres más una persona en movimiento, esto podría ser perfecto para tu estilo de vida: 7 aplicaciones móviles para ayudarte a aprender a codificar sobre la marcha

Si esto te interesa, revisa más buenas lecturas aquí . Espero que te sean útiles. ¡Feliz aprendizaje!

Tomar esto con un grano de sal:

Aprendí programación a los 15. ¡ Espera ! Aprendí los conceptos más básicos y nada más. No podría construir nada más complejo que una simple calculadora de línea de comandos.
Aprendí diseño web también. Una vez más, nada más complejo que cambiar los colores de fondo en una página.
Aprendí sobre Linux, nada más que instalarlo y saber qué es.

En mi cumpleaños número 24, una amiga mía que siempre me dijo que debería haber estudiado CS me compró una pi de frambuesa. Así que ahí estaba, listo para instalar Linux en una micro computadora. Después de eso, construí un servidor web en él. Paralelamente a eso aprendí electrónica y programación con un arduino. Entonces quise una página web personal. Entonces el contenido dinámico. Luego, un amigo quería un sitio web y luego ………. Quería un trabajo en este campo (estoy estudiando contabilidad, por cierto).

Aterricé mi pasantía en @CriticalSoftware (iTGrow) hace 6 meses. Estoy desarrollando una gran aplicación en AngularJS y ya he lanzado un poco de Java al backend (ambos aprendieron después de mi primera entrevista antes de obtener el trabajo). En el último análisis de rendimiento, me dijeron: ” usted, a pesar de no tener experiencia en TI, puede encontrar soluciones donde otros solo encuentran problemas .

¿Soy un buen programador? ¡No por casualidad! Estoy por debajo del promedio en términos de conocimiento técnico (algoritmos, estructuras de datos, patrones de diseño) y mis habilidades formales de matemáticas están limitadas a integrales y derivadas, pero tengo una habilidad particular: el pensamiento analítico . Esa mierda, por sí misma, hace maravillas! Soy capaz de recoger los conceptos básicos de casi cualquier cosa rápidamente y el resto viene con unas pocas búsquedas en Google. Me esfuerzo por la perfección y aprender todo lo que pueda. Así que soy multifacético. No sé JUSTA programación, sé lo suficiente de muchas cosas que me permiten resolver la mayoría de los problemas con un poco de investigación sobre el tema. Todo eso, parte de una pequeña introducción a los 15, se aprendió desde el día exacto en que cumplí 24 años.

¿Tiene una formación en ingeniería? Amigo, ¡ya estás en un lugar mejor que yo! ¡Ve a por ello!

¡Te deseo la mejor de las suertes!

PD: cumplí 26 hace menos de un mes.

No, nunca es demasiado tarde. Estoy escribiendo esta respuesta porque muchas otras respuestas, especialmente de “programadores de carrera”, simplemente no tienen ni idea.

Después de pasar 20 años en una carrera de ventas, mercadotecnia y estrategia comercial, comencé a programar unos meses antes de mi cumpleaños número 39 (la razón es una historia totalmente no relacionada). Ahora tengo 42 años, así que eso fue hace aproximadamente 3 años y medio.

Aprendí a mí mismo a programar leyendo código, documentación de código y comentarios de código en GitHub. Después de aprender lo básico, comencé a leer libros para profundizar mi conocimiento. Pero lo que me ayudó a aprender rápidamente fue esto: traté de encontrar proyectos de código existentes que parecían realmente interesantes, para poder encontrar algo a lo que aspirar. Luego comencé a buscar “desafíos de código” que podría hacer, con el objetivo de lograr un desafío al día (cuando sea posible).

No tenía idea de por dónde empezar, y todo era completamente nuevo para mí, así que al principio, mis objetivos se basaron en cosas que estaba leyendo en la documentación de los proyectos o en los documentos de JavaScript de MDN, como “Aprender cómo funcionan las variables” o ” Aprende cómo funcionan los objetos ”, y así sucesivamente.

Luego, los objetivos se convirtieron en cosas como “Aprende la diferencia entre una matriz y un objeto”, etc. Cualquier cosa que pueda ayudarme a comprender los conceptos básicos de la programación, paso a paso. A medida que pasaba el tiempo, los objetivos se hicieron más avanzados, y comencé a centrarme en darme desafíos de código que darían como resultado un proyecto de código pequeño y publicable que podría usarse en futuros proyectos de código.

Con el tiempo, la calidad del código mejoró y los proyectos de código se hicieron más sofisticados. Pero lo importante es que hice esto paso a paso, un día a la vez. Algunos días pasé 30 minutos leyendo sobre el código y tratando de crear algo, otros días, especialmente los fines de semana, pasé horas. Cuanto más aprendía, más lo disfrutaba (no mentiría, a menudo era muy aburrido o frustrantemente confuso al principio).

Esta es la parte interesante. Dada mi experiencia y experiencia en mercadotecnia, desde el primer proyecto que publiqué en GitHub comencé a buscar formas de ver el uso o descargar estadísticas de mis proyectos. Durante los primeros 6 meses más o menos, no creé nada de valor, por lo que nadie prestó ninguna atención a mis proyectos. ¿Por qué lo harían? Un día noté que uno de mis proyectos comenzó a descargarse, fue un momento extrañamente emocionante (otro programador está usando algo que creé?!? Wow). Esto fue importante para mí, especialmente después de pasar años en ventas y marketing, porque “no se puede administrar lo que no se puede medir”, y las descargas eran la única métrica que sabía que podía indicarme (como programador) que estaba proporcionando valor.

Con la ayuda de un amigo, creamos una “tarjeta de informe” muy simple que me proporcionaría una actualización / resumen diario de cuántas descargas recibía mis proyectos. En virtud de las leyes de causa y efecto, comencé a dedicar más tiempo a los proyectos que a las personas les importaban y menos a los que a las personas no les importaban. No es fácil, ¿verdad? Una vez más, había un objetivo, algo que quería lograr y una razón por la que comencé a programar, pero eso no está relacionado con esto.

A partir de hoy, he publicado 1.200 proyectos de código fuente abierto, la mayoría de los cuales se crearon en un día o en un par de horas. Este soy yo jonschlinkert (Jon Schlinkert):

  • Mis proyectos se han descargado ~ 3 mil millones de veces en los últimos 18 meses
  • Mis proyectos se descargan casi 300 millones de veces al mes (verifique usted mismo: Estadísticas de jonschlinkert)
  • Las descargas han aumentado un promedio de 15 a 20% por mes durante los últimos 18 a 22 meses (a veces menos, a veces más)
  • 65 de mis proyectos se descargan más de 1 millón de veces al mes cada uno.
  • Mi código es utilizado por la NASA, Google, Facebook, Microsoft, Apple y decenas de miles de otras compañías.

Con el ánimo de alentar a cualquier persona que tenga dudas de comenzar a programar debido a su edad, los reclutadores me contactan a diario y este año recibí ofertas de docenas de compañías de Fortune 500 (en cuanto a la carrera profesional, resulta que centrarse en el código abierto es una gran manera de darse a conocer.

No escuches a los que dudan, y no compliques demasiado esta decisión. Solo pregúntate a ti mismo si crees que lo disfrutarás (una vez que hayas pasado lo básico). ¡Únete a GitHub, busca proyectos que parezcan interesantes y comienza a escribir algo de código!

Estoy en mi último año de universidad, y creo que es posible convertirme en un programador decente al final de mis años universitarios. Todo depende de la cantidad de dedicación que dediques. El hecho de que tengas acceso a Quora ahora es un gran punto a favor, ya que tienes una fuente externa para preguntar dudas.

Aquí hay algunas cosas que lamenté no poder hacer, o no ser consciente, y las enumeraré para que usted y los demás que están leyendo esto no tengan que pasar por esto.

1. Si elige C ++ como su lenguaje de programación, lo primero que debe hacer una vez que haya entendido lo básico es aprender sobre STL. Es una biblioteca estándar de C ++ y le ayuda enormemente a codificar soluciones de forma más rápida y eficiente. No sabía cómo usar STL hasta hace unos meses, y fue horrible darme cuenta de lo fácil que podía haber resuelto los problemas que encontré hace dos años.

2. Encuentra un buen grupo de amigos dedicados a la programación. Incluso uno es suficiente. Ustedes dos serán motivadores el uno para el otro. La mayoría de los programadores exitosos que conozco de mi clase tienen compañeros de programación.

3. Encuentra personas mayores, hazte amigo de ellos y obtén su valiosa orientación. Es absolutamente esencial tener un mentor, y tus mayores serán tu mejor guía.

4. Únete a todos los sitios web de programación que puedas. Topcoder, Spoj, Hackerrank, CodeChef, CodeForces, etc. Y sería preferible que tuviera el mismo identificador en todas partes. De esa manera, cuando alguien busque en Google su nombre de usuario, se mostrarán todos sus perfiles de codificación.

5. Echa un vistazo a los tutoriales sobre cómo comenzar con la programación competitiva. Hay tantos asombrosos por codificadores impresionantes que hay. Siga cualquiera de sus consejos.

6. Sea regular. Enfócate, sé decidido.

7. No omita los temas de su curso mientras codifica. Necesitas un desarrollo completo para obtener un título, y las calificaciones son importantes a pesar de la cantidad de habilidades que puedas tener para tu primer trabajo, y especialmente si no tienes experiencia.

8. Comience a trabajar en proyectos desde el segundo año e intente obtener pasantías lo antes posible. Cuanta más experiencia tengas, mejor.

9. Mientras se prepara para la programación competitiva, o la programación normal, prepárese lado a lado para programar entrevistas también. Utilice la preparación de la entrevista de codificación facilitada para su preparación. No solo lo ayudará con las entrevistas a largo plazo, sino que también lo ayudará con los conceptos básicos de la codificación.

10. Por último, pero no menos importante, tómate en serio tus prácticas prácticas. No se limite a copiar o trabajar en el laboratorio por el simple hecho de hacerlo. En realidad prepararse para ello. Un profesor una vez nos dijo que practicáramos en el laboratorio de 6 a 7 horas a la semana. Lamento no seguirlo, porque si lo hiciera, estaría en una situación mucho mejor ahora que en este momento.

¿Qué te pasa, viejo ? ¿Cómo sigues respirando sin aprender a programar hasta los 14? Diríjase al río, al mar o a un edificio alto más cercano, salte y suicídese para no aprender a programar en Facebook o Google hasta el 14.

¿Alguna vez has leído sobre el Coronel Sanders que comenzó KFC a la edad de 67 años? Creo que nunca pensó que era “demasiado tarde” para hacer algo nuevo, para darle a la gente la oportunidad de probar un delicioso pollo en todo el mundo.

¿Alguna vez has tenido la sensación de jugar juegos con tus amigos? Me refiero a juegos al aire libre, ¿verdad? Primero vea el mundo a su alrededor , con sus ojos , no a través de tales sitios web. Estos sitios web solo usan a todos en este mundo para su propio beneficio . Nunca te dan el verdadero sentido de nada .

La vida no se trata de conseguir un empleo, ser un empleado de alguien o ganar un salario de 6 dígitos. La vida es mucho más que eso. Primero intente tantas cosas como pueda, luego decida qué es lo que realmente quiere . Tiene solo 14 años, al menos 4-5 años por delante que muchos empleados de dichos sitios web que escriben sus primeras líneas de código a los 18 o 19 años en la universidad. Y si vas a fondo, descubrirás que, excluyendo a Mark Zuckerberg, todos los fundadores de Facebook (Chris Hughes, Eduardo Saverin, Andrew McCollum y Dustin Moskovitz) dejaron Facebook en un plazo de 3 a 4 años desde su lanzamiento . Además, el director de tecnología de Facebook, Adam D’Angelo, y el ingeniero y gerente de facebook, Charlie Cheever, dejaron el facebook en 2008 y comenzaron a trabajar en Quora. Hay muchas personas que dejaron facebook para hacer algo que realmente quieren.

Así que respira un poco de aire fresco, sal y disfruta probando algo nuevo . Eres joven y disfrutas plenamente. No empieces a tomar tensión sobre la vida en este momento. Si no aprendes a disfrutar en la adolescencia, nunca disfrutarás en tu vida. Así que relájate y diviértete .

La computación ya no se trata de computadoras. Se trata de vivir.
Creo que estamos en medio de un momento histórico .

Entre 1842 y 1843, Ada tradujo un artículo del ingeniero militar italiano sobre el motor, que complementó con un elaborado conjunto de notas, simplemente llamado Notas . Estas notas contienen lo que muchos consideran el primer programa de computadora, es decir, un algoritmo diseñado para ser ejecutado por una máquina. Básicamente, automatizó lo que la máquina ya estaba haciendo con intervención manual. Esto condujo a una era sorprendente de escribir un programa de computadora para permitir que las computadoras hagan lo que queremos que hagan. Dado que las computadoras no podían entender el lenguaje humano en ese momento (tenemos un procesamiento de lenguaje natural que se encarga de esto), las personas comenzaron a escribir programas en idiomas de bajo nivel para permitir que una computadora entienda lo que queremos que hagan. Me gusta llamar a esta fase como ” Primera etapa de la computación “.

Esta era nos dio algunas de las compañías más sorprendentes que este mundo ha encontrado, como Intel, IBM, Microsoft, Apple, Cisco, etc.

El mundo encontró una inmensa evolución en los sistemas operativos. Pasó del sistema de tiempo compartido compatible, al sistema de tiempo compartido UNIX, a Microsoft Windows, a Apple Macintosh, a iOS y, por último, al sistema operativo Android.

Al aire libre
A principios de los 90, empezamos a darnos cuenta de que todavía hay algunas áreas y problemas para los que no podemos escribir programas de computadora. Incluso si lo intentáramos, nos dimos cuenta de que algunos problemas y áreas cubren una multitud tan amplia que simplemente no es posible escribir un programa de computadora para ellos. La mayoría de las veces, la razón era que nosotros, los humanos, simplemente no entendíamos realmente el enfoque paso a paso para resolver el problema en cuestión. Incluso si lo hacemos, hay algunas restricciones a lo que realmente podemos escribir en un programa de computadora. Varias características no pueden ser capturadas en un programa de computadora.

Los científicos informáticos comenzaron a darse cuenta de que necesitamos algo más para la informática, algo que supera nuestra capacidad de escribir simplemente un programa informático para que una computadora pueda realizar una tarea. Luego vino la era de los sistemas inteligentes. No era nuevo para nosotros. Llevamos bastante tiempo investigando en sistemas inteligentes.

A principios de los años 50, cuando se desarrollaron los sistemas expertos, surgieron otros enfoques para el aprendizaje automático. En 1957, Frank Rosenblatt inventó el Perceptron en el Laboratorio Aeronáutico de Cornell . El Perceptron es un clasificador lineal muy simple, pero se demostró que al combinar un gran número de ellos en una red se podría crear un modelo poderoso.

La investigación de redes neuronales pasó por muchos años de estancamiento después de que Marvin Minsky y sus colegas demostraron que las redes neuronales no podían resolver problemas como el problema XOR. Sin embargo, varias modificaciones se han producido más adelante para resolver XOR y muchos más problemas difíciles.

Pero la verdadera diversión comenzó a principios de los 90. Nos habíamos dado cuenta de que necesitábamos algo más para la informática y solo durante ese período, Machine Learning volvió a ser muy popular debido a la intersección de Informática y Estadística. Esta sinergia dio lugar a una nueva forma de pensar en la IA: el enfoque probabilístico. En este enfoque la incertidumbre en los parámetros se incorpora en los modelos. El campo cambió a un enfoque más orientado a los datos en comparación con los sistemas expertos más orientados al conocimiento desarrollados anteriormente. Muchas de las historias de éxito actuales de Machine Learning son el resultado de las ideas desarrolladas en ese momento. La gente comenzó a discutir BIG DATA y NFL en las mesas de la cena.

Al aire libre
Me gusta llamar a esta etapa como ” LA SEGUNDA ETAPA DE LA COMPUTACIÓN “.

Comenzamos a hacer técnicas para permitir que una computadora aprenda de la experiencia. ¿Suena la ciencia ficción? Está muy cerca de la ciencia ficción, pero sí, podemos hacerlo en la actualidad. De hecho, lo más probable es que esté utilizando al menos uno de los productos que tiene algún poder informático que está aprendiendo por experiencia. Escúchame ahora, créeme más tarde.

El avance se llama ” Aprendizaje de máquina “. Es inimaginablemente importante para entender hacia dónde se dirige la tecnología y hacia dónde va la sociedad.
Las recomendaciones de películas de Netflix, las recomendaciones de productos de Amazon, la capacidad de Facebook para detectar las caras de sus amigos, las aplicaciones de citas que coinciden con las fechas potenciales , son todos ejemplos tempranos de aprendizaje automático.

Un auto auto-conducido no está programado para conducir por sí mismo. Nadie sabe realmente cómo programar un coche para conducir. Sabemos cómo conducir, pero ni siquiera podemos explicarlo a nosotros mismos. El auto de Google se aprendió conduciendo millones de millas y observando a la gente conduciendo.

Esa es la clave : Machine Learning permite que los algoritmos aprendan a través de la experiencia y hagan cosas para las que no sabemos cómo crear programas.

El aprendizaje automático tuvo un gran avance público en marzo, cuando Google hizo historia en Inteligencia Artificial al crear un algoritmo que dominaba Go, el antiguo juego chino con más configuraciones de tablero posibles de las que hay átomos en el universo. El programa AlphaGo de Google venció a Lee Sedol, quizás el mejor jugador humano de Go en vivo.

Pero Google no pudo programar un algoritmo para conquistar Go. Tenía que crear un algoritmo sofisticado que pudiera procesar 80 años de juegos Go disponibles públicamente, y aprender cómo se ven los buenos movimientos al estudiarlos.

Había dos etapas en la era de la información. Una etapa es donde tuvimos que programar las computadoras, y la segunda etapa, que ahora está comenzando, es donde las computadoras pueden programarse a sí mismas mirando los datos.

Quizás es por eso que Eric Schmidt de Google dice que todas las grandes empresas en los próximos cinco años tendrán una cosa en común: el aprendizaje automático .

Lo que siento es que muy pocas personas han hecho la transición a la necesidad de esta era. Muy pocas personas desean trabajar en este nuevo campo debido a la incertidumbre que este campo tiene sobre su hombro.

Como dice el profesor Andrew Ng, “Necesitamos que cada vez más personas trabajen en Aprendizaje automático cada fin de semana, aparte de sus compromisos laborales, y lentamente avancemos a trabajar en sistemas inteligentes. Solo así podremos hacer una diferencia”.

Lo ves. La computación ha recorrido un largo camino e infinitas posibilidades siguen ahí. Nunca es demasiado tarde para aprender una disciplina y hacer una diferencia. ¿Quién sabe? Podría llegar a la próxima gran cosa en el mundo de la informática.

Entonces, salgan los osos . Vamos a esforzarnos más para impulsar esta nueva era de la computación. Quién sabe, usted podría ser el próximo ” Padre de los sistemas inteligentes “. El mundo te necesita y tu esfuerzo.

Comencé en mis primeros años veinte, profesionalmente. No sabía casi nada de eso (diga lo que digan los demás, el trabajo independiente y los tutoriales nunca te convertirán en un programador) y me lanzaron a algunos proyectos serios. En dos años me convertí en el desarrollador líder de una empresa bastante grande.

Si realmente lo amas, serás bueno en eso cada vez que comiences. Un tipo dijo una vez una cita que vi en otra pregunta:
“Si supiera que iba a vivir a los 100 años, habría cogido el violín a los 60. A estas alturas, habría estado tocando durante 40 años”.

Además, la programación que tienes en mente allí (html, css, javascript, RoR) es la programación web, un tipo de programación muy fácil de asimilar. Es un asunto completamente diferente cuando pasa a un nivel bajo y tiene que pensar en la administración de la memoria y el rendimiento como en C ++, pero los lenguajes de alto nivel hacen que las cosas sucedan para usted;

Sin embargo, lo más importante es conseguir un proyecto real. Los tutoriales no van más allá de lo básico.

Te contaré un cuento sobre mi amigo.

Este chico es de origen no informático (persigue la biología en la escuela superior) de una parte rural.

Ingresó ingeniería con buena puntuación y optó por la electrónica y la comunicación. (donde la codificación no es primaria)

Tuvimos un tema de programación en nuestro primer año. Personas de antecedentes similares, incluido él, de alguna manera querían simplemente aclarar el tema. Comenzó a aprender (literalmente) la programación. Por suerte tuvimos un gran profesor. Curiosamente, parecía gustarle el tema. Él no se detuvo allí a pesar de que nuestro tema de codificación terminó. De repente se volvió loco por el lenguaje de programación. Esa fue la chispa. Solía ​​sentarse frente a su portátil día y noche. Algunos días lo veo trabajar cuando me estoy despertando. Se convirtió en la comidilla del departamento.

Si alguien necesita alguna duda sobre la programación, ¡sería la primera persona en mente! De hecho, la mayoría de los que tenían conocimientos de informática no lo igualaban.

La mejor parte es que en el último año, en lugar de centrarse únicamente en su proyecto final, programó programas para otros 3-4 equipos. ¡Buen chico!

Actualmente trabaja en una empresa de informática. Probablemente uno de los pocos que realmente están interesados ​​en trabajar allí.

¡Lo que se quiere decir es que, cuando algo se convierta en tu pasión, tira el trabajo a tu alrededor y continúa!

No estoy siendo filosófico aquí. ¡Venga! ¡Piensa por un momento! No es solo la forma en que comienzas, sino también el tiempo que lo mantienes. Amigo, estás justo en tu mitad de los 20’s. La mitad de la gente a tu alrededor no sabría qué es la programación.

¿Es demasiado tarde para que una persona de 22 años que está un año fuera de la universidad sin experiencia en programación comience a aprender codificación y obtenga un trabajo como desarrollador de software?

En resumen … no. Pero tendrás que trabajar para ello.
Nunca eres demasiado joven para aprender a codificar, siempre que tengas la pasión y el impulso para aprenderlo, estarás bien. Obviamente, la mayoría de la gente sigue el camino de hacer un título CompSci (o relacionado) en la universidad, así que si no vas a hacer esto, necesitas trabajar en muchos proyectos personales.
En primer lugar, considerando su posición, diría que lo único que debe recordar en todo momento es que no siempre se trata de las calificaciones. La experiencia puede recorrer un largo camino. Recoge esa experiencia y más tarde en la línea, deberías estar bien. Estos son algunos consejos generales que debe considerar para ayudarlo a lo largo de:

Comenzar en un lugar seguro
Hay muchos idiomas diferentes por ahí. Amarás a unos y odiarás a otros. ¡Esta bien! Pero trata de ser amplio con tu aprendizaje. Intenta y aprende lo más posible, pero cuando encuentres uno que te guste, apégate a él.
Si vas a comenzar con cualquier idioma, yo diría que comienza con Java. Esta es probablemente su apuesta más segura. Es probable que sea el idioma más utilizado y el que más se enseña en las universidades, por lo que debería comenzar poniéndolo en pie de igualdad con los desarrolladores junior que provienen de una formación académica CompSci.

¡La codificación es práctica!
Al perfeccionar sus habilidades, tal vez concentrarse en áreas particulares y luego, cuando se sienta cómodo, siga adelante, pero nunca abandone esta área completamente, continúe trabajando en ellas constantemente. Crea pequeños proyectos para ti mismo. Incluso mira las cosas que ya están ahí y reconstrúyelas. Separe algo y cámbielo usted mismo, luego observe cómo se desarrolló originalmente para ver cómo su práctica coincidía o difería de la versión original.
Lo más importante que debe recordar es que cualquier tipo de codificación es práctica, y es una práctica constante que perfeccionará sus habilidades y mantendrá su desarrollo continuo. No te familiarices con un tipo de lenguaje. Continúa construyendo tu conocimiento de ese idioma usándolo en diferentes proyectos, una y otra vez. Y luego comienza de nuevo con un idioma diferente, y repite. Empújese hasta el límite y experimente, es la mejor manera de aprender y demostrar su conocimiento y

Aproveche los recursos que hay por ahí, ¡hay un montón!
Hay una gran variedad de recursos que puedes usar para ayudarte a recoger esa experiencia vital. Eche un vistazo y participe en sitios como:
· TopCoder,
· Información técnica para desarrolladores de software (también desarrollador de Apple para iOS)
· Fabricador
· CodeGuru: ideas, artículos, consejos, trucos, comentarios, descargas y mucho más relacionados con desarrolladores de Microsoft relacionados con la programación en áreas que incluyen C ++, Visual C ++, C #, Visual Basic, .NET Framework, y más
· Ayuda en programación y desarrollo web | DreamInCode.net

Estos son grandes sitios para ingenieros / desarrolladores en ciernes. Puede encontrar respuestas a las preguntas que tenga, ver códigos de muestra y usarlos para conectarse con otros desarrolladores con experiencia. Conectarse con otros desarrolladores puede ser muy importante: puede revisar su código, aprender de otros y contribuir con usted mismo. La enseñanza es una excelente manera de reforzar el conocimiento que ya tiene, y es una buena manera de contribuir a la comunidad.
Tenga en cuenta que esto es algo que también les digo a los graduados de CompSci: básicamente, está creando un portafolio en línea para que usted pueda trabajar en el dominio público para que la gente vea evidencia de sus habilidades. Los desarrolladores junior que hagan esto tendrán una transición más fácil a la industria.

Si necesita algún consejo, no dude en ponerse en contacto con nosotros aquí en Oxford Knight. Nos complace ayudar a quienes deseen ingresar a la industria y darles consejos para ayudarlo a comenzar. Siéntete libre de dejarme un mensaje!

Hace mucho tiempo, leí en alguna parte que aprender un lenguaje de programación es muy fácil. Todo lo que tienes que hacer es aprender sus palabras clave y un poco de sintaxis. Por ejemplo, C tiene 32 palabras clave y Java tiene alrededor de 50 palabras clave. Aprender (o familiarizarse) con estas palabras clave del lenguaje no debería ser difícil.

El descanso (especialmente los lenguajes imperativos como C o Java) se trata de aprender un poco de sintaxis y un rico conjunto de bibliotecas. Por ejemplo, necesita aprender (sin ningún orden en particular)

  1. Cómo definir datos, es decir, cómo declarar variables / definir sus tipos (primitivo y definido por el usuario) int i; o public class Test { ... } . Los tipos definidos por el usuario con datos y operaciones a menudo se clasifican como clase en lenguajes de programación orientados a objetos.
  2. Cómo escribir sentencias, es decir, cómo realizar operaciones en variables / tipos / valores usando varios operadores, por ejemplo, asignación = , aritmética + - * / % , igualdad == , condicional && || ?: && || ?: , manipulación de bits ^ & ~ >> << etc.
  3. Cómo agrupar declaraciones para crear una agrupación lógica para lograr un resultado deseado, es decir, cómo declarar métodos (procedimiento, funciones), cómo pasarles parámetros de entrada, cómo llamarlos y cómo obtener resultados de esos métodos (valores de retorno) int result = add(2,2);

El siguiente paso es aprender sobre la sintaxis específica de los idiomas imperativos (sin ningún orden en particular)

  1. Bifurcación condicional del flujo de código. Usando if-else-then, cambia las construcciones. if(condition) do_this; else do_this;
  2. Iteración de declaraciones en alguna condición, es decir, bucles. Dos tipos principales de bucles son do-while y do-until. Por ejemplo, en Java, un bucle do-while se logra mediante
    while(condition) {body} y un do hasta que se logra con do{body}while(condition); . Una forma especializada de bucle do-while es para bucle.

Si puede dominar las técnicas anteriores, está en su camino hacia el maestro C, C ++, Java y cualquier otro lenguaje imperativo en el que pueda pensar. Para aprender la programación orientada a objetos, se requieren algunos pasos adicionales además de los anteriores (sin ningún orden en particular)

  1. Cómo determinar los datos en una clase, es decir, quién tiene acceso a sus clases y sus miembros. En otras palabras, modificadores de acceso. Java tiene cuatro niveles de acceso (cubierto con tres palabras clave de modificadores de acceso). Se pueden aplicar a las clases y sus miembros (variables de clase y métodos). Esto se clasifica como encapsulación.
  2. Cómo lograr la herencia por implementación ( usando extends en Java ) y la herencia por especificación ( usando implements en Java ). (Comprender los beneficios / limitaciones de cada enfoque lo convertirá en un mejor programador orientado a objetos).
  3. Cómo lograr el polimorfismo en tiempo de ejecución (anulación del método) y el polimorfismo estático (sobrecarga del método). (Comprender el polimorfismo en tiempo de ejecución y la capacidad de llamar a métodos que aún no están definidos ( métodos abstractos ) usando referencias de subclases lo convertirá en un poderoso programador orientado a objetos)
  4. Manejo de errores a través de excepciones. (usando las palabras clave throw / try / catch)

Eso es todo lo que hay que aprender Java o cualquier otro lenguaje de programación orientada a objetos similar. Pero no es el final de la historia. Para ser un exitoso programador de Java, necesita familiarizarse con un amplio conjunto de bibliotecas disponibles para facilitarle la vida. Nuevamente, sin ningún orden en particular, necesitas aprender:

  1. Bibliotecas de entrada / salida
  2. Bibliotecas gráficas
  3. Bibliotecas de matematicas
  4. Colecciones de colecciones
  5. Programación concurrente de bibliotecas.

Etc., etc. Cuantas más bibliotecas conozca (o la capacidad de buscarlas), más programador tendrá experiencia.

Eso lo cubre todo, sin presión. Nunca es demasiado tarde para aprender un idioma si sabes cómo abordarlo. Comenta si necesitas más aclaraciones o quieres agregar más información.

No es demasiado tarde para comenzar a CUALQUIER edad. Cualquier sugerencia de que si ha pasado una cierta edad es demasiado tarde para aprender, la programación o cualquier otra cosa, es solo un producto de la emoción, la tradición y la incompetencia. Y lo que es más importante, es un producto de la insensatez por parte de cerdos apestosos de negocios y perras de negocios que desean practicar secretamente el “envejecimiento” en las prácticas de contratación y despido, solo para mostrar cuán “duros” creen que son, ayudados e instigados por espantosamente. mercados de trabajo ineficientes donde, por lo que he visto, hay algo entre 70 y 5,000 personas compitiendo por el trabajo cada vez que uno se anuncia. Ayudado e instigado por la prevalencia y la popularidad de este tipo de cosas entre los llamados “gerentes” obsesionados con controlar a los demás por medio de estúpidas estratagemas diseñadas para hacer que todos los demás se sientan inferiores e inadecuados. Se trata de obtener mano de obra barata y de abaratar a las personas basándose en la explotación de mercados laborales ineficientes.

Antes de emprender cualquier actividad de aprendizaje del tipo al que se hace referencia, por razones obvias, es necesario que haya incentivos adecuados en forma de rendimientos de la inversión en el tiempo y el esfuerzo involucrados. Lo que significa, obviamente, un empleo remunerado, ya sea en un “trabajo” en el sentido habitual o como empresario por derecho propio. Si desea ser un empresario, el primer desafío es identificar una necesidad que nadie más esté atendiendo antes de hacer cualquier otra cosa. Por ejemplo, ¿quieres construir una aplicación de base de datos? ¿Será ese un sistema para que las personas utilicen en el hogar, para ayudarlos con su propio trabajo privado? ¿Será ese un sistema destinado al acceso de una gran cantidad de personas simultáneamente, todos los cuales se encuentran en diferentes ubicaciones geográficas?

En cuanto a tratar de obtener trabajo aquí en Ottawa, Canadá, el mercado laboral es solo un hedor apestoso y estúpido, en parte debido a la forma en que funciona la contratación pública de servicios. Por ejemplo, trabaja deliberadamente para excluir a las personas que carecen de “experiencia” especificando listas largas y detalladas de requisitos para todo el personal que se empleará en proyectos por subcontratistas privados, quienes a su vez deben enviar los detalles de todo el personal para trabajar en Un proyecto como parte de su oferta. Como ejemplo, si a una sola persona a la que se propone trabajar en el proyecto le falta “experiencia” (e, g, 3 años de experiencia en ciertos lenguajes de programación, versus 5 años de experiencia que solicita el RFP emitido por el gobierno), entonces el contratista se considera “no conforme” con los términos de la RFP y, por lo tanto, está “descalificado” de la consideración del contrato. Por lo tanto, las personas sin años de experiencia se excluyen cada vez, por lo que constantemente se les impide obtener “experiencia” y, por lo tanto, se les “excluye” permanentemente del mercado laboral. ¿Cuánto más estúpido puede conseguir una sociedad?

Robert T. Chisholm – Miembro Asociado, OSPE

Estoy harta de las personas que apenas están fuera del útero y preguntan si es demasiado tarde para hacer algo. ¡Tengo 45 años por el amor de Dios y acabo de aprender! Yo soy el que debería preguntar si es demasiado tarde. ¿Por qué la gente sigue haciendo esta pregunta? Tienes 14 Caray Mientras respires y tu cerebro funcione y tengas el deseo, ¡puedes hacer lo que quieras!

Comenzaré por donde empezar:

– Codecademy es un excelente comienzo. Es gratis. Y vale la pena el tiempo invertido. Asegúrate de tomar un idioma y terminar el curso. Luego trata de pasar por algo de esta Programación de Aprender Proyectos Web.

http: //lynda.com.&nbsp ; Si puede ahorrar algo de dinero, entonces los tutoriales y la capacitación en video en línea de Lynda tienen algunos videos increíbles que cubren la programación básica y muy avanzada. En mi opinión, este es un campo minado de cursos muy útiles que cualquier persona con menos de USD 500 de sobra por año y que ame aprender DEBE invertir.

http://udemy.com . Udemy, que ofrece cursos que puedes comprar. Algunos son gratuitos, en su mayoría son cursos pagados. La calidad de los cursos vendidos en Udemy varía. El que compré no es tan bueno como el que vi en Lynda. Lo que me gusta de Udemy es la capacidad de hacer preguntas y obtener respuestas directamente de los profesores u otros estudiantes que están tomando el curso. Esta es una característica muy útil que Lynda aún no tiene.

– Youtube. Además de los gatos tocando el piano, hay muchos canales que enseñan programación. Pocos de ellos son tan buenos como los pagados. Aquí hay algunos que sigo, y aprendí mucho de ellos:

– Canal Derek Banas (Derek Banas)
El canal de este tipo es uno de mis favoritos. Él es rápido, pero recibe mis dos pulgares arriba para cubrir lo que necesita ser cubierto para que comiences. Cubre Python, desarrollo de Android, PHP, MySQL, C, entre otros.

– El New Boston (thenewboston)
Disfruté viendo y aprendiendo de este canal. Los tutoriales son ligeros y cubren una amplia gama de lenguajes de programación. También está lleno de humor. Lo que hace que la observación sea agradable.

Todo lo anterior lo he intentado, y vale la pena cada segundo y centavos gastados.

– Otros recursos

Hay otros portales en línea como Treehouse (Learn Web Design, Web Development, and More) y Bloc (Learn Web Development with a Mentor | Bloc). y muchos más. Todavía tengo que probarlos, pero es posible que lo haga pronto y volveré a visitar esta publicación para que sepa lo que pienso.

Ahora voy a abordar, si usted es demasiado tarde:

Básicamente, nunca ha habido un mejor momento para aprender algo, incluida la programación.

Lo que necesitarás es pasión, disciplina y la actitud de nunca rendirte.

Algunos consejos:

– Si ves un tutorial y no entiendes, mira una y otra vez. Si aún no puedes entender, observa a alguien más explicando el mismo tema en otros lugares. Ese proceso realmente ayuda a tu cerebro a crecer.

– Otra sugerencia, si está aprendiendo a codificar, intente no copiar y pegar el código todo el tiempo, sino escríbalo o escríbalo usted mismo, ya que al escribirlo puede comprenderlo mejor.

– Finalmente, establezca un objetivo para usted mismo, ya que dentro de un mes voy a hacer mi primera aplicación o aplicación web y seguirlo. Eso dice mucho sobre ti, ya sea que tengas lo necesario para tener éxito o no.

Te sorprenderá lo útiles que son estos consejos.

(añadido en octubre de 2015)

https://www.coursera.org/

Tomé dos cursos, uno pagado, y el otro es gratis. El gratuito era para un curso de principiantes para un lenguaje de programación con el que estaba familiarizado. El pagado fue para el desarrollo de Android. Desafortunadamente, no pude completar ambos cursos porque encontré el gratuito largo, lento y de pago complicado y lento al mismo tiempo. Mi mayor decepción con Coursera fue su intento de replicar o reflejar la forma en que estudiarías en un campus físico a sus cursos en línea, lentos y mundanos para mi gusto. Pero en su ventaja, el curso pagado fue muy detallado y cubre mucha información que no pude encontrar en cursos similares ofrecidos de forma gratuita en YouTube.

– Cursos específicos:

Ruby on Rails:

Hace unos meses decidí comprar este curso (The Complete Web Developer Bootcamp – Beginner to Expert) en Udemy: Cursos en línea en cualquier momento y en cualquier lugar. Es principalmente un curso de Ruby on Rails para ser específico, pero me pareció uno de los mejores cursos en línea. Eso sí, es una paga, pero vale cada centavo (pagué 10 USD de precio con descuento).
El curso se pone difícil a medida que avanza. Y si tiene poca experiencia con la programación, el lenguaje de programación Ruby y el desarrollo web, tendrá dificultades para afrontarlo.
Calificación: 4/5

HTML / CSS

Creación de un sitio de cartera sensible | Entrenamiento de Lynda.com

Tomé este curso un domingo por la tarde. Uno de los cursos mejor explicados que cubren el uso de desarrollo web front-end. No le enseña cómo programar, sino que le enseña cómo usar el código existente que está disponible gratuitamente en Internet.
Puntuación: 4.5 / 5

Introducción a HTML / CSS: Creación de páginas web (Khan Academy)

Tomé este curso con mi hija de 13 años mientras intentaba interesarla en el desarrollo web. El curso me pareció bien diseñado para principiantes y niños pequeños en general.

Puntuación: 4.5 / 5

Añadido (7 de febrero de 2016)

Programación para no programadores: iOS 9 y Swift | Entrenamiento de Lynda.com (Lynda)

Una vez más, tomé este curso con mi niña de 14 años. Nos pareció fácil, bien explicado y muy gratificante. Casi no cometimos ningún error. Si no es programador y desea saber cómo crear su primera aplicación iOS simple, este es el curso para usted. No profundiza en ninguna parte de la programación. Probablemente te lleve algunas horas terminar el curso.

Puntuación: 5/5

Cubriré más cursos a medida que los tome.
(fin de adición)

Oh, por cierto, tengo más de 50 años. ¿Soy demasiado viejo?

“Nunca es tarde para aprender algo nuevo”.

Y siendo específico, sí , nunca es tarde para aprender a programar. Es un arte y cualquier persona con el enfoque correcto puede aprenderlo. La programación se refleja en la creación de impactos y no importa si es demasiado tarde o demasiado pronto, si está listo para crear impactos, le damos la bienvenida al mundo de la programación .

Mi sugerencia sobre esto es si está listo y luego comience a hacer cosas porque nunca puede aprender a programar sin hacer programación . Cuanto más haces, más corazon se vuelve. Pero debe seguir las metodologías correctas para no quedarse atascado en algún lugar debido a la falta de auto motivación y orientación adecuada .

Recursos en línea

Puedes aprender lo básico de la programación a partir de recursos en línea. Hay muchos recursos y documentación oficial disponible en Internet que puede utilizar para aprender la sintaxis básica de la programación. El autoaprendizaje lleva mucho tiempo y algunas personas tienden a perder la esperanza en el medio del aprendizaje, pero quienes lo logran tienden a ser buenos desarrolladores, ya que poseen mucha auto motivación.

Plan adecuado

Haga un plano adecuado en el que pueda decidir qué programación aprender, qué recursos seguir, qué quiere hacer con la programación. En general, haga un plan o diseño temprano que explique cómo se puede lograr algo.

Trabajando juntos con compañeros

La colaboración entre pares ayuda a las personas a interactuar entre sí, resolver problemas juntos y desatar la creatividad para aprender y trabajar en equipo.

Habilidades blandas

Las habilidades blandas incluyen la comunicación entre las personas para trabajar, trabajar en equipo para compartir ideas, comprender a otros compañeros de trabajo y ayudarse mutuamente.

Aprendiendo a aprender

Este es un paso muy importante para aprender a programar de manera eficiente a medida que la tecnología cambia y se actualiza día a día y nadie sabe quién necesita qué aprender mañana, por lo que debería aprender a aprender a actualizarse día a día.

Conocimiento de ingeniero de pila completa

Un mejor conocimiento de front-end, back-end es importante para la colaboración con compañeros de trabajo.

Tutoría

La tutoría puede desafiar a las personas y elevarlas más allá de sus límites, y trabajar entre personas más experimentadas inevitablemente ayudará a los estudiantes a subir de nivel y aprender cosas nuevas rápidamente.

En la Escuela de Ingeniería de Software Holberton en San Francisco, brindamos todas estas formas para impulsar la programación de los estudiantes. No enfocamos a los estudiantes para que aprendan un lenguaje de programación o un marco seleccionado, sino que los ayudamos a resolver problemas para que puedan alcanzar el éxito a lo largo de toda su carrera. No se requiere experiencia previa en codificación . Es una escuela sin profesores formales ni conferencias. Se centran no solo en los mejores métodos de aprendizaje, sino que también los relacionan con lo que la industria del software requiere en la actualidad. Admite estudiantes en base al talento, la motivación y la capacidad para colaborar. Una de las mejores cosas de esta escuela es que no tienen en cuenta la edad . Han admitido individuos de unos 50 años . Ofrecen un programa de dos años y se centran en el aprendizaje basado en proyectos y el aprendizaje entre pares . Un currículo intensivo del proyecto y métodos revisados ​​por pares fomentan una cultura de aprendizaje muy constructiva.

Visite Holberton School of Software Engineering en San Francisco para saber más sobre nosotros.

Te deseo lo mejor en tus futuros proyectos.

Estás en una gran posición. Un amigo mío es un ex marine y tu edad. Lo está haciendo muy bien y ya ha llamado la atención de una importante empresa de tecnología en California.

Cuando sirves en nuestras fuerzas armadas, te conviertes en una mejor versión de ti mismo. Usted sale disciplinado, mucho mejor en la gestión del tiempo y tolera mucho menos la mierda de usted mismo. Usted consigue las cosas hechas.

Cuando te gradúes, puedes ser mayor que tus compañeros, pero serás más sabio y más valioso para un posible empleador. De hecho, CS es la mejor carrera para comenzar tarde, ya que la tecnología cambia tan rápidamente que puede combinar sus nuevas habilidades con su experiencia militar y escalar la escala rápidamente.

Trabaja duro. Tome todo lo que aprendió de su servicio y aplíquelo a su trabajo. Identifique qué área le interesa más (seguridad, web, sistemas integrados, etc.) y tome asignaturas optativas en estos temas en su año junior y senior.

A menos que haya tenido una exposición reciente a las matemáticas, comience con College Algebra. Desea estar listo para el cálculo, el álgebra discreta y lineal.

Gracias por su servicio y el bien futuro que hará para la sociedad como programador. Yo diría buena suerte, pero tú harás la tuya.

Nunca es tarde En el mundo de hoy es gratis, accesible y cualquiera puede codificar.

Aquí hay una lista de sitios que deberían ayudarlo a comenzar lo antes posible.

1. CodeAcademy

Uno de los lugares gratuitos más populares para aprender codificación es CodeAcademy. De hecho, más de 24 millones de personas ya han aprendido a codificar a través de la experiencia de esta empresa educativa.

Lo que aprenderá: HTML y CSS, JavaScript, jQuery, PHP, Python y Ruby.

2. Coursera

Fundada en 2012, Coursera se ha convertido en una importante empresa de tecnología educativa con fines de lucro que ha ofrecido más de 1,000 cursos de 119 instituciones. Hay cursos gratuitos y pagados ofrecidos por la Universidad de Washington, Stanford, la Universidad de Toronto y Vanderbilt.

3. edX

EdX es otra plataforma líder de aprendizaje en línea que es de código abierto en lugar de con fines de lucro. Fue fundada por la Universidad de Harvard y el MIT en 2012, por lo que sabe que aprenderá sobre tecnologías y teorías de vanguardia. Hoy en día, edX incluye 60 escuelas.

4. Udemy

Fundada en 2010, Udemy es una plataforma de aprendizaje en línea que se puede utilizar como una forma de mejorar o aprender habilidades laborales.

Lo que aprenderá: Programación para emprendedores: HTML y CSS o Introducción a la programación en Python.

5. aGupieWare

AGupieWare es un desarrollador de aplicaciones independiente que examinó los programas de informática de algunas de las instituciones líderes de los Estados Unidos. Luego, creó un plan de estudios similar basado en los cursos gratuitos ofrecidos por Stanford, MIT, Carnegie Mellon, Berkeley y Columbia. Luego, el programa se dividió en 15 cursos: tres clases introductorias, siete clases básicas y cinco optativas.

Si bien en realidad no recibirá crédito, es un programa introductorio perfecto para los posibles programadores de computadoras.

6. GitHub y Stackoverflow

A veces, necesitas recordar un libro de referencia cuando estás atrapado en un problema. Eso es GitHub. Puede encontrar más de 500 libros de programación gratuitos que cubren más de 80 lenguajes de programación diferentes en el popular servicio de alojamiento de repositorio Git basado en la web, lo que significa que los colaboradores lo actualizan con frecuencia.

7. MIT Open Courseware

Si ya aprendió lo básico y se metió en algo un poco más pesado, como explorar la teoría detrás de la codificación, aproveche el sitio de cursos gratuitos del MIT que incluye clases como Introducción a la informática y Programación, Introducción a la programación en Programación Java y Práctica en C.

Aquí hay una lista de recursos si se está tomando en serio el estudio de la informática.

8. Hack.pledge ()

Esta es una comunidad de desarrolladores, que incluye algunos desarrolladores de alto perfil como Bram Cohen, el inventor de BitTorrent. Allí, puede perfeccionar sus habilidades de programación aprendiendo de algunos de los principales desarrolladores del mundo.

9. Código de los vengadores

Con base en Nueva Zelanda, Code Avengers ofrece cursos de programación interactivos y divertidos que te enseñarán cómo codificar juegos, aplicaciones y sitios web utilizando JavaScript, HTML y CSS. Cada curso dura solo 12 horas y está disponible en inglés, ruso, holandés, español, italiano, turco y portugués.

10. Khan Academy

Creada en 2006 por el educador Salman Khan, Khan Academy es una de las instituciones originales de aprendizaje en línea gratuitas. Con los tutoriales en video paso a paso, puede aprender cómo programar dibujos, animaciones y juegos usando JavaScript y ProcessingJS, o cómo crear páginas web con HTML y CSS.

11. Campamento de comida gratis

Aquí aprenderá HTML5, CSS3, JavaScript, Bases de datos, DevTools, Node.js, Angular.js y Agile mediante la creación de redes y unirse a una comunidad de profesionales y estudiantes. Incluso trabajarán juntos en sus habilidades de codificación para que pueda crear aplicaciones de forma gratuita. Aquí está el problema: estás aprendiendo esas habilidades y la construcción ayuda a resolver problemas del mundo real. El código está disponible para organizaciones sin fines de lucro.

12. HTML5 Rocks

Este proyecto de Google se lanzó en 2010 para contrarrestar el HTML5 de Apple. El sitio está lleno de tutoriales, recursos y las últimas actualizaciones de HTML5. Es de código abierto, por lo que los desarrolladores pueden jugar con el código HTML5. Debido a que esto es más avanzado que la mayoría de los cursos introductorios, es posible que desee adquirir algunos conocimientos y experiencia antes de comenzar.

Nunca es demasiado tarde para aprender algo. Si pone un esfuerzo dedicado, obtendrá suficiente conocimiento y experiencia en él. Ahora, hablando de programación específica, no hay edad para aprenderla. Con la gran cantidad de fuentes disponibles, no tienes excusa alguna. Te recomiendo que empieces hoy.

  • Tome un curso en línea y compre algunos libros para construir una plataforma sólida.
  • Puedes comenzar aprendiendo C ++ o python. Haz pequeños proyectos y acostúmbrate al lenguaje de programación.

También puedes hacer una carrera si eres serio. Lo bueno de la programación es que uno puede trabajar en casa y ganar suficiente dinero.

  • Le recomendaría una escuela que no requiera experiencia previa en codificación e inscriba a personas sin importar sus edades. Escuela de Ingeniería de Software Holberton en la escuela de San Francisco. Ofrece un programa de dos años y se centra en el aprendizaje basado en proyectos y el aprendizaje entre iguales . Aprendes a trabajar en equipo y resolver problemas prácticos reales. Es un programa ideal para personas que desean aplicar sus conocimientos para resolver problemas prácticos. Muchos de sus graduados trabajan para gigantes de software . Creo que esto realmente aumentaría tus posibilidades de tener una carrera exitosa. Los miembros del personal que son todos los ingenieros de software anteriores lo ayudarían en el camino. Obtener la orientación de un profesional de la industria de la tecnología es la mejor manera de mejorar sus habilidades y dominarlo.

Te deseo lo mejor en tus futuros proyectos.

24? Bwa ha ha ha ha. Estás sobre la colina! ¡Tenías que empezar a las cinco!

No, en serio, puede comenzar en cualquier momento, y la programación cambia tan rápidamente, y se vuelve mucho más accesible cada año, de modo que no tiene que preocuparse por la gente que comenzó hace unos años; de fecha, de todos modos! Jajaja.

Toma HTML. Todo el mundo tenía que aprenderlo hace 20 años. Ahora, la mayoría del diseño web ocurre en WordPress, y una gran cantidad de personas están creando sitios web perfectamente finos al combinar y personalizar temas y complementos disponibles sin tener que tocar el HTML o el PHP. (Aunque es posible que tengan que buscar en Google para el CSS de vez en cuando).

Aprendí a volver a programar cuando todavía era un código de máquina, Assembler, Basic y Pascal. Miro los programas modernos y no puedo averiguar dónde están declaradas las variables, cuáles son los comandos, a dónde van las funciones. ¡Y las bibliotecas! ¡Dios mío, esas locas bibliotecas indocumentadas!

O hey, aquí hay otro ejemplo. Sé de varias mujeres maduras que entraron en Second Life porque les gusta vestirse con ropa virtual, tener mascotas virtuales y decorar casas virtuales. (¿Y quién no, estoy en lo cierto?) Entonces, primero, aprenden las herramientas de edición del mundo: cómo mover las cosas, reducirlas y estirarlas. A continuación, comienzan a editar texturas (las imágenes que golpeas en los lados de los bloques virtuales de Lego con los que construyes) y comienzan en Paint, y luego pasan a GIMP y Photoshop.

Luego quieren agregar animaciones, mallas y aparejos, y están en Blender y Maya.

O quieren hacer que sus mascotas sean más inteligentes, por lo que comienzan a jugar con el lenguaje de scripting LSL y eso es una droga de entrada, muy pronto están haciendo la programación de la base de datos del lado del servidor.

No estoy bromeando. Echa un vistazo a los tutoriales de YouTube que crean para ayudarse mutuamente. Es una locura.

No, no es demasiado tarde para comenzar a cualquier edad como desarrollador web. Pero el principal problema será la competencia por su trabajo, que generalmente será más joven y más en forma. A pesar de que la discriminación por edad no está permitida, si eres tan bueno como un joven de 21 años, las empresas elegirán la versión más joven. Entonces, ¡tendrás que trabajar más duro para conseguir el trabajo que te gusta!
Todo depende de tu experiencia y de mostrarte esta experiencia. Para un desarrollador web, ¡hay una manera fácil de presumir de tus habilidades! Pero no será gratis, ya que tendrá que registrar un nombre de dominio y obtener una compañía de alojamiento para alojar su sitio web personal. ¿Por qué? Supongo que … 🙂
Su primer paso sería registrar un nombre de dominio, preferiblemente su propio “nombre + apellido + .co.uk”, que usará en su currículum. Si tiene esto, es muy útil registrar una cuenta de Google Apps para conectarse a su nombre de dominio para que tenga una cuenta de correo electrónico con una cantidad infinita de alias y otras funciones. Costaría menos de 50 € por año, ¡ pero le servirá bien!
El siguiente paso es crear un sitio web personal. Mantenlo profesional y profesional. Evita Comic-Sans! Usa esto como un escaparate de tus habilidades para que se vea bien. ¡Esto sería lo que verá su futuro empleador después de leer su currículum! Proporcionará alguna prueba de sus habilidades, así que evite el uso de paquetes estándar como WordPress o lo que sea. Para ello, necesitará un host y sería mejor gastar entre 5 y 10 € por mes para algún host compartido.
Si tiene un teléfono Android o iPhone, puede conectarlo a su cuenta de Google Apps. Sincronice el calendario de su teléfono con el calendario de Google Apps para que pueda realizar un seguimiento de eventos importantes como conocer a su nuevo empleador. También puede usarlo para conectar Google Sheets y Google Docs y algunas funciones de Google más. Hágalo y podrá mostrar a su futuro empleador cómo está administrando su sitio desde un teléfono móvil, lo que es un buen conjunto de habilidades.
Entonces tu currículum. Escríbalo en Google Docs para que pueda enviar un enlace “” compartir “a posibles empleadores, brindándoles una opción de visualización. Esto también les permite descargarlo de su cuenta de Google Docs. Básicamente, esto le permitirá enviar correos electrónicos a varias compañías con el Enlace de su curriculum vitae compartido para que puedan decidir descargarlo o no.
Básicamente, lo que estás mostrando con todo esto no es que solo seas un diseñador web, ¡sino que puedes administrar sitios web completos! Y les estás proporcionando muchos ejemplos del mundo real. Es posible que aún tenga mucho que aprender, pero lo que describo aquí no es algo que la mayoría de los desarrolladores web más pequeños estén haciendo, por lo que le brinda una ventaja sobre ellos.
Además, es una buena manera de empezar a hacer cosas freelance también. 🙂
——
¡Tenga en cuenta que debe tener cuidado con su información personal en su currículum y sitio web en línea! No publique ninguna información confidencial sobre usted, como el número de seguridad social de su cuenta bancaria o su número de teléfono. Y use un alias de correo electrónico en su sitio en caso de que los spammers recopilen esa dirección. Google Apps filtrará la mayoría del correo no deseado de todos modos, pero si la dirección recibe demasiado correo no deseado, simplemente cambia a un nuevo alias y agrega un filtro en Google Apps para bloquear completamente el alias anterior.
——
Sin embargo, espera muchos rechazos. Un desarrollador de más de 36 es más caro que un desarrollador de 25. Lo sé porque yo mismo tengo casi 50 años y tengo problemas similares, a pesar de que tengo más de 30 años de experiencia. Tendrás que competir mostrando tu habilidad.
——
Pero ten cuidado. Habrá reclutadores y oficinas de reclutamiento que mostrarán cierto interés en usted una vez que su currículum se ponga en línea. Pueden ser útiles, pero tienden a proporcionar múltiples candidatos a posibles empleadores y tienden a usar a personas mayores como rellenos adicionales en sus carteras, por lo que parece que tienen muchos candidatos para elegir. Además, pueden ser realmente molestos …