Notas para orientación profesional como programador
He sido freelance, emprendedor y trabajo desde hace años para empresas USA de diversos tamaños en remoto como programador fullstack. Ahora en GitHub. Si puedo ayudar a alguien en orientar su carrera, mis DMs están abiertos. Ask me anything.
he recibido muchos mensajes y escribo aquí algunos de los consejos que he dado en resumen. Nota: algunas cosas son concretas de trabajar en España. Si vas a trabajar desde Sudamérica sólo una nota: tienes la ventaja de la zona horaria para trabajar con EEUU.
Tener un buen nivel de inglés es fundamental para poder trabajar con clientes extranjeros. El conocimiento del idioma tiene que mantenerse en el tiempo. Es como mantenerse en forma física; si lo dejas, lo pierdes. Personalmente aunque trabajo 100% en inglés desde hace bastantes años, intento crearme un entorno diario con el idioma para no perderlo:
Algunos trucos para tener una buena comunicación, en cualquier idioma, pero particularmente para que no haya malentendidos y para tener fluidez:
Aquí hablo de trabajos puntuales, no trabajo relativamente indefinido como autónomo (contractor).
Muchas personas me han preguntado sobre cómo darse a conocer. Yo particularmente me he movido desde siempre en grupos de interés local sobre diferentes tecnologías, foros, listas de correo,... así que siempre he estado visible y por ello no he tenido que buscar mucho para que me llegaran solicitudes de presupuesto. Así que una cosa que recomendaría es precisamente eso: hacerse visible. Algunas ideas:
Otra forma de conseguir trabajos es ir directamente a un marketplace:
Yo solía cobrar 30-40-50% al inicio del proyecto, otro tanto al finalizar el proyecto, y el resto tras un mes de garantía en el que se podían hacer arreglos (no nueva funcionalidad). La nueva funcionalidad se paga a parte en un nuevo contrato o bien por horas si son cosas puntuales pero no estaban contempladas. Esto tiene que ir reflejado en un contrato en el que también se tiene que definir la funcionalidad a grandes rasgos.
Alguna vez he trabajado por sprints de dos semanas, pero es difícil explicarle al cliente por qué esa forma de trabajar es mejor y por qué no le puedes estimar cuántos sprints son necesarios para hacer una aplicación relativamente compleja.
Como autónomo tendrás que pagar la cuota de autónomos. El mínimo a día de hoy es de ~300€. Ten en cuenta que si pagas el mínimo estás cotizando muy poco a la seguridad social, con lo que cobrarás menos por bajas y sobre todo menos de pensión. Si estás empezando está bien pagar el mínimo pero conviene que lo subas con el tiempo.
Recomiendo que una gestoría te asesore y te lleve los papeles. Recomiendo cuéntica.
Hay diversos portales dedicados a ofertas de trabajo en remoto o bien que permiten especificar que el trabajo es remoto. Ejemplos:
Si no conoces de nada alguna de las empresas que publican ofertas (normal si no es grande), puedes echar un vistazo a Glassdoor. En esa web trabajadores dejan opiniones de la empresa, candidatos dejan opiniones del proceso de contratación, etc.
Si trabajas para una empresa extranjera, sobre todo si es fuera de la UE, te pueden contratar de dos formas fundamentalmente:
Si trabajas para el extranjero lo normal es que el salario sea más elevado que en España. Algunas empresas te pagan como si estuvieras en el país, pero son las menos. Normalmente el salario es bastante más alto, pero no se suele llegar a lo que cobrarías si trabajaras en unas oficinas en la sede. Por ejemplo Buffer tiene una calculadora de salarios que aplica un multiplicador según donde vivas.
Si trabajas en remoto para una empresa basada en EEUU o Canadá, tendrás el problema de la zona horaria. Será más fácil si trabajas para la costa este (NYC, Boston normalmente) que para la costa oeste (San Francisco / Silicon Valley normalmente). En mi experiencia se intenta trabajar lo más asíncronamente posible para que cada uno pueda tener el horario que más le convenga. Pero en la práctica se suele estirar siempre la jornada para tener las máximas horas de overlap posibles. En la anterior empresa en la que estuve había una obligación de tener 4-5 horas de overlap con lo que normalmente yo terminaba de trabajar sobre las 8 de la tarde casi siempre, sino más tarde. Ahora que estoy en GitHub tengo más flexibilidad y puedo terminar antes.
Durante muchos años como freelancer yo he trabajado en bares donde poco a poco me juntaba con otros freelancers. Luego algunos alquilamos una oficina para trabajar juntos, y durante un tiempo hemos estado en un centro de negocios / coworking. Para mi es la forma de separar mi casa del trabajo, y relacionarme con gente de mi mismo sector.
Habrá fundamentalmente dos tipos de empresas en las que trabajar: consultoras o empresas de producto. Pros y contras de cada una:
Hay gente que me ha preguntado qué aprender, o bien porque empezaban en la programación, o porque querían un cambio. Lo primero que recomiendo es: aprende lo que te guste. Pero también entiendo que la gente busque cosas bastante demandadas. Para eso recomiendo echar un vistazo a los datos de la encuesta stackoverflow 2018.
También es una buena idea especializarse en nichos potentes: machine learning, ciberseguridad,...
Y también he recomendado JavaScript en bastantes casos porque es un lenguaje que te permite moverte fácilmente entre backend (Node.js), frontend y mobile (ej: React Native).
Finalmente, recomiendo mirar ofertas de trabajo, sobre todo de empresas en las que te gustaría trabajar, y ver qué piden.
Aunque no estés en búsqueda activa de empleo, pero te ronda un cambio, o pronto sabes que buscarás trabajo, recomiendo ir a los portales de trabajo YA, y analizar las ofertas para ir preparándote. Así vas viendo qué piden, qué ofrecen, etc.
Luego prepara tu CV para cada oferta en concreto. Borra cosas que no interesen para una oferta en concreto, elabora más partes que sí interesen.
Preguntas que tienes que saber responder:
Si no tienes mucha experiencia, tienes que demostrar de lo que eres capaz con muy poca información. Recomiendo solucionar eso con:
Finalmente, no te amedrentes si no cumples todos los requisitos de una oferta. Se suelen poner demasiadas cosas. Las ofertas suelen ser una whishlist que pocos candidatos pueden cumplir 100%. La mayoría de las cosas son "nice to have" que si eres una persona capaz, podrás aprender una vez estés dentro de la empresa sin mayor problema.