¿Dónde aprende a ser un desarrollador de pila completa, desarrollador de iOS, etc.?

Al convertirse en un desarrollador de pila completa (esto se convirtió en un ensayo):
Personalmente, aprendí cómo ser un desarrollador de pila completa al ser primero un pasante en desarrollo y luego cambiar a operaciones. Tuve la suerte de conseguir un trabajo con una pequeña startup que tenía un suministro interminable de tareas que tenía que hacer, durante un momento de mi vida cuando estaba dispuesto a trabajar constantemente.

Al ser contratado: creo que tener algún tipo de cartera no académica debería ayudar mucho, pero aparte de eso, no sé con certeza sobre las entrevistas para los puestos de nivel de entrada. Obtenga una pasantía si puede, o algún tipo de tutoría. Las reuniones locales son probablemente un buen lugar para buscar.
Los empleadores pueden pedirle que responda preguntas como “escribir un tamiz principal que implemente un tipo de burbuja” si quieren talento que puedan entrenar, y preguntas como “crear una de las tres aplicaciones web de muestra” o “escribir un script bash y declaraciones de tablas SQL para este escenario de prueba “si quieren a alguien que pueda producir un buen código y que esté comprometido con la entrevista.

Si quieres ser un desarrollador full stack, puedes comenzar a construir un sitio web ahora mismo. Lo mejor para construir es algo que encuentre útil o interesante.
Una hoja de ruta simple podría verse así:
1. Vaya de adelante hacia atrás: comience con WebKit, cree algo estático, quizás use firebase como almacén de datos
2. agregue un servidor pequeño como bottlepy o un servidor de nodo y agregue un poco de lógica de inicio de sesión / usuario
3. Agregue una base de datos sqlite y reemplace firebase
4. reemplace sqlite con una base de datos local PostgresSQL
5. agregue iterativamente rutas y páginas

Eso requeriría que constantemente busque nuevas tecnologías en Google, cree un flujo de trabajo, aprovisione e interactúe con una base de datos relacional, etc. También le tomaría mucho tiempo.

Diría que el flujo de trabajo es probablemente lo más importante para cultivar como desarrollador. Es más difícil cultivar en una máquina con Windows, porque la mayoría de las herramientas de programación están diseñadas teniendo en cuenta Unix. Mi flujo de trabajo personal está centrado en la línea de comandos y vim: no recomendaría profundizar en esas artes arcanas hasta alrededor de 2 o 3 arriba, pero la línea de comandos es vital para un desarrollador de stack completo a largo plazo.

Por lo general, durante la programación, estableceré un objetivo, copiar / pegar el código que creo que servirá como plantilla, luego escribiré la solución, tabulando y buscando soluciones en Google cada vez que mi sintaxis sea incorrecta o no conozca la biblioteca / método usar. Luego, si estoy de buen humor, refactorizaré la solución de trabajo hasta que “se sienta” idiomática y fácil de leer.

Además, como programador, siempre debe estar listo para aprender nuevas tecnologías, pero puede que no sea del interés de su empleador. Si eres un experto en SQL, no querrán pagar para aprender diseño web con SASS. Actualmente estoy trabajando en mi primer juego de iOS, y tiene muchos aspectos extraños, aunque soy competente en Java, Python, Bash, Javascript, Clojure. Los aspectos extraños provienen menos del lenguaje (aunque lidiar con la interoperabilidad Obj-C / Swift no es nada fácil), y más del cambio de contexto a xcode, una tecnología de flujo de trabajo enorme totalmente contraria a mi flujo de trabajo vim típico.

Muchos cursos en tu escuela darán forma a tu forma de pensar sobre el código. Si puede, tome cursos tanto en C como en Lisp / Scheme. El código de bajo nivel / Sistemas operativos y teoría / lógica simbólica (los ideales representados por esos lenguajes) pueden no ser vitales para el tipo de trabajo que realice en el futuro, pero si considera la programación como una disciplina más allá de su carrera, ellos ‘ Re inmensamente importante.

Personalmente obtuve mi título de informática de 4 años antes de convertirme en desarrollador web profesional. Un par de cosas:

Obtener un título de CS le enseñará cómo programar en una variedad de lenguajes de programación. Estos idiomas pueden o no incluir idiomas web / idiomas iOS, pero lo que le enseñará es cómo pensar a través de problemas de codificación y algoritmos que se pueden aplicar a cualquier tipo de lenguaje de programación, incluido el desarrollo web.

Dicho esto, obtener un título de CS no es necesario para ser un desarrollador, aunque lo recomendaría si desea un plan de estudios diseñado, o si algún día quiere un trabajo en una corporación más grande.

Si está interesado en algo específico como el desarrollo web o el desarrollo de iOS, hay muchos tutoriales y comunidades en línea que pueden enseñarle cómo hacerlo.

así que supongamos que cuando alguien se gradúa con un título de CS de 4 años, ¿puede comenzar directamente a crear sitios web y aplicaciones o cómo funciona?

No necesariamente, pero debes graduarte con las habilidades para aprender y los idiomas por ti mismo si no los aprendiste en la universidad.

¿Las empresas contratan a recién graduados y luego los capacitan nuevamente para ser un desarrollador específico o cuando publican para un trabajo como desarrollador completo, dónde esperan que aprendamos esas habilidades?

Esperan que tenga al menos la mayoría de las habilidades para el trabajo antes de postularse, con un margen de maniobra para los recién graduados universitarios.

Por lo general, una empresa esperará que tenga experiencia demostrada en el idioma para el que está contratando. Hay un par de excepciones, ya que hay empresas que prefieren educar a los desarrolladores en sus propias prácticas, pero en general, se espera que conozca el tema de su trabajo lo suficientemente bien como para ser productivo desde el primer día.

Los títulos de CS no son necesarios, y de hecho no todos los que se destacan en informática serán excelentes en programación (o viceversa). Los conocimientos y habilidades estudiados en CS son útiles, pero a menudo abstractos. Por ejemplo, pasará mucho tiempo estudiando algoritmos y, en general, el desarrollo completo de la pila, probablemente no mucho tiempo escribiéndolos. La mayor parte del tiempo en nuestra tienda, donde desarrollamos aplicaciones y sitios web, se dedica a tratar conceptos generales de programación (variables, conmutadores, colecciones), integrando SDK existentes, diseñando aplicaciones y utilizando bases de datos.

Si su objetivo es trabajar en dispositivos móviles o web, debe aprender los idiomas de las plataformas que le interesan. Esto podría ser Java, Objective-C o Swift, Javascript, Ruby o Go, por nombrar algunos que usamos comúnmente.

Puede tomar cursos en línea, en persona o clases en estos idiomas si su escuela los ofrece. Una vez que tenga un dominio básico, publique su trabajo: cree una cartera de sitios web o aplicaciones. Síguelo.

Una vez que tenga algo de trabajo para mostrar, puede solicitar pasantías, continuar ganando experiencia y luego para trabajos de desarrollador jr. Estarás bien posicionado.

La otra respuesta aquí es fantástica. Una cosa que agregaría para hacer es obtener una experiencia previa con lenguajes más fáciles de aprender como python, php y java. Obtenga una buena idea de los objetos y cómo se ejecuta un programa. Recomiendo Codeacadmey.com

En la universidad te enseñan cosas básicas, y creo que esta es la buena manera de entender lo que está sucediendo paso a paso.
El verano es el mejor momento para practicar después de conocer cosas nuevas y profundizar en lo que quieres ser, puedes trabajar en una pequeña empresa, aprender cómo lidiar en el trabajo cómo se comportan en tal situación …
Por lo tanto, debe hacer tal proyecto usted mismo, la universidad no le dará todo lo que necesita, pero le dará el “Pasaporte” y luego la dirección depende de usted
Buena suerte !

More Interesting

¿Recomendaciones para el desarrollo de iOS en Nueva York (independiente o de otro tipo)?

¿Cuáles son los marcos más populares / mejores utilizados para el desarrollo de iPhone?

Cómo ir de un campo de texto a otro en xcode

¿Es realista iniciar mi aplicación iOS en Parse y luego, una vez que esté disponible para los usuarios, empiezo a desarrollar un back-end si es necesario si hay crecimiento?

¿Qué significa un guión bajo en Swift?

¿Cuáles son los idiomas comunes utilizados para el desarrollo de iPhone?

Estoy tratando de decidir si construir una aplicación de Facebook en Flash y luego construir un cliente nativo de Iphone, o si debo construir la aplicación en HTML5 / Javascript para que pueda funcionar desde un iPhone. ¿Qué cosas debo considerar?

Si quiero agregar una descripción de la aplicación para la tienda de iOS en, digamos, japonés, ¿también necesito traducir y localizar de manera más general una aplicación de idioma inglés al japonés?

¿Cuánto cuesta construir y mantener una aplicación como Uber u Ola (Android e iOS) en India?

¿Cuáles son las principales preocupaciones de privacidad en iOS 11?

Para probar un concepto como un nuevo diseño para buscar un hotel usando la API de Expedia, ¿cuál es el costo por usuario para adquirir el servicio en la web frente al móvil?

¿Puedo desarrollar para iPhone usando C #? ¿Qué herramientas necesito para comenzar?

¿Hay alguna manera de asegurarse de que se permita una aplicación antes de enviarla a la tienda de aplicaciones?

¿Cuáles son los foros de desarrollo de software más grandes / mejores para iPhone / iPad / solo Apple?

¿Es posible suspender un UiWebView, similar a un safari móvil?