¿Cuáles son tus consejos para alguien que está empezando a programar?

Trabajo en la Escuela de Ingeniería de Software de Holberton en San Francisco, donde he visto un entorno donde 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 mentores crean algunos ejercicios y proyectos 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
  • Poder aprender por ti mismo
  • 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 un sistema complicado compuesto de muchas tecnologías y partes: frontend, backend, base de datos, servidor web, red … Por ejemplo: cambiar una consulta en el frontend afectará a la base de datos si el desarrollador no tiene idea de cómo funcionan las bases de datos. podría traer el sitio hacia abajo.

Es por eso que primero debe aprender un mínimo acerca de lo que llamamos la pila, mientras que cada uno tiene su propia definición de 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 networking.

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

Poder aprender por si mismo

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 que cambian más rápidamente, por eso necesita actualizar constantemente la aplicación de su teléfono inteligente y que sus sitios web favoritos traigan constantemente una mejor experiencia y características.

En este contexto, los ingenieros de software necesitan constantemente evaluar y quizás aprender nuevas herramientas que les ayudarán a hacer su aplicación más rápida, mejor y más confiable. Los nuevos lenguajes de programación y las bibliotecas vienen constantemente y uno no puede regresar a la universidad cada vez que surja 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 puedas aprender por ti mismo.

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
    • Ayudando a un compañero de trabajo en un proyecto
    • A bordo de un recién llegado
    • Saber cuándo preguntar
  • Espíritu de equipo
    • Entendiendo a otros compañeros de trabajo
    • Fomento de la colaboración con otros equipos (si es en una gran empresa)

No se puede imaginar cómo el ser amable con las personas y ayudarlas a hacer su trabajo les traerá mucho más. Recuerda que para una empresa, si haces bien tu trabajo, eres un 1X. Pero digamos 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 obtener 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!

Simplemente empieza a aprender , no pienses nada más. Comienza a aprender la sintaxis y practica tanto como puedas. La práctica constante creará una buena aptitud de programación. No puede desarrollar habilidades de programación en un solo día, necesita paciencia y práctica constante.

También intente Estructuras de datos y algoritmos, esto le ayudará a pensar de manera diferente. Hay muchos libros buenos, cursos en línea o tutoriales gratuitos para aprender sobre la sintaxis. Algunas fuentes gratuitas son:

  1. Codecademy – aprende a codificar, interactivamente, gratis
  2. MIT Open Courseware
  3. Tutoriales en línea de W3Schools en línea
  4. Aprende Python de la manera difícil
  5. academia Khan
  6. Código de los vengadores | Código de los vengadores
  7. Tutoriales para Kubernetes, Spring JDBC, Java Concurrency, Spring AOP, Gerrit, Spring MVC, Apache Solr, Excel Power View, Sencha Touch, Comandos de Tex, Agile Tajo, C ++ Library, MariaDB, SAP QM, SAP SOLMAN, SAP SCM , MS Access, KoaJS, OAuth2.0, Scrapy, SAP CCA, SAP PM, SAPUI5, Cognos, Internet de las cosas, Mercadeo rural, Trampolining, Golf, CakePHP, SAP EWM, Web Dynpro, Angular2, Framework7, Arduino, CherryPy, Firebase , SAP C4C, SAP Dashboard, SAP PI, ExpressJS, Design Thinking, Internet Security, PyGTK, Apache Drill, Excel Charts, Elastic Search, Seguridad informática, Programación extrema, Comportamiento impulsado, Optimización de la tasa de conversión, SAP Basis, Business Law, Kanban , Erlang, SAP Payroll, ASP.Net WP, PouchDB, MFC, SAP HR, Yii, Clojure, Aurelia, CoffeeScript, CPanel, Laravel, SAP Webi, MS SQL Server, pinterest, Indian Polity, Teradata, Windows10

Resuelve tantos problemas como puedas, practica mucho. Es posible que hayas escuchado la línea La práctica hace al hombre perfecto. Así que practique, pruebe HackerRank, HackerEarth – Desafíos de programación y trabajos de desarrollador o Codechef para Desafío de programación.

Disfrutar 😀

Comience a aprender algunos idiomas mal escritos como el lenguaje C o JavaScript, por ejemplo. Evite algunos lenguajes orientados a objetos de gama alta, aunque OOP es algo que puede decirse que es el corazón de la programación, pero a nivel de principiante, debe evitar los lenguajes de gama alta como JAVA y otros.

  • Aprenda sobre la arquitectura del cliente y el servidor y los idiomas para eso.
  • Use el buen libro disponible en el mercado o la serie de videos (el más reciente, ya que muchos de ellos están desactualizados) para aprender esto en lugar de los tutoriales en línea, ya que a continuación encontrará que tendrá un conocimiento más profundo del monstruo contra el que está luchando.
  • Comience con los programas de impresión básicos con declaración de variables y operaciones aritméticas básicas y problemas de cadenas.
  • Intente resolver algunos programas de resolución de patrones, como imprimir patrones de * o algo en la consola que le hará comprender los bucles y el anidamiento de los bucles, etc.
  • Aprenda las estructuras de datos y su implementación en su idioma, como matrices y colecciones.
  • Realice algunos programas básicos como Palindrome e incluso de forma extraña, etc. Encontrará toneladas de dichos programas en sitios tutoriales como w3resource, Your Online Code Lab, el sitio web número 1 para desafíos de codificación, Exercism.io: tutoría de código de origen público.
  • Profundizando, trate de encontrar algunos problemas de la vida real (ya que el problema anterior solo lo ayudará a aprender a bucear en el estanque, pero los problemas reales son como el Mar) e intente resolverlo. Aprende a reducir el código repetido mediante el uso de funciones.
  • Si estás aprendiendo lenguaje / framework del lado del servidor
    • Después de los conceptos básicos de lenguaje ir para una operación avanzada.
    • Conozca las conexiones de base de datos y la gestión de datos con la base de datos.
    • Aprenda sobre el manejo de la solicitud y el envío de las respuestas.
    • Aprenda las operaciones de entrada y salida de archivos.
    • Aprende poco de redes.
  • Si estás aprendiendo lenguaje / marco del lado del cliente
    • Aprende lo básico de HTML y CSS y crea páginas básicas con eso.
    • Comprenda DOM y aprenda todo sobre él: relaciones (CSS), manipulaciones (bibliotecas similares), eventos, etc.
    • Aprende Jquery o el marco de manipulación DOM similar.

    Hola !! No voy a decirte cosas o consejos que quieras escuchar y eso podría hacerte sentir mejor en vez de que te muestre una imagen más grande. Nunca busqué un título de CSE, IT o BCA, lo aprendí por mi cuenta. Tendrá que invertir mucho tiempo, ya sea que lo aprenda por su cuenta o de alguien o que se una a un instituto. Prefiero sugerirte que aprendas por tu cuenta, lo que tendrás que hacer eventualmente.

    Aprender vocabulario como lo que son declaraciones o expresiones o consola o sintaxis? Empieza por eso. Únete a cursos pagados en línea. Hay pocos sitios web que te ofrecen excelentes rutas de aprendizaje. Y luego elegir un idioma.

    Esta podría ser la parte más difícil. Como hay tantos idiomas, ¿por dónde empezar? La programación tiene muchos aspectos, pero los más famosos son “Back-end” y “Front-end”.

    La programación de back-end se ocupa de lo que sucede detrás de la escena, como servidores o API, o la persistencia de datos y todo eso. Hay muchos grandes lenguajes de programación de back-end y todos los lenguajes tienen sus propios beneficios y ventajas, pero no importa cuál elijas. Todo lo que debes hacer es quedarte con uno que te llame. Recomiendo encarecidamente comenzar con Ruby o Python. o Quizás incluso C. Ruby y Python tienen sintaxis sencillas, son fáciles de leer y se parecen mucho a leer en inglés. Sin embargo, son extremadamente poderosos. Y tienen como la mejor comunidad de todas.

    También existen otros lenguajes de programación de back-end, como Java, C #, PHP, etc. Pero creo que lenguajes como Java pueden ser un poco abrumadores al principio para los principiantes. Pero eso no significa que no sean grandes, son impresionantes. De hecho, Java es muy maduro y está estabilizado y es muy popular, incluso Android ha hecho de Java su idioma principal. Pero aún comenzaría con Ruby o Python si fuera tú.

    Los lenguajes de programación de front-end son los idiomas que se representan en el navegador. Y se utilizan en la ruta de desarrollo web. El desarrollo web es genial y bastante divertido. Si quieres comenzar con el front-end, comienza con HTML5. Es realmente simple y divertido para andar y realmente fácil de aprender. Y luego pasar a CSS3, cuando haya terminado con HTML5. CSS3 ayuda a los desarrolladores con páginas web de estilo. y luego pase al lenguaje más importante de todos los llamados “JavaScript” (no debe confundirse con Java). Solo comparten una parte del nombre de “Java” y eso es todo. La combinación de CSS3, HTML5 y JavaScript lo convierte en un desarrollador web front-end.

    Ya sea que seas un desarrollador de aplicaciones para el usuario o un desarrollador de servicios de fondo, habrá un momento en el que tendrás que aprender de los dos lados del desarrollo, si eres serio acerca de tu carrera como desarrollador. No importa qué idioma aprendas, tendrás que perfeccionar uno, y cuando lo hagas, te darás cuenta de que todos los idiomas son prácticamente iguales, es solo la sintaxis que distingue uno del otro.

    Hay otros caminos por ahí como DBA (Administración de base de datos), Control de calidad (QA) , Desarrollador en la nube , Desarrollador de aplicaciones móviles, etc. Y sí, puedes sacarlos todos por encima de los caminos pero aún tienes que perfeccionar ese idioma para moverte. ellos Así que sí, sigue aprendiendo y el trabajo duro dará sus frutos, estoy bastante seguro de eso. ¡Buena suerte!

    ¡Feliz codificación!

    Renunciar por el momento.

    Si estás trabajando en algo y te topas con una pared de ladrillos no puedes romper. Renunciar, hacer algo más que es divertido. Está bien. Incluso los profesionales lo hacen. Lo hago y muchas veces. Usted se sorprenderá de lo que una noche de sueño puede resolver.

    Luego, un día volverá a un problema que no pudo resolver y lo resolverá en cuestión de minutos.

    Irónicamente, no llegarás si sigues resolviendo un problema que no puedes resolver porque te enfermarás y cansarás y te rendirás para siempre.

    No te orientes a resultados sino a encuentros . Estás aprendiendo y no tienes obligación de producir un producto.

    Cómo aprender a programar

    Esta es una publicación de blog que hice que es esencialmente una copia de la respuesta de Quora que hice, sin embargo, fue más fácil obtener el enlace del blog que la de Quora. : p Tiene muchos consejos y explicaciones de por qué sugiero esas cosas también.

    Otros consejos básicos:

    • Espera aprender a tomar un tiempo
    • Haga un punto para aprender a programar , no a Java, C #, Python o cualquier lenguaje en particular
    • En serio, no vas a crear una aplicación asesina pronto. Tomará un tiempo aprender, especialmente si te estás enseñando a ti mismo.
    • Si ha elegido un idioma de inicio, encuentre algunos recursos en línea para aprenderlo de forma gratuita o si está dispuesto a gastar dinero, intente buscar los libros más sugeridos para ese idioma.
    • Lee esa entrada del blog. Tiene buenas cosas.

    Empieza con algo simple: me gusta Python,

    El idioma exacto realmente no importa (creo que Python fue mi quinto)

    Luego agregue otros idiomas y mire las similitudes y diferencias.

    Realmente estás tratando de entender los diferentes conceptos / abstracciones involucrados.

    Necesitas practicar muchos pequeños programas para probar cosas. Aprenderá más sobre lo que no funciona que al copiar código de trabajo de los ejemplos.

    No estoy respaldando lo siguiente, pero parece golpear los puntos más destacados:

    7 consejos fundamentales para aprender a programar desde cero

    Acostúmbrese a la idea de que la computadora le dirá que su código es incorrecto . El objetivo al final de la programación no es evitar estos errores, sino abrazarlos. Aprende de ellos. Y sí sabrás cómo evitarlos eventualmente.

    Hay tantas maneras en que te dirá que está mal. Vas a ver errores todo el tiempo. Pero al aprender a leer esos errores (en su mayor parte), aprenderá a mejorar. Los libros te muestran cómo caminar una línea fina. Yo diría que un libro le mostrará lo que es correcto. Luego tomaría eso y rompería tu programa solo para ver qué pasa.

    Primero debe determinar qué quiere hacer si solo quiere jugar con el código, luego cualquier lenguaje de programación debería hacer el trabajo, pero si desea un idioma específico para un trabajo específico, simplemente búsquelo en Google.

    Segundo, necesitas equilibrar la teoría y la práctica. No solo leas libros, necesitas un campo de juego para practicar tus habilidades como código, hackerrank, etc.

    Por último, si ingresa algún error o problema, quora o stackoverflow siempre le dará la bienvenida.

    Usa una plantilla.

    No eres genial solo porque usas vim.

    A veces es mejor empezar desde cero.

    Si ha pasado horas en su código, todo es perfecto y arroja un error, es un punto y coma. Siempre es un punto y coma.

    Espero que seas bueno en Where’s Waldo ;

    Intente alterar un programa favorito (naturalmente, uno que sea de código abierto) antes de compilarlo desde cero. Solo leyendo el código, para descubrir dónde hacer los cambios, te enseñará cosas; y si su cambio es un objetivo alcanzable, tendrá algo útil en su haber, más que “Hola, mundo”.

    Vea la respuesta de Richard Kenneth Eng a ¿Aprender Python me haría un buen trabajo?

    Básicamente, estoy diciendo que comience con un gran lenguaje de instrucción y concéntrese en desarrollar sus habilidades analíticas y de resolución de problemas.

    Si eres autodidacta, un factor importante a considerar es la motivación. No puedes mantenerte motivado para programar a diario si no disfrutas en lo que trabajas, si no te desafía en tu nivel de habilidad actual. A pesar de sus mejores esfuerzos, sus primeros proyectos no serán nada sofisticados , solo encuentre algo que esté fuera de su alcance y tenga en cuenta.

    1) Diviértete – asegúrate de seguir divirtiéndote.

    2) Sé un profesional: asegúrate de defender la calidad.

    3) Mira hacia adelante: asegúrate de saber dónde quieres estar en 5 años.