Busco oportunidades de crecimiento. Mi pasión se ha convertido en programar y construir soluciones para resolver problemas de negocios. Mi empleador actual, en el que he estado empleado durante 7 años, es una pequeña empresa con 15 empleados. Nuestro negocio principal es brindar capacitación y consultoría B2B. Este es el único puesto que he tenido como programador.
Me considero un desarrollador de pila completa. En los últimos 7 años, mis habilidades de programación han evolucionado desde saber cómo se ve HTML hasta desarrollar API RESTfull y consumir con Jquery (como ejemplo).
Soy el único programador en la empresa. Mi rol, VP Technical Architect, me ha permitido ser mi propio jefe hasta cierto punto. Elijo los proyectos, la tecnología a usar, la relevancia de los problemas, etc. Nuestra empresa ha tomado la postura de que continuaremos evolucionando nuestros servicios técnicos y ampliando los servicios ofrecidos a través del tablero que he desarrollado.
Ahora mi dilema; Estoy satisfecho con mi posición. Me encanta tener la libertad de tomar decisiones y tomar las decisiones , pero siento que estoy perdiendo la oportunidad que me brinda trabajar para empresas más grandes. Siendo el único desarrollador, no tengo a nadie de quien aprender. Solo me he centrado en aplicaciones web/soluciones de bases de datos, y nunca he trabajado en aplicaciones móviles o aplicaciones de escritorio. Cuando miro muchas de las preguntas de la entrevista de programación, estoy perdido. Por otro lado, si me dan un desafío para resolver en mi lugar de trabajo, siempre he sido capaz de brindar una solución hasta ahora.
Mi pregunta de hoy es simplemente cuál es la mejor manera de asegurarme de que yo, como desarrollador empleable, sigo aprendiendo. cuando digo aprender, quiero aprender habilidades empleables y la forma correcta de resolver problemas.
Estoy en una situación muy similar a la suya, así que creo que puedo ofrecer algunos consejos y compartir cómo veo este problema.
En cuanto a ser el único programador de la empresa, eres insustituible en la práctica siempre que hagas un buen trabajo (parece que lo eres). Esto significa muchas cosas, como seguridad laboral, aumentos, libertad, etc. Esto no es tan fácil en una gran empresa. Pero, claramente no está preocupado por esto... está preocupado por la transferencia de conocimiento, en otras palabras, ¿se desearán mis habilidades si quisiera mudarme a otra empresa?
Desde mi propia experiencia, trabajar para una pequeña empresa tiene grandes ventajas y también algunas desventajas. Le he expresado a mi gerencia actual que me gustaría que otra persona en el personal aprendiera de ella o que fuera su mentor. También me faltan revisiones de código, auditorías del sistema, conversaciones, etc. Si bien esto definitivamente no es lo ideal, siento que tengo que esforzarme aún más (y, por lo tanto, aprender más) porque no tengo a esa otra persona para intercambiar ideas. fuera de mí y criticarme.
Mi solución: leo mucho, leo respuestas y preguntas de personas sobre desbordamiento de pila, seguridad de la información, blogs y leo detenidamente las mejores prácticas de personas mucho más inteligentes que yo. Te prometo que, si continúas haciendo esto, obtendrás mucho más conocimiento que el programador promedio de una gran empresa. Tendrás mucha más experiencia con cada herramienta o software que escribas porque tuviste que investigarlo, diseñarlo, codificarlo, probarlo e incluso intentar descifrarlo todo tú mismo .
No mucha gente puede hacer eso todos los días...
Quiero aprender habilidades empleables y la forma correcta de resolver problemas.
Las habilidades empleables pueden diferir de una empresa a otra. Una forma de obtener más habilidades empleables es alinearse con su mercado. La TI cambia rápidamente y se puede localizar en una región, siguiendo la publicación de trabajo para conocer el flujo del mercado y buscar la palabra clave de los anuncios que no conoce, lo mantiene actualizado de su mercado, brindando conocimiento de qué habilidades son más empleables. .
La forma correcta también puede ser diferente dependiendo de la infraestructura del software, el tipo de usuarios, qué necesidades cumple el software.
Para encontrar la forma correcta, debe conocer varias formas y aprender los pros y los contras de cada una. Aquí algunas actividades que conducen a eso:
Enseñar también es una forma de aprender porque algunos estudiantes pueden:
Cuando miro muchas de las preguntas de la entrevista de programación, estoy perdido.
Si esas preguntas están relacionadas con la tecnología, es normal, como hacer preguntas específicas del paquete web a un tipo que nunca ha hecho ningún front-end probablemente no resulte en un buen resultado.
Si esas preguntas son sobre patrones de diseño, arquitectura, metodología, como dijeron otros, hay muchos libros y videos disponibles y puede ser bueno que aprenda algunos de ellos. Porque la habilidad de comunicación cuando eres el único programador puede verse afectada a largo plazo. Puede ser que esté implementando patrones de diseño pero no sabe su nombre, cuando un chico le pregunta algo relacionado, puede ser difícil compartir sus dudas porque no conoce el lenguaje colectivo. Esto puede perjudicar su empleabilidad para su próxima oportunidad.
Algunas ideas:
... y utilice estas oportunidades no solo para aprender habilidades técnicas, sino también para establecer contactos con sus compañeros. Forme amistades e intercambie favores con otras personas en su posición, y puede mitigar en gran medida el aislamiento que conlleva ser el único programador en una pequeña empresa.
En su respuesta al comentario de Erik sobre la contratación de más personal, usted dijo
Recientemente empezamos a contratar freelancers en determinadas ocasiones.
Ya sea un equipo que administres o uno o más trabajadores autónomos, siempre puedes recoger cosas de ellos. Cuando sea el líder del equipo, siempre contrate a personas que sean más inteligentes que usted. No quieres políticas de oficina, quieres crecer.
Siempre que tenga una nueva persona en el equipo, incluso a corto plazo, déjela expresar sus opiniones sobre todos los aspectos técnicos, ya sea el código, la estructura y la gestión de proyectos, la forma en que se resuelven ciertos problemas o cómo se utiliza el control de versiones. Escúchalos. No todo lo que dicen puede ser mejor que lo que estás haciendo, pero ampliará tu horizonte.
Tener varios freelancers que van y vienen es una buena manera de obtener muchos puntos de vista diferentes y de elegir diferentes estilos de programación en la tecnología que está utilizando.
Empecé en roles similares. Me mantuve conectado con otros desarrolladores de todo el mundo en foros donde podía obtener ayuda cuando la necesitaba (y ayudar a otros).
Sin embargo, no crecí como programador. Ni un poco.
De vez en cuando obteníamos un nuevo SDK para trabajar y me rompía los sesos sobre lo que estaba pasando en el código, ya que no había estado expuesto a varios paradigmas de diseño.
Cuando trabajas solo terminas con hábitos terribles (yo lo hice de todos modos). Constantemente opta por las opciones más fáciles y toma atajos sin siquiera darse cuenta de que lo está haciendo.
A menos que trabaje en una organización grande con un buen sistema de revisión por pares, no crecerá. No saldrás de tu zona de confort (no importa cuántos artículos o libros leas).
No hay nada malo con las pequeñas empresas, muchas personas se ganan la vida muy bien trabajando para ellas. Pero si su objetivo es crecer y evolucionar hacia otra cosa, probablemente no sucederá en una empresa pequeña.
Cygnus oscuro
usuario85437
Cygnus oscuro
usuario87623
usuario87623
erik
usuario87623
dwizum
usuario85437