- Conocimiento de OOP y estructuras de datos;
- Experiencia de desarrollo de Java para Android.
- conocimiento de la API de Android, comprensión de la arquitectura de Android;
- conocimiento de los conceptos básicos de HTTP, XML, JSON;
- experiencia con sistemas de control de versiones Git;
- experiencia con Android Studio, Gradle;
- experiencia trabajando con bases de datos SQL;
- Familiaridad con los principios del diseño de materiales;
¿Lo descubriste? Por supuesto que lo hicieron. Este es uno de los currículums programadores estándar.
Personalmente, este resumen me recuerda una
canción , o más bien una línea de esta canción: “¡Lada! ¡Ya va bien! "
También recuerda a la
publicidad del mismo Lada, donde la presencia de sensores de ABS, lluvia y luz, etc. dado como una ventaja competitiva. Bueno, el famoso eslogan: "¡Esto debería ser un automóvil!".
¿Pero un programador debería ser así? Si quieres ser como un Lada: masivo, barato y "como si no fuera un programador de
máquinas ", entonces sí.
Pero no somos así, así que formularemos y formularemos nuestra ventaja competitiva: un
conjunto de despidos .
El kit de despido es lo que queda contigo cuando cambias de trabajo. Como cantaba Yuri Shevchuk: “Esto es lo que quedará después de mí. Esto es lo que llevaré conmigo.
El kit de despido se divide condicionalmente en partes:
- soluciones (productos terminados o semiacabados);
- experiencia
- tareas cumplidas;
- Resultados alcanzados.
La división en partes, por supuesto, es condicional. A veces no está claro a qué se refiere este o aquel elemento del kit. Algunos chicos todavía incluyen una copia de la base de trabajo, pero personalmente no recomiendo hacerlo.
Así que vamos a ponerlo en orden.
Trabajar para el futuro empleador
Hablé esta frase en una de las conferencias y causó muchas respuestas diferentes. Entonces no hubo tiempo para explicarlo con más detalle, ahora lo corregiré.
El trabajo para el futuro empleador es el principio básico en el que se basa el trabajo con el kit de despido.
A primera vista, parece que propongo engañar al empleador, realizar trabajos del lado izquierdo o sabotear.
Esto no es asi. Ofrezco sinergias que son beneficiosas para usted, su empleador y su futuro empleador.
Veamos un ejemplo.
Usted toma una decisión, algo popular y popular: un panel de control que toma datos del sistema corporativo y los muestra en la web mediante Google Charts o d3.
El empleador actual quiere ver las ventas y el flujo de caja. Al menos te lo dijo.
Nada complicado Puede tomar solicitudes de datos para formar matrices de la dimensión requerida y producir un script js estático utilizando ejemplos que los desarrolladores de Gráficos o Gráficos de Google escribieron cuidadosamente. Debe insertar un script estático en algún lugar, incluso en un televisor en la oficina del director, configurar la actualización automática del navegador, y eso es todo, puede hacer feliz al empleador.
Entonces recuerdas que ibas a cambiar de trabajo. Nunca se sabe, tal vez estaban planeando mudarse a otra ciudad. Y piensas, oh, pero sería bueno llevar un tablero contigo. El tema es popular, te lo mostraré en una entrevista en un teléfono inteligente, no es 1C, el gráfico se puede escalar y dar la vuelta.
La pregunta surge ante usted: ¿qué quiere ver el nuevo empleador en el tablero? ¿También ventas y dinero? ¿Qué pasa si será minorista y necesita una factura promedio? ¿O será distribución, donde se implementa TOC, y quieren ver el estado del búfer? Y de repente será un sistema php, como bitrix, y luego todas las solicitudes deberán reescribirse.
Sí, cree que necesita la capacidad de configurar y aislar un sistema en particular. Deje que sea posible hacer un número arbitrario de indicadores que se mostrarán en paneles arbitrarios.
Descansado, hecho - belleza. Ven a un nuevo trabajo e inmediatamente produce un efecto asombroso.
Pero renuncias. Le entregamos las cosas, le contamos al nuevo programador sobre el tablero y sus otras decisiones, y nos fuimos.
Y luego los cambios comenzaron en su trabajo anterior. Le tomó otros 10 dígitos al tablero. Compramos otra compañía, hay contabilidad en BP, también necesitamos un tablero de instrumentos, para el tiempo de automatización de acuerdo con las reglas de la explotación. Comenzamos un proyecto sobre cambios estratégicos; no hay forma de hacerlo sin un tablero separado, grande y hermoso: un monitor estratégico.
Todo lo anterior se implementa fácil y rápidamente en su panel de control, que se mantuvo en el mismo trabajo. Y en este momento, usted ya hace feliz al nuevo empleador con el mismo tablero.
Ahora nos detenemos y contamos quién es más feliz:
- Usted, porque obtuvo una ventaja y una ventaja competitiva en la entrevista;
- Tu nuevo empleador, como Recibió una solución llave en mano o una idea comprobada que implementó rápidamente (de memoria);
Ahora atencion: - Tu antiguo empleador, como el tablero funciona bien sin usted, resolviendo todas las tareas nuevas en poco tiempo, lo que significa, por poco dinero;
- Y, curiosamente, el programador que vino a trabajar después de usted en el trabajo anterior es nuevo.
Todos los nuevos números en el panel de control ya son sus resultados, aunque recibidos gracias a usted. Sus resultados le traen ganancias.
Total 4 suerte. Si dejó la primera versión del panel de control (con dos solicitudes y un script estático), solo el antiguo empleador estaría contento, e incluso entonces no por mucho tiempo. Tan pronto como él comenzó a cambiar, ellos, junto con el nuevo programador, te maldecirían con las últimas palabras. Una de las palabras sería "govnokoder".
Por supuesto, también podría publicar su panel de control en Git, luego el número de afortunados aumentaría significativamente.
Está claro que crear el tablero correcto llevará más tiempo que el incorrecto. Pero, crea mi experiencia, la diferencia es muy pequeña, en comparación con los beneficios para todos los participantes.
Y aquí tenemos pura sinergia. En lugar de 1 = 1, obtenemos 1 = 4. Y todo porque trabajando para el empleador actual, trabajamos para el futuro.
Y el último, para disipar por completo las dudas. No importa dónde trabaje ahora, dónde trabajó antes o dónde trabajará. Fundamentalmente usted:
- O resolver problemas actuales;
- O resolver problemas futuros.
Tanto las tareas actuales como las futuras son para ambos empleadores, tanto el actual como el futuro. Entonces, al hacer el tablero correcto, resuelve las tareas futuras de ambos.
O de otra manera:
resuelve las tareas futuras de su empleador actual. Las tareas que surgirán ante él cuando ya estés en otra empresa.¿Entiendes?
Quizás esto se pueda llamar "resolver los problemas del empleador anterior". También suena desagradable, como "resolver los problemas del futuro empleador". Todo el problema está relacionado con el punto de partida, dónde está usted y dónde están ambos empleadores, a la izquierda o derecha a lo largo del eje del tiempo.
Pero ahora entiendes que esto es solo un juego de palabras, arruina todo. Pasado, presente, futuro. Da algunos tonos emocionales y evaluativos.
Si descarta el juego de palabras, se vuelve simple y claro.
Estás trabajando para el futuro.Soluciones
Comencemos con cuestiones legales. Por lo general, es incorrecto llevar piezas de código, módulos y bibliotecas con usted. Al parecer, una parte del programa es propiedad intelectual de la empresa en la que se creó.
Por lo tanto, recomiendo centrarse en las ideas y chips de soluciones, sabiendo cuál puede reproducir la solución en cualquier momento.
Pero, por supuesto, si hay una situación en la que se puede tomar una decisión por completo sin consecuencias legales, entonces es un pecado no usarla.
Entonces todo es simple. Al resolver cualquier problema, tenga en cuenta las preguntas:
- ¿Con qué frecuencia surgen tales tareas para el empleador actual?
- ¿Con qué frecuencia surgirán tales tareas en el futuro con el empleador actual?
- ¿Con qué frecuencia surge esta tarea para otras empresas?
Si ve que la tarea se repite o se repetirá, intente resolverla de manera abstracta. Para que su decisión sea útil tanto para el futuro empleador como para su empleador actual cuando lo deje.
Para responder correctamente estas preguntas, no solo tendrá que programar. Debe observar lo que otros están haciendo: empresas, programadores, proveedores. Manténgase al tanto de las instrucciones de desarrollo de plataformas, marcos, la industria en su conjunto.
Incluso existe tal ciencia: gestión de tendencias, estudio de tendencias. Para que ella pueda hacerlo.
Tendrá que seguir la dinámica de los cambios en su empresa. Con qué frecuencia org. estructura, gerentes, contabilidad y financieros / economistas, productos, mercados, etc.
Todo este conocimiento ayudará a influir en su decisión, ya sea hacer un resumen del instrumento y arrancarlo, o esta vez $ p.cat.byId ("000002341") es suficiente.
No he tomado muchas decisiones rechazadas en mi vida, alrededor de 50. Por lo tanto, mi serie de despidos es bastante escasa. Me di cuenta de su valor no hace mucho tiempo, lo que a veces lamento.
Aunque, incluso un equipaje tan modesto me fue útil muchas veces. Por ejemplo, al cambiar de trabajo.
Trabajando en mi primer trabajo, en la franquicia 1C, realicé mejoras en la planificación de la producción para arrancadores suaves, que luego entraron en la configuración estándar. Entonces, si tienes un arrancador suave 1C, ahí está mi govnokod.
Mi próximo empleador quería automatizar la planificación de la producción, y fue mi trabajo anterior lo que me llamó la atención: podía ver mis decisiones. Ni siquiera tiene que ir a ningún lado: también tenía un arrancador suave y ahí estaba mi código.
Trabajando en este lugar, hice una "Estructura de costos". Fue un pequeño contador el que comprobó las brechas en las cadenas de costos en la producción en varias etapas: análisis incorrectos al liberar los costos. Subí este informe a la conferencia de socios de 1C y encontré un terrible interés en él, porque el problema de averiguar los costos no tenía una solución estándar.
Como resultado, en unos pocos días-hombre, el informe se ha convertido en lo que es ahora y ha vendido más de varios miles de copias.
El siguiente empleador consideró la exploración de costos como una de las tareas principales: históricamente se ha desarrollado la práctica de analizar el costo de ventas en el contexto de los costos finales. Cuando vine para una entrevista, ya sabían sobre la "Estructura de costos": una de las franquicias les mostró un archivo Excel con un árbol de costos cargado. Solo queda decir que hice la estructura de costos.
En el siguiente trabajo, el círculo se cerró. La compañía trabajó con la franquicia a partir de la cual comencé mi carrera, y naturalmente le preguntaron a la franquicia sobre mi experiencia y decisiones. Recordé la planificación de la producción, junto con la "Estructura de costos", y ahora nuevamente obtengo fácilmente un trabajo. Aquí nuevamente hice una distribución arbitraria de costos.
Ahora generalmente programo en javascript. Pero algunas de las soluciones de 1Significant Past son tan buenas, en el sentido de mi idea, que las reproduciré en javascript para que funcionen en soluciones en metadata.js. Por ejemplo, el mismo mecanismo de planificación universal, solo que ya no será una solución aplicada, sino una plataforma: un registro de acumulación que se convierte automáticamente en segundo plano y automáticamente en segundo plano.
¿Hubo algún beneficio en esas compañías donde me fui? Por supuesto
La planificación de la producción en la empresa número 2 se ha desarrollado (no sin mi participación) en un sistema inteligente de gestión de reservas y adquisiciones. Quedaba el mecanismo de asignación de costos y cálculo del costo planificado, que, después de un cambio en la política contable, se reconfiguró rápidamente y continuó siendo útil.
La Compañía No. 3 usó con éxito el cálculo de la estructura de costos acumulativos hasta que se vendió.
La Compañía No. 4 usa todas las soluciones de mi paquete de despido, y ni siquiera piensa en abandonarlas después de mi partida. Los programadores que se quedaron allí están desarrollando lentamente estas soluciones. Todos los cambios que ocurren en los procesos comerciales (y hay muchos de ellos) se realizan fácil y rápidamente para personalizar las soluciones.
Por supuesto, encontrará un montón de ejemplos similares de su práctica, y ciertamente más interesantes que los míos. Las soluciones abstractas son sinergias.
Experiencia
Todo está claro con la experiencia: debe ganárselo. Lo principal, en mi opinión, es hacer esto de manera controlada y sistemática. La experiencia es incluso mejor que las soluciones, porque no hay una forma legal de quitártela.
A su empleador y su jefe, en general, no les importa cómo y qué experiencia acumulan. Se le pueden asignar las mismas tareas que no requieren el desarrollo de calificaciones. Por supuesto, hay los jefes adecuados que manejan la acumulación de experiencia, pero esto es raro. Por lo general, todo se limita a una referencia rara a los cursos, que generalmente son de poca utilidad.
Por lo tanto, debe cuidar su propia experiencia. Y lo principal aquí son los objetivos y la mensurabilidad. De acuerdo con los principios establecidos en el
artículo .
La experiencia más útil es la obtenida en la resolución de problemas. Si realizó la integración del sitio y CIS, puede suponer que ha adquirido cierta experiencia. Si utiliza la integración ya configurada, obtendrá mucha menos experiencia. Si es la segunda vez que integra CIS con un sitio web, entonces su experiencia está creciendo. Etc.
¿Entiendes? Clave compuesta: solución práctica a los problemas + su número.
Para saber exactamente cómo y qué experiencia se está obteniendo de mí y de mis empleados, tomé un modelo de juegos de computadora.
Hay juegos en los que el modelo de experiencia no es como la vida real. Por ejemplo, Fallout, con el debido respeto y el amor desenfrenado de 20 años por esta serie. Allí simplemente acumulas puntos de experiencia y luego los gastas en el desarrollo de esas cualidades que consideras necesarias. Este es un modelo que describe la educación paga. Ahorré dinero, fui a cursos, como inglés o gestión de proyectos. Esto no nos conviene, esto es para los altos ejecutivos azucarados.
El modelo de experiencia acumulada en Elder Scrolls está más cerca de la vida. Soy viejo, así que jugué ES 3 Morrowind, y lo tendré en cuenta.
Entonces, en Morrowind, estás mejorando las características que usas en la práctica. Balancea tu espada: aumenta la capacidad de la espada. Conjurar: la habilidad de la brujería aumenta. Etc. Cuando jugaba, tenía la gran habilidad de Acrobatics, precisamente porque una vez estuve atrapado en algunas montañas, no había poción de levitación y esperaba mucho salir de allí. Saltar desarrolla acrobacias.
En mi último trabajo, comencé tal sistema. Las tareas vivían en el sistema, y les adjunté una tabla de "Competencias" y, al mismo tiempo, una clasificación de competencias. Cuando una persona resolvió un problema, enumeré las competencias que eran necesarias para mostrar su solución. Y estableció el grado de aplicación de competencias, en porcentaje condicional. Como resultado, las estadísticas comenzaron a acumularse y para cada empleado los diagramas parecían similares a los que vemos en los perfiles de algunos sitios profesionales.
Luego, considerándome un buen jefe, comencé a diversificar las competencias de los subordinados. Si veo que uno ganó mucha experiencia en tareas de consulta en alasql, entonces dejé de darle esas tareas y se las di a alguien que tiene poca experiencia. Por supuesto, sin fanatismo: si la tarea es urgente, entonces los más experimentados la recibieron.
En las conferencias, mencioné que para tales "tareas para aumentar la experiencia" asignaba hasta el 30% del tiempo del empleado. Está claro que una empresa no es una universidad. Se necesita un equilibrio entre la velocidad y la experiencia, porque sin expandir la experiencia, la velocidad alcanzará el techo y se perderá el potencial.
Cuando trabajas en equipo, la diversificación de la experiencia es importante no solo en términos de intercambiabilidad. Es de suma importancia la presencia de interlocutores que ayudarán a discutir el problema, la lluvia de ideas, la toma de decisiones arquitectónicas y técnicas. Si solo una persona en un equipo aborda un tema, entonces no habrá nadie con quien hablar con él.
Una de las ventajas de dicho sistema es la capacidad de establecer objetivos e integrar estos objetivos en el sistema de selección de prioridades e intérpretes.
Por ejemplo, establecemos este objetivo: Piglet debe obtener 50 puntos condicionales de experiencia de integración: cualquier tarea relacionada con solicitudes, almacenamiento en caché de paquetes de datos cortos, etc. El sistema para cada nueva tarea calcula automáticamente a quién es mejor dárselo, por la diferencia entre el objetivo y la posición actual. Y te sientas y controlas cómo se logra tu objetivo.
Puede implementar y aplicar dicho sistema en uno, por sí mismo. Por supuesto, si tiene un objetivo, ganar experiencia en la que estará seguro. La ventaja de este enfoque es que no necesita pedir permiso a nadie: puede contar su experiencia incluso en un cuaderno, incluso en un archivo Excel. Por lo tanto, probablemente sea aún mejor, porque el archivo siempre estará con usted: puede acumular experiencia de forma integral, independientemente del empleador en particular.
Tareas resueltas
Por un lado, es un gran truco impresionar a RRHH. Por otro lado, comprender sus tareas lo ayudará a enfocarse en los productos todo el tiempo, no en el proceso.
Era director de TI, por lo que a menudo iba a entrevistas con una variedad de personas, no solo especialistas en TI, teníamos un sistema de entrevistas cruzadas.
Y noté que RR.HH. divide a las personas en dos categorías: orientadas a procesos y orientadas a resultados.
Primero se dividen por currículum, luego durante la entrevista, prestando atención a la redacción. Si la redacción suena como "ventas automatizadas", entonces este es un proceso. Si suena como "creado y lanzado un sistema de ventas automatizado", entonces este es el resultado.
Los "procesadores" generalmente no son favorecidos. Esto no es bueno, no está mal, simplemente lo es.
Por lo tanto, es mejor escribir un currículum a través del prisma de las tareas resueltas, en lugar del proceso de su implementación.
Pero, ahora entiendes: para escribir problemas resueltos, necesitas problemas resueltos. Para ser honestos con nosotros mismos, todos sabemos que los programadores no siempre
resuelven problemas.
Comprometido en la resolución de problemas, sí. Ellos deciden no. Sobre cómo
se olvida generalmente la
tarea en el proceso , ya lo hemos
dicho .
Por cierto, un buen ejemplo de cómo no se olvidan las tareas se puede ver en la
cartera de Artemy Lebedev Studio: allí, en cada proyecto, se escribe la tarea que resolvieron. No puedo pretender decir que resuelven problemas directamente de forma cualitativa, pero el propio Lebedev llama a esto una ventaja competitiva de su estudio.
Por cierto, en cada proyecto también tienen empleados escritos que lo hicieron. Esto es magnífico: un conjunto de despidos en el dominio público para siempre. Es suficiente para dar un enlace. , -, - , .
. , , . – , , , , , .
, , , – , . , – , ( — ) . , , , , , .
– , , – .
, , . , « », « ». « », « 30%».
, – , , . , , .
, . . , – . ? « ». ? . , , .
, . , , , – . « ?». .
, , . – , – .
, – ! – . -, , , . . -, – . , , , .
-, – . , . . – .
Total
Puede parecerle que el kit de despido es una especie de currículum acumulativo. Por un lado, este es el caso.Pero el punto no es lo que puede mostrar , sino lo que realmente tiene en su equipaje. Este es un tipo de producto, el resultado de la inversión de su tiempo en cada empleador.Este es un uso sinérgico del tiempo dedicado., . , , . - , . – , , , , , , .
, , . ,
. , . ?
, , , . .