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
- ¿Cuáles son algunos pros y contras de Swift?
- ¿Cuáles son las mejores aplicaciones de iOS basadas en voz?
- ¿Qué es mejor, el desarrollo de aplicaciones iOS o Android?
- Cómo ponerse en contacto rápidamente con los desarrolladores de aplicaciones y las startups de etapa de prueba beta cuyo producto involucra aplicaciones de iPhone
- ¿Qué tan importante es integrar una plataforma de análisis en una aplicación de iOS?
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.