Obtuve mi BSEE y comencé mi carrera en el sector aeroespacial. Estuve en ese papel durante 6 años. Durante ese tiempo, hice un poco de ajustes electrónicos en casa: tenía una buena configuración de banco, un inventario cada vez mayor de piezas y piezas, etc. Leí dos veces Art of Electronics, leí un montón de otros libros y aprendí bastante sobre motores de inducción de CA y motores de CC sin escobillas DSP +, ya que estaba interesado en los vehículos eléctricos. En ese momento, estaba buscando un trabajo que involucrara más trabajo práctico de diseño electrónico. Debo haber enviado más de 100 solicitudes (y muchas cartas de presentación) para trabajos de EE y recibir solo un puñado de respuestas. Nunca se materializó nada y terminé quedándome en el sector aeroespacial. Paralelamente, ingresé a la programación de microcontroladores, luego a FPGA, luego a computadoras de una sola placa con Linux, y finalmente a la programación web con Django en AppEngine. Me estaba volviendo bastante competente en C, Python y JS. Me estaba quedando claro que todo se está moviendo hacia la programación. Incluso el control del motor se realizó con algún tipo de programación.
Al final de mis 20 años, decidí prepararme para un cambio de carrera en Systems / DevOps en Silicon Valley. Decidí dejar mi trabajo en el sector aeroespacial para pasar más de 80 horas a la semana estudiando los fundamentos de CS, programando las mejores prácticas y aprendiendo habilidades aleatorias como SQL, vim, git, etc. Sabía que tomaría aproximadamente 10,000 horas convertirse en un experto y quería mantener el tiempo total transcurrido al mínimo, así que trabajé 7 días a la semana hasta las primeras horas de la mañana. Tomé notas en Vim para obligarlo a convertirse en una segunda naturaleza. Leí libros como Programming Pearls, Clean Code, libros de Linux Sysadmin, algoritmos y libros de texto de estructuras de datos (afortunadamente, ya tuve exposición a C ++ y big-O de mi plan de estudios de EE de pregrado). Seguí sitios / blogs como HighScalability, StackOverflow, r / programming, HackerNews, CodingHorror, etc. Básicamente, leí un montón y trabajé en muchos proyectos personales que sumaban algo así como 30 mil líneas de código.
Cuando llegó el momento de presentar una solicitud, ¡ni siquiera me molesté en pasar por un reclutador o bolsa de trabajo porque Craigslist tenía cientos de roles! Se agregaban trabajos de Python a diario. Incluso cuando solicité mi primer trabajo greenhorn, recibí 5 prospectos prometedores y tuve 3 entrevistas en el sitio dentro de una semana. Después de una semana más, trabajé en una start-up increíble que terminó siendo una valiosa experiencia de boot camp.
- Tengo la sensación de que no soy lo suficientemente inteligente como para pasar entrevistas en empresas tecnológicas como Twitter, Airbnb, Dropbox, etc. ¿Es posible que llegue a este nivel o debería simplemente rendirme porque no es práctico?
- ¿A qué instituto debo unirme para pruebas de software, Seed o MindScripts?
- ¿Cuál es la diferencia entre la arquitectura 'modelo en MVC' y 'nivel de datos de 3 niveles'?
- ¿Cuál es su diagrama de eventos preferido o software de planta?
- ¿Cómo puedo ser un buen ingeniero de software sin una maestría?
Mirando hacia atrás, fue lo mejor que hice por mí mismo. Mi salario subió SIGNIFICATIVAMENTE. Recibo solicitudes de trabajo a diario. No hace falta decir que estoy tan increíblemente agradecido por tener suerte y acertar en el momento. Si hay algún arrepentimiento, sería que no lo hice antes. ¡Diablos, debería haber hecho EECS o CS en la escuela! Si hubiera hecho eso, esta historia habría sido solo los últimos dos párrafos.
TL; DR – No pierdas demasiado tiempo decidiendo. En cambio, comience a “hacer” y sea lo suficientemente ágil como para adaptarse rápidamente y con frecuencia. Intente adquirir habilidades que sean transferibles o útiles en otras disciplinas. Por encima de todo, sé apasionado.
Espero que ayude.