No sé nada sobre programación o codificación. De donde empiezo?

Trabajo en la Escuela Holberton de Ingeniería de Software en San Francisco, donde he visto un entorno en el que los estudiantes interactúan regularmente con ingenieros de software de la vida real y líderes de la industria. Los mentores ayudan a los estudiantes de muchas maneras diferentes y aseguran que el plan de estudios se mantenga actualizado. Algunos ejercicios y proyectos son creados por mentores para mantener actualizados los niveles de habilidad.

Para convertirte en un gran programador de computadoras, debes enfocarte en 3 puntos:

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

Tener un conocimiento de la pila completa

Si bien todos tienen una definición diferente de “pila completa”, aquí hay una que me gusta. Las aplicaciones de software son sistemas complicados compuestos de muchas tecnologías y partes: frontend, back-end, 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.

Es por eso que primero debe aprender un mínimo sobre lo que llamamos la pila, mientras que 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 en casi 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”, porque este libro es muy importante para aprender a ser un ser humano exitoso.

  • Comunicación
    • verbal: hablar en público, presentación …
    • escrito: documentación, correo electrónico, post mortem, redacción técnica …
  • Colaboración
    • Ayudar a un compañero de trabajo en un proyecto.
    • A bordo de un recién llegado
    • Saber cuándo hacer una pregunta
  • Espíritu de equipo
    • Comprender a otros compañeros de trabajo
    • Fomento de la colaboración con otros equipos (si está en una gran empresa)

No te puedes imaginar cómo ser amable con las personas y ayudarlas a hacer su trabajo traerá mucho. Recuerda que para una empresa, si haces bien tu trabajo, eres un 1X. Pero supongamos que también está ayudando a 10 personas a hacer bien su trabajo, entonces usted es un 11X y ese es el tipo de personas que necesitan las empresas exitosas.

Si puedes conseguir estas 3 cosas, serás un programador increíble y todos querrán contratarte

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

Ha pasado medio año desde que reuní mi primera lista de cursos basados ​​en la web y libros electrónicos gratuitos sobre una variedad de lenguajes de programación. Pero desde entonces me encontré con muchos otros recursos increíbles, que mi lista anterior requiere una actualización. También me gustaría agradecer a todos los que dejaron sus comentarios en esa publicación con muchas otras cosas que vale la pena mencionar. ¡Eres fabuloso!

Así que hoy tengo la lista definitiva de recursos y libros electrónicos sobre lenguajes de programación. ¡Disfrutar!

HTML y CSS

Sitios: Codecademy, FreeCodeCamp.com, SoloLearn (HTML), SoloLearn (CSS), Treehouse (HTML), Treehouse (CSS), Tutsplus, A to Z CSS, Dash, Web Accessibility, The Hello World, Khan Academy, HTML5 from Scratch , Sitepoint, Usersnap

Libros: Mozilla, Sumérgete en HTML5, HTML Dog, HTML y CSS, HTML Canvas, Programación fuera del horario laboral – Tutorial HTML, Programación después del horario laboral – Tutorial CSS

JavaScript

Sitios: Codecademy, FreeCodeCamp.com, Treehouse, SoloLearn, Code Avengers, Sitepoint, KhanAcademy: Introducción a JS

Libros: No sabes JS, JavaScript elocuente, Guía de JavaScript, Hablar JS, JS de la manera correcta, Programación después del horario laboral – Tutorial de JavaScript

jQuery

Sitios: Codecademy, FreeCodeCamp.com, Tutsplus, Code School

Libros: jQuery Fundamentals, Learn jQuery

Pitón

Sitios: Codecademy, Treehouse, SoloLearn, Google

Libros: Cómo pensar como un informático: Edición interactiva , Python para ti y para mí, Sumérgete en Python, Aprende Python de la manera difícil, Piensa Python, Tango con Django, Django, Documentación de Python, Un byte de Python, Programación fuera del horario laboral – Tutorial de Python, Guía del autoestopista de Python, Tutoriales de Python sobre Codementor, Programación para todos (Introducción a Python)

Ruby y Ruby on Rails

Sitios: Codecademy, Treehouse, TryRubyCode Learn, Rubymonk, Sitepoint

Libros: Guía Why’s (conmovedora) de Ruby, Learn Ruby the Hard Way, Learn to Program, Learn Rails by Example, Tutorial Ruby on Rails, Guías de Ruby on Rails, Guía Why’s (conmovedora) de Ruby, Ruby Essentials

PHP

Sitios: Codecademy, Treehouse, SoloLearn, Sitepoint

Libros: programación PHP, PHP práctico, programación fuera del horario laboral – Tutorial PHP

Node.js

Sitios: Nodetuts, Node School

Libros: el libro para principiantes del nodo, el libro del nodo de Mixu, el nodo en marcha y el dominio, Mastering Node.js

Git (control de versiones)

Sitios: Code School, Git Immersion, Udacity

Libros: Pro Git, Learn Git, Gists in Github

Herramientas de desarrollo de Chrome

Sitios: Código escolar, Udacity

Java

Sitios: SoloLearn, Treehouse, Java Udemy, Learneroo, Udacity: Introducción a la programación Java, Universidad de Helsinki: Programación orientada a objetos con Java

Libros: Programación en Java, O’Reilly Learning Java, Think Java, Java for Python Devs, Learn Java Online, Java Beginners Tutorial, Study Tonight: Core Java Complete Course

Desarrollo de aplicaciones para Android

Sitios: Udacity (Google Developers), Coursera, App Development Essentials

Google Apps Script

Sitios: Primeros pasos, horario de oficina, script de aplicaciones de aprendizaje

WordPress

Sitio: Treehouse, Sitepoint

Scripting de Linux y Shell

Sitios: Stanford.edu, Explique Shell

Libros: conquistar la línea de comando

JS angular

Sitios: Code School, Egg Head, Learn Angular, Codecademy AngularJS Track (adecuado para desarrolladores intermedios de Javascript)

Libros: Angular JS Tutorial, Thinking Angular, Angular Tutorial, Getting Started (Adobe), Angular JS blog series, AngularJS Cheat Sheet

Objective-C (iOS y Mac)

Sitios: Stanford, iTunesU

Ir idioma

Sitio: Golang.org

Libros: Ir con el ejemplo, crear aplicaciones web con Go, Learning Go

D3 (visualización de datos)

Sitios: visualización de datos para la web, consejos y trucos D3

SQL (bases de datos)

Sitios: SoloLearn, SQL Zoo, SQL @Stanford, SQL esencial, SQL for Nerds, Introducción a SQL, Bolt de SQL, PHP y MySQL, Khan Academia: Introducción a SQL

Si conoce otros sitios web útiles, sugiéralos en la sección de comentarios y los agregaré a la lista. Estoy particularmente buscando cursos y libros electrónicos gratuitos en C y C ++ y agradecería su ayuda.

Gran consejo de Abhinav Tomar, así que solo agregaré a eso.

Práctica práctica práctica. Puedes pasar horas estudiando y salir un poco más listo para ello. O puede pasar esas mismas horas programando y salir con muchas preguntas para que, cuando estudie, entienda lo que aprende. Así que no se concentre en estudiar solo, haga mucha programación.

La parte difícil es decidir exactamente qué desea construir con el software. Tómese ese tiempo para tomar una sabia decisión sobre lo que desea crear, luego compílelo, ya sea un sitio web, una aplicación o una biblioteca de herramientas de software que haya deseado.

La gente parece preguntarse acerca de un aspecto de la programación: “Si puedo ganar un buen dinero como programador, ¿por qué es casi gratis aprender?” La respuesta es que no todo el mundo tiene un buen desempeño en la programación y, en realidad, solo algunos de los que persisten en realidad consiguen un trabajo donde ganan un buen dinero. Es como decir: “Si los jugadores de fútbol ganan tan buen dinero, ¿por qué es gratis aprender a jugar fútbol?” Solo * algunos * jugadores de fútbol llegan a ese nivel. Hay muchos programadores que lo hacen por diversión o para ganar un poco de dinero extra vendiendo aplicaciones en la tienda de aplicaciones o creando sitios web. Para convertirlo en una carrera lucrativa, necesitará una aptitud para ello y dedicarse a mucha práctica.

Pero es una carrera gratificante y divertida.

El viaje de aprendizaje de programación / codificación se puede dividir en las siguientes fases:

FASE 1 : Hay muchos sitios web buenos en Internet para aprender conceptos básicos. Prefiero https://www.tutorialspoint.com/

FASE 2: Una vez que se sienta cómodo con los conceptos básicos, puede comenzar desde la programación básica utilizando IDE (Integrated Development Environment) / Compiler, según corresponda.

También será muy útil comprender el IDE / Compilador. Si puede entender los mensajes de error / advertencia de IDE / Compiler, es probable que tome menos tiempo para depurar errores / errores de compilación.

FASE 3: El siguiente nivel es que puede comenzar a asistir a cuestionarios en línea / exámenes en línea / simulacros en línea. (Nuevamente, https://www.tutorialspoint.com/ ofrece pruebas en línea gratuitas para algunos de los lenguajes de programación).

La duración de cada una de las fases será específica para cada persona. No es necesario sentirse mal si el puntaje de la prueba simulada es bajo. El objetivo debe ser aprender de los errores.

FASE 4: Programación competitiva : puede visitar sitios web como TopCoder, HackerRank y CodeChef.

“La práctica será la clave del éxito”

Recomendaría aprender PHP primero, junto con Alice 2.4, ya que aprender Alice al mismo tiempo te dará un descanso cuando PHP se vuelva frustrante y te enseñe conceptos importantes.

Alice 2.4 está disponible de forma gratuita y es de la Universidad Carnegie Mellon. Descárguelo e instálelo. Está disponible para Windows, pero también puede estar en otros sistemas.

PHP también es gratuito y está disponible con XAMPP, que también necesitará (o un equivalente como WAMP) si aún no tiene un entorno de alojamiento para sitios web como HostGator, GoDaddy, EC2, 000freewebhosts (o lo que sea), etc. Si ya tiene alojamiento web con PHP, averigüe qué versión usa y ya está listo. Si necesita ir a la ruta XAMPP, descargue el archivo .exe de instalación y ejecútelo. Hay tutoriales disponibles si tiene problemas, pero esto debería ser sencillo.

A continuación, descargue Atom, Brackets (mi favorito), Sublime Text o Notepad ++, solo para facilitar las cosas. Puede usar el bloc de notas de Windows, pero deseará no hacerlo más adelante, ya que no lo ayuda con nada. Aquí es donde escribirás tu código.

Ahora, dado que tiene tanto Alice como su entorno PHP instalado, es hora de aprender algo en ellos. No te sientas tan asustado. Va a tomar mucho tiempo aprender cualquier idioma, pero puede tomarse su tiempo y hay ventajas para este tipo de trabajo, así que sea paciente (esto es muy importante).

Para PHP:

  • Vaya a Codecademy: aprenda a codificar, interactivamente, de forma gratuita, lo que le permite aprender PHP directamente en su navegador. Lo que descargaste anteriormente es solo para que puedas hacer tus propias creaciones y ver cómo programarás profesionalmente. La mayor parte de su aprendizaje se realizará en este sitio web, y no se necesita ningún libro.
  • Siga las lecciones PHP de codecademy, y cuando se aburra de Codecademy y se sienta lo suficientemente cómodo como para comenzar, escriba sus propios archivos .php. También puede aprender el curso HTML de codecademy, que lo ayudará a crear páginas web de mejor aspecto, ya que PHP realmente no trata con el diseño de la página (principalmente solo el texto que está en ella).

Para Alicia:

  • Mire a su alrededor y vea lo que puede hacer. No se sorprenda si la mayoría parece críptica, porque lo será al principio.
  • Pruebe tutoriales en el sitio de Carnegie Mellon (agregaré un enlace más tarde, pero no debería ser difícil de encontrar).
  • Compre un libro sobre Alice 2.4, ya que lo necesitará para aprender completamente los conceptos de programación que le enseñará (no es tan explicativo como PHP y no hay tanta documentación en la web además de lo que tiene Carnegie Mellon, o de lo contrario sería más fácil de aprender). Publicaré una actualización con el nombre de un buen libro más tarde, así que vuelva a consultar si aún está interesado. Sin embargo, no esperes.
  • Esto parecerá que no tiene sentido, pero le aseguro que verá que sí. Solo tomará un tiempo, pero me lo agradecerás más tarde.
  • Diviértete y ve si puedes hacer un juego. Un juego pequeño debería ser bastante fácil. Sin embargo, asegúrese de explorar cosas de nivel superior como funciones, clases, parámetros y objetos. Este es el punto.

Esto es todo lo que necesita para aprender programación, aunque requiere mucho trabajo de su parte. Sin embargo, nada que valga la pena aprender es fácil. Sé que esto funciona porque así es como aprendí.

En mi opinión, no necesitas ir a la escuela para aprender programación. Eso incluye el campo de entrenamiento universitario y de codificación. No es tan difícil de aprender solo. Ahorre su dinero.

La clave para aprender a programar es la práctica . Montones y montones de programas de escritura práctica. Ninguna escuela, campo de entrenamiento ni curso en línea te acompañará mientras pasas años practicando.

Pero antes de comenzar a practicar, debe aprender los conceptos básicos de programación. Puede hacerlo por su cuenta o, si lo desea, a través de un curso en línea gratuito. Sin embargo, para un buen lenguaje de enseñanza, como Smalltalk , realmente no necesita un curso en línea. Un buen lenguaje de enseñanza será muy simple y fácil de aprender. Presentará los conceptos básicos de manera muy clara y limpia sin distracciones.

Vea la respuesta de Richard Kenneth Eng a ¿Cuáles son los lenguajes de programación más fáciles de aprender para principiantes?

Puedes unirte a cursos en línea gratuitos para programar como Cursos | Udacity, | Codecademy para desarrollar su interés de programación.

Consulte también GeeksforGeeks | Un portal informático para geeks para un conocimiento conceptual más bueno y avanzado.

También puede practicar o controlar su crecimiento en HackerRank y Practice Programming | CodeFights.

¡Feliz aprendizaje! 🙂

Para el primer idioma, le sugiero que comience con Python porque es más fácil de leer y puede comenzar de inmediato. Obtenga un editor de texto, aprenda algunos conceptos básicos de cualquier libro tutorial (los libros de O’Reilly son una mejor guía) y comience a escribir programas. Escribir pocos programas puede darle la confianza para seguir adelante.

Bienvenido a Python.org

Configuración de Python | Google for Education
El | Desarrolladores de Google

Aquí hay algunos cursos gratuitos que cubren los conceptos básicos:

  • Introducción a la informática del MIT (un poco más difícil que la mayoría, pero cubre básicamente toda la programación que necesitará para comenzar)
  • Clases de programación de Udemy
  • Code Academy de Google (una introducción concisa a Python)

Feliz aprendizaje !.

Comience por desarrollar la mentalidad correcta.

Lista multimedia para programadores nuevos y antiguos y otros solucionadores de problemas

Algunos libros:

Internet victoriano

El alma de una nueva máquina

El mes del hombre mítico

Longitud

Parpadeo por Malcolm Gladwell

La breve historia de casi todo – Bryson

Y algunas peliculas

El juego de imitación,

Apolo 13

Figuras ocultas

Algunos episodios de TV disponibles en You Tube

El viejo programa de noticias – Nightline – El episodio del carrito de compras donde desafían a una compañía llamada Ideo a rediseñar y repensar el humilde carrito de compras.

Un par de artículos de revistas:

Escriben las cosas correctas: una pieza de 1990 en el software del transbordador espacial

Código como diseño: tres ensayos de Jack W Reeves.

E incluso algo de ficción

El sabueso de los Baskerville – Arthur Conan Doyle

La luna es una amante dura – Robert Heinlein.

Algunas luminarias para estudiar

Ada Lovelace

Alan Turing

Grace Hopper

Margaret Hamilton

—- El código fuente del Sistema de Orientación del Lunar Lander que está disponible de forma gratuita y pública en Internet como un proyecto conjunto de la NASA y Google para el 50 aniversario del aterrizaje lunar de Armstrong y Aldrin.

Hola, si quieres aprender a codificar desde cero, entonces hay varios recursos disponibles para ti en la web.

Aquí hay una lista:

  • w3schools
  • thenewboston
  • Codecademy
  • edX (el curso es gratuito pero la certificación no)
  • Y finalmente recomendaría un trabajo inteligente e investigar un poco más sobre cómo simplificar lo que aprende de Pinterest y algunos libros complejos.

Como dicen, el camino difícil es más fácil.

Salud.

Depende de cuál es tu objetivo final.

Si no tiene un objetivo específico con límite de tiempo y solo desea familiarizarse con la programación, le recomendaría comenzar con Python. Compre un libro o inscríbase en el curso para comenzar. Internet está lleno de recursos, si la lectura es aburrida para ti, recurre a YouTube. Intente obtener una suscripción gratuita de pluralsight n vea si puede completar un curso de nivel principiante.

Intenta escribir algunos programas por tu cuenta. Esto debería darte confianza. Lentamente, puede participar en sitios web en línea como leetcode para perfeccionar sus habilidades.

Si la razón de su atracción por la programación fue la web, puede elegir Javascript como su primer lenguaje de programación. Ni siquiera necesita editor o instalación de s / w para js. El navegador tiene todo lo que necesitas.

Puede elegir el lenguaje de programación con el que desea comenzar, por ejemplo, C ++, C #, Java, etc. Encuentre el libro para ese idioma para que lo lea y comience a practicar con ejemplos y actividades simples que se dan en el libro. Para Java, puede usar el libro “Dietel, H. & Deitel, P. (2012). Programación de Java: versión internacional (novena edición). Pearson Education, ISBN-10: 0-13-257566-3, ISBN-13: 978-0-13-257566–9 ”

¿Qué desea graficar? Existen aplicaciones web, sitios web, aplicaciones móviles, aplicaciones de escritorio, etc.

Si está interesado en el desarrollo web, puede aprenderlo de los tutores en vivo en Welcome – Dwellupper IO. Puede enviarme un mensaje para obtener más información o acceder a nuestro portal y dejarnos sus datos de contacto en nuestra dirección de correo electrónico. Puede encontrar información del curso junto con la información de contacto aquí: Capacitación en vivo de PHP – Dwellupper IO.

No sé nada sobre programación o codificación. De donde empiezo?

Puedes hacer lo que hice. Compré una compañía de computadoras que tiene 30 programadores en India y obtuve acceso al programador principal para obtener lo que quería hacer. Luego vendí mi parte.

Todavía no puedo programar ni codificar, pero mi sistema de farmacia hace casi todo lo que quiero. Además, todavía puedo llamar al chico principal cuando quiera.

Apenas puedo escribir en inglés y es mi lengua materna. ¿Qué posibilidades tenía de aprender un idioma o idiomas de computadora?

Comience con algo simple para que pueda ver si la programación es para usted. Aquí hay un libro gratuito que podría ayudar:

Introducción a la programación con Xojo

No dependas de las decisiones de otros. Tome su propia decisión leyendo buenos artículos, libros y mejor vaya a estos sitios web una vez que los mejores sitios web para aprender programación donde puede obtener un buen conocimiento sobre qué sitio web proporciona qué curso, material y certificación.

Tuve el mismo problema al saber por dónde empezar. He aprendido a codificar a un nivel básico ahora, ya que puedo hacer un buen sitio web que use un marco de ruby ​​on rails para poder hacer cosas como tener sesiones de chat activas, listas de correo elegantes e incluso puedo tomar pagos en efectivo si lo necesito a. Aprendí esto en dos años de estudiar gratis en línea. Encontré que este sitio es increíblemente útil: Bento: aprende a codificar y sé un desarrollador experto autodidacta, ya que tiene pistas para que sigas y aprendas. Es simplemente un sitio de enlaces avanzado y uno que rastrea su progreso en el seguimiento de esos enlaces, pero lo encontré muy útil.

En cuanto a dónde comenzar, el lugar más simple es el comienzo. Aprenda exactamente cómo funciona una computadora y luego cómo funciona Internet. A partir de ahí, pasa a tu primer lenguaje de codificación html y es una hermana CSS menos atractiva pero más glamorosa y crea un sitio de blog como práctica . Una vez que haya ordenado estos dos, entonces arregle su sitio con una codificación adecuada aprendiendo y usando JavaScript . Una vez que se haya acostumbrado a eso, el siguiente paso es obtener un lenguaje y un marco de back-end en su haber: utilicé Python porque me traje una pi de frambuesa porque se veían increíbles. Finalmente, también aprendí ruby y ruby-on-rails porque había escuchado que era bastante intuitivo una vez que lo aprendiste.

Vaya a los Tutoriales web en línea de W3Schools y comience a aprender Python, uno de los idiomas más fáciles para empezar.

ok la mejor manera ..

  1. campo de código libre (desarrollador web front-end.
  2. udemy para ayudar con más proyectos para front end
  3. udacity si está interesado en otra área de programación …
  4. termina los cursos que comienzas y estarás en camino
  5. hacer un poco de código cada día

Para obtener una respuesta a esta pregunta y más, vea mi perfil y las muchas respuestas que Iv’e ya escribió que cubren esta pregunta.