Kit de dispensa

  • Conhecimento de POO e estruturas de dados;
  • Experiência de desenvolvimento Java para Android.
  • conhecimento da API do Android, entendimento da arquitetura do Android;
  • conhecimento dos conceitos básicos de HTTP, XML, JSON;
  • experiência com sistemas de controle de versão Git;
  • experiência com o Android Studio, Gradle;
  • experiência em trabalhar com bancos de dados SQL;
  • Familiaridade com os princípios do Design de Materiais;

Você descobriu? Claro que sim. Este é um dos resumos padrão do programador.

Pessoalmente, este resumo me lembra uma música , ou melhor, uma linha da música: “Lada! Já está indo bem! "

Também lembra a publicidade do mesmo Lada, onde a presença de ABS, sensores de chuva e luz, etc. como uma vantagem competitiva. Bem, o famoso slogan: "Este deve ser um carro!".

Mas um programador deveria ser assim? Se você quer ser como um Lada - maciço, barato e "como se não fosse um programador de máquinas ", então sim.

Mas como não somos assim, formularemos e formularemos nossa vantagem competitiva - um conjunto de demissões .



O kit de demissão é o que resta com você quando você muda de emprego. Como Yuri Shevchuk cantou: “É isso que restará depois de mim. É isso que vou levar comigo.

O kit de dispensa é condicionalmente dividido em partes:

  1. soluções (produtos acabados ou semi-acabados);
  2. experiência;
  3. tarefas realizadas;
  4. resultados alcançados.

A divisão em partes, é claro, é condicional. Às vezes, não está claro a que esse ou aquele elemento do kit se refere. Alguns caras ainda incluem uma cópia da base de trabalho, mas eu pessoalmente não recomendo fazer isso.

Então, vamos colocá-lo em ordem.

Trabalho para o futuro empregador


Falei essa frase em uma das conferências e causou muitas respostas diferentes. Então não houve tempo para explicá-lo com mais detalhes, agora vou corrigi-lo.

O trabalho para o futuro empregador é o princípio básico no qual se baseia o trabalho com o kit de dispensa.

À primeira vista, parece que proponho enganar o empregador, me envolver em trabalhos do lado esquerdo ou sabotar.

Isto não é verdade. Ofereço sinergias benéficas para você, seu empregador e seu futuro empregador.

Vejamos um exemplo.

Você toma uma decisão, algo popular e popular - um painel que coleta dados do sistema corporativo e os exibe na Web usando o Google Charts ou d3.

O empregador atual quer ver as vendas e o fluxo de caixa. Pelo menos ele te disse.

Nada complicado. Você pode receber solicitações de dados para formar matrizes da dimensão necessária e criar um script js estático usando exemplos que os desenvolvedores do Google Charts ou Recharts escreveram cuidadosamente. Você precisa incorporar um script estático em algum lugar, mesmo em uma TV no escritório do diretor, configurar a atualização automática do navegador - e isso é tudo, você pode fazer o empregador feliz.

Então você se lembra de que iria mudar de emprego. Você nunca sabe, talvez eles estivessem planejando se mudar para outra cidade. E você pensa - ah, mas seria bom levar um painel com você. O tópico é popular, mostrarei a você em uma entrevista em um smartphone, não é 1C, o gráfico pode ser escalonado e revertido com perfeição.

A pergunta surge diante de você - o que o novo empregador deseja ver no painel? Também vendas e dinheiro? E se for de varejo e você precisar de uma fatura média? Ou será a distribuição, onde o TOC é implementado, e eles querem ver o status do buffer? E, de repente, será um sistema php, como o bitrix, e todos os pedidos terão que ser reescritos.

Sim, você acha que precisa da capacidade de configurar e isolar-se de um sistema específico. Seja possível criar um número arbitrário de indicadores que serão exibidos em painéis arbitrários.

Descansado, feito - beleza. Chegue a um novo emprego e imediatamente produza um efeito uau.

Mas você desiste. Entregamos as coisas, informamos o novo programador sobre o painel e suas outras decisões e saímos.

E então as mudanças começaram no seu trabalho anterior. Foram necessários mais 10 dígitos no painel. Compramos outra empresa, há contabilidade na BP, também precisamos de um painel, para o tempo de automação de acordo com as regras da holding. Iniciamos um projeto sobre mudanças estratégicas - não há como prescindir de um painel separado, grande e bonito - um monitor estratégico.

Todas as opções acima são implementadas com facilidade e rapidez pelo seu painel, que permaneceu no mesmo trabalho. E neste momento você já está satisfeito com o novo empregador com o mesmo painel.

Agora paramos e contamos quem é mais feliz:

  1. Você, porque obteve uma vantagem inicial e uma vantagem competitiva na entrevista;
  2. Seu novo empregador, como Recebeu uma solução pronta para uso ou uma ideia comprovada que você implementou rapidamente (a partir da memória);

    Agora atenção:
  3. Seu antigo empregador, como o painel funciona bem sem você, resolvendo todas as novas tarefas em pouco tempo, o que significa - por pouco dinheiro;
  4. E, estranhamente, o programador que veio trabalhar depois de você no antigo emprego é novo.

Todos os novos números no painel já são seus resultados, embora tenham sido recebidos graças a você. Seus resultados lhe trazem lucro.

Total 4 de sorte. Se você deixou a primeira versão do painel (com duas solicitações e um script estático), somente o antigo empregador ficaria feliz e, mesmo assim, não por muito tempo. Assim que ele começou a mudar, eles, juntamente com o novo programador, o amaldiçoaram com as últimas palavras. Uma das palavras seria "govnokoder".

Obviamente, você também pode publicar seu painel no Git, para que o número de sortudos aumente significativamente.

É claro que criar o painel certo levará mais tempo que o errado. Mas, acredite na minha experiência, a diferença é muito pequena, em comparação com os benefícios para todos os participantes.

E aqui temos pura sinergia. Em vez de 1 = 1, obtemos 1 = 4. E tudo porque, trabalhando para o atual empregador, trabalhamos para o futuro.

E o último, para dissipar completamente as dúvidas. Não importa onde você trabalha agora, onde trabalhou antes ou onde trabalhará. Fundamentalmente, você:

  • Ou resolver problemas atuais;
  • Ou resolva problemas futuros.

As tarefas atuais e futuras são para ambos os empregadores - tanto a atual quanto a futura. Assim, criando o painel certo, você resolve as tarefas futuras de ambos.

Ou de outra maneira: você resolve as tarefas futuras do seu empregador atual. As tarefas que surgirão antes dele quando você já estiver em outra empresa.

Você entende?

Talvez isso possa ser chamado de "resolver os problemas do empregador anterior". Também parece desagradável, como "resolver os problemas do futuro empregador". Todo o problema está relacionado ao ponto de partida - onde você está e onde os dois empregadores estão - à esquerda ou à direita, ao longo do eixo do tempo.

Mas agora você entende que isso é apenas um trocadilho, estraga tudo. Passado, atual, futuro. Dá alguns tons emocionais e avaliativos.

Se você descartar o trocadilho, torna-se simples e claro. Você está trabalhando para o futuro.

Soluções


Vamos começar com questões legais. Geralmente, é errado levar trechos de código, módulos e bibliotecas com você. Parece que uma parte do programa é a propriedade intelectual da empresa em que é criada.

Portanto, recomendo focar nas idéias e nas fichas das soluções, sabendo qual você pode reproduzir a solução a qualquer momento.

Mas, é claro, se houver uma situação em que uma decisão possa ser tomada inteiramente sem consequências legais, é um pecado não usá-la.

Então tudo é simples. Ao resolver qualquer problema, lembre-se das perguntas:

  • Com que frequência essas tarefas surgem para o empregador atual?
  • Com que frequência essas tarefas surgirão no futuro com o empregador atual?
  • Com que frequência essa tarefa ocorre para outras empresas?

Se você perceber que a tarefa está se repetindo ou se repetirá, tente resolvê-la de maneira abstrata. Para que sua decisão seja útil tanto para o futuro empregador quanto para o atual empregador quando você o deixar.

Para responder corretamente a essas perguntas, você precisará não apenas programar. Você precisa ver o que os outros estão fazendo - empresas, programadores, fornecedores. Mantenha-se a par das instruções de desenvolvimento de plataformas, estruturas, a indústria como um todo.

Existe ainda uma ciência - gestão de tendências, estudo de tendências. Então ela pode fazer isso.

Você terá que seguir a dinâmica das mudanças em sua empresa. Quantas vezes org. estrutura, gerentes, escrituração e financiadores / economistas, produtos, mercados, etc.

Todo esse conhecimento ajudará a influenciar sua decisão - seja para tornar algum instrumento abstrato e destacável, ou dessa vez $ p.cat.byId ("000002341") é suficiente.

Não tomei muitas decisões rejeitadas na minha vida - cerca de 50 anos. Portanto, meu conjunto de demissões é bastante escasso. Percebi seu valor há pouco tempo, do qual às vezes me arrependo.

Embora uma bagagem tão modesta tenha sido útil para mim muitas vezes. Por exemplo, ao mudar de emprego.

Trabalhando no meu primeiro trabalho, na franquia 1C, fiz aprimoramentos no planejamento da produção de soft starters, que entraram na configuração padrão. Então, se você tem um soft starter 1C, aqui está o meu govnokod.

Meu próximo empregador queria automatizar o planejamento da produção, e foi o meu trabalho anterior que atraiu sua atenção para mim - ele apenas pôde ver minhas decisões. Você nem precisa ir a lugar algum - ele também teve uma partida suave, e lá estava o meu código.

Trabalhando neste local, fiz uma "Estrutura de Custos". Foi um pequeno contador que verificou as cadeias de custos na produção em vários estágios em busca de falhas - análises incorretas ao liberar custos. Enviei este relatório para a conferência de parceiros da 1C e encontrei um interesse terrível, pois o problema de descobrir custos não tinha uma solução padrão.

Como resultado, em alguns dias, o relatório tornou-se como está agora e vendeu mais de vários milhares de cópias.

O próximo empregador considerou a exploração de custos uma das principais tarefas - historicamente, foi desenvolvida a prática de analisar o custo das vendas no contexto dos custos finais. Quando vim para uma entrevista, eles já sabiam sobre a “Estrutura de custos” - uma das franquias mostrou a eles um arquivo do Excel com uma árvore de custos carregada. Resta apenas dizer que fiz a estrutura de custos.

No próximo trabalho, o círculo se fechou. A empresa trabalhou com a franquia a partir da qual iniciei minha carreira, e eles naturalmente perguntaram à franquia sobre minha experiência e decisões. Lembrei-me do planejamento da produção, juntamente com a "Estrutura de custos", e agora novamente consegui um emprego facilmente. Aqui fiz novamente uma distribuição arbitrária de custos.

Agora eu geralmente programa em javascript. Mas algumas das soluções do passado 1Significant são tão boas, no sentido da minha ideia, que eu as reproduzirei em javascript para que funcionem em soluções no metadata.js. Por exemplo, o mesmo mecanismo de planejamento universal, mas não será mais uma solução aplicada, mas uma plataforma - um registro de acumulação que é automaticamente convertido em segundo plano e automaticamente convertido em segundo plano.

Houve algum benefício nas empresas de onde saí? Claro.

O planejamento da produção da empresa nº 2 se transformou (não sem a minha participação) em um sistema inteligente de gerenciamento de reservas e compras. Restava o mecanismo de alocação de custos e cálculo do custo planejado, que, após uma mudança na política contábil, foi rapidamente reconfigurado e continuou a ser útil.

A empresa nº 3 utilizou com êxito o cálculo da estrutura de custos acumulados até sua venda.

A empresa n ° 4 usa todas as soluções do meu kit de dispensa e nem pensa em abandoná-las depois da minha partida. Os programadores que ficaram lá estão desenvolvendo lentamente essas soluções. Todas as alterações que ocorrem nos processos de negócios (e existem muitas) são feitas de maneira fácil e rápida para personalizar as soluções.

Obviamente, você encontrará muitos exemplos semelhantes em sua prática e certamente mais interessantes que os meus. Soluções abstratas são sinergias.

Experiência


Tudo fica claro com a experiência - você precisa conquistá-la. O principal, na minha opinião, é fazer isso de maneira controlada e sistemática. A experiência é ainda melhor do que soluções, porque não existe uma maneira legal de tirar isso de você.

Seu empregador e seu chefe, em geral, não se importam com como e com que experiência você acumula. Você pode executar as mesmas tarefas que não exigem o desenvolvimento de qualificações. Claro, existem os chefes certos que gerenciam o acúmulo de experiência, mas isso é raro. Geralmente, tudo se limita a uma rara referência a cursos, que geralmente são de pouca utilidade.

Portanto, você precisa cuidar de sua própria experiência. E o principal aqui são objetivos e mensurabilidade. De acordo com os princípios estabelecidos no artigo .

A experiência mais útil é a obtida na solução de problemas. Se você fez a integração do site e do CIS, pode assumir que adquiriu alguma experiência. Se você usa a integração já configurada, obtém muito menos experiência. Se é a segunda vez que você integra o CIS a um site, sua experiência está aumentando. Etc.

Você entende? Chave composta: solução prática para os problemas + seu número.

Para saber exatamente como e qual experiência está sendo adquirida por mim e meus funcionários, tirei um modelo de jogos de computador.

Existem jogos em que o modelo de experiência não é como a vida real. Por exemplo, Fallout, com todo o respeito e amor desenfreado de 20 anos por esta série. Lá você simplesmente acumula pontos de experiência e os gasta no desenvolvimento daquelas qualidades que considera necessárias. Este é um modelo que descreve a educação paga. Economizei dinheiro - participei de cursos como inglês ou gerenciamento de projetos. Isso não nos convém, é para os altos executivos açucarados.

O modelo de acumular experiência no Elder Scrolls está mais próximo da vida. Como sou velho, joguei o ES 3 Morrowind, e vou manter isso em mente.

Então, em Morrowind, você está melhorando as características que usa na prática. Balance sua espada - aumentando a capacidade da espada. Conjurar - a habilidade da bruxaria aumenta. Etc. Quando eu jogava, eu tinha a alta habilidade do Acrobatics - precisamente porque eu estava preso em algumas montanhas, não havia poção de levitação e eu esperava muito sair dali. O salto desenvolve acrobacias.

No meu último emprego, iniciei esse sistema. As tarefas viviam no sistema e eu anexei uma tabela de “Competências” a elas e, ao mesmo tempo - uma classificação de competências. Quando uma pessoa resolveu um problema, listei as competências necessárias para mostrar sua solução. E ele estabeleceu o grau de aplicação de competências, em porcentagem condicional. Como resultado, as estatísticas começaram a se acumular e os diagramas de cada funcionário pareciam semelhantes aos que vemos nos perfis de alguns sites profissionais.

Então eu, considerando-me um bom chefe, comecei a diversificar as competências dos subordinados. Se vejo que alguém adquiriu muita experiência em tarefas de consulta no alasql, parei de executá-lo e dei-o a alguém com pouca experiência. Obviamente, sem fanatismo - se a tarefa é urgente, os mais experientes a recebem.

Nas conferências, mencionei que, para essas "tarefas para aumentar a experiência", alocava até 30% do tempo do funcionário. É claro que uma empresa não é uma universidade. É necessário um equilíbrio entre velocidade e experiência, porque, sem expandir a experiência, a velocidade atingirá o teto e o potencial será perdido.

Quando você trabalha em equipe, a diversificação da experiência é importante não apenas em termos de intercambiabilidade. De suma importância é a presença de interlocutores que ajudarão na discussão do problema, no brainstorming, na tomada de decisões arquitetônicas e técnicas. Se apenas uma pessoa de uma equipe abordar um tópico, não haverá ninguém com quem conversar.

Uma das vantagens de um sistema desse tipo é a capacidade de estabelecer metas e integrá-las ao sistema de seleção de prioridades e desempenhos.

Por exemplo, definimos este objetivo: O Piglet deve obter 50 pontos condicionais de experiência de integração - qualquer tarefa relacionada a solicitações, armazenamento em cache de pacotes de dados curtos etc. O sistema para cada nova tarefa calcula automaticamente a quem é melhor entregá-la - pela diferença entre a meta e a posição atual. E você senta e controla como seu objetivo é alcançado.

Você pode implementar e aplicar esse sistema em um, por si mesmo. Claro, se você tem um objetivo - ganhar experiência na qual terá certeza. A vantagem dessa abordagem é que você não precisa pedir permissão a ninguém - você pode contar sua experiência mesmo em um notebook, mesmo em um arquivo do Excel. Portanto, provavelmente é ainda melhor, porque o arquivo estará sempre com você - você pode acumular a experiência de ponta a ponta, independentemente do empregador em particular.

Tarefas resolvidas


Por um lado, é um truque para impressionar o RH. Por outro lado, entender suas tarefas ajudará você a se concentrar nos produtos o tempo todo, não no processo.

Como diretor de TI, frequentei entrevistas com várias pessoas, não apenas especialistas em TI - tínhamos um sistema de entrevistas cruzadas.

E notei que o RH divide as pessoas em duas categorias - orientada a processos e orientada a resultados.

Primeiro eles se dividem por currículo, depois durante a entrevista, prestando atenção ao texto. Se o texto parecer "vendas automatizadas", esse é um processo. Se isso soa como "criou e lançou um sistema de vendas automatizado", esse é o resultado.

"Processadores" geralmente não são favorecidos. Isso não é bom, não é ruim - é apenas.

Portanto, é melhor escrever um currículo através do prisma das tarefas resolvidas, em vez do processo de sua implementação.

Mas agora você entende - para escrever problemas resolvidos, você precisa de problemas resolvidos. Para ser sincero, todos sabemos que os programadores nem sempre resolvem problemas. Envolvido na resolução de problemas - sim. Eles decidem - não. Sobre como a tarefa no processo é geralmente esquecida , já dissemos .

A propósito, um bom exemplo de como as tarefas não são esquecidas pode ser visto no portfólio do Artemy Lebedev Studio - lá, em cada projeto, a tarefa que eles resolveram é escrita. Não posso fingir que eles resolvem diretamente os problemas qualitativamente, mas o próprio Lebedev chama isso de vantagem competitiva de seu estúdio.

A propósito, em cada projeto, eles também escreveram funcionários que o fizeram. Isso é maravilhoso - um conjunto de demissões em domínio público para sempre. É o suficiente para dar um link.É claro que este é um desenvolvimento web específico, mas nem todos os estúdios e web designers escrevem os nomes das pessoas que fizeram o projeto.

De volta para nós. Como estamos trabalhando para o futuro empregador, é importante entender e ser capaz de formular o problema que você está resolvendo. Imagine diretamente - em um ano, dois ou um mês, você precisará dizer que tipo de tarefa estava enfrentando, como a resolveu e se decidiu.

De fato, você precisa se tornar um observador, jornalista, biógrafo ou gerente de si mesmo - escolha uma palavra que goste. Metade de vocês está trabalhando duro, a outra metade está observando, memorizando (ou, melhor, anotando) e está se preparando para vender suas tarefas ao próximo empregador. Ele observa fichas, dificuldades e como você as superou, quais tecnologias dominou ao longo do caminho, como as implementou, como acompanhou e removeu obstáculos.

Cada tarefa resolvida - compreensível, formulada e de preferência abstrata - reabastece seu conjunto de demissões.

Resultados alcançados


Acontece que você não recebe uma tarefa específica, mas é vaga. Por exemplo, eles dizem "aumentar o desempenho do sistema" e não "reduzir pela metade as correções das transações". Ou eles dizem "aumentam a eficiência da solução de problemas pelos programadores" e não "reduzem o tempo de execução dos aplicativos em 30%".

Quando uma figura soa no texto, esta é uma tarefa e deve ser manuseada conforme descrito na seção anterior. Quando não houver número, será necessário medi-lo para que haja algo a ser escrito no kit de dispensa.

Por exemplo, você está envolvido em desempenho. A hora de escrever documentos no sistema. Estou certo de que você terá sucesso - reduzirá o tempo de gravação de documentos. O que dizer então ao futuro empregador? "Reduzi o tempo para gravar documentos." O que você ouve em resposta? Quanto eles reduziram. Quanto foi, quanto foi, quanto foi transportado.

Para responder a essas perguntas, basta medir. Antes de iniciar a tarefa, coloque o sistema de medição o mais objetivo possível, porque o sistema de medição faz parte da solução. Você provavelmente será perguntado "como foi medido?" Bem, prossiga com a decisão.

Quando você atingir o nível exigido, lembre-se dos números, o primeiro e o último. Melhor ainda, salve uma linha do tempo para alterar os números ao longo do tempo, marcando os principais eventos - suas ações para alterar os números.

Eu já fiz isso muitas vezes, e é muito - muito! - ajuda. Em primeiro lugar, ajuda no processo, porque você entende onde está e para onde está indo. Você pode avaliar seu progresso e a eficácia de suas ações. Em segundo lugar, é útil para o empregador atual - ele obtém um resultado melhor e mais compreensível. O sistema de medição, que por si só se torna um produto, será usado depois que você sair, e o empregador terá um sistema de coordenadas para uma análise ponta a ponta dos mesmos indicadores.

Em terceiro lugar, e mais importante - ele o ajudará em seu próximo trabalho. Especialmente se você conseguir expressar seus números no sistema de coordenadas de uma nova empresa. E isso não é difícil. O mesmo tempo para gravar documentos - é medido em qualquer lugar em milissegundos.

Total


Pode parecer que o kit de demissão é uma espécie de currículo cumulativo. Por um lado, esse é realmente o caso.

Mas o ponto não é o que você pode mostrar , mas o que realmente tem na sua bagagem. Este é um tipo de produto, resultado do investimento de seu tempo em todo empregador.

Este é um uso sinérgico do tempo gasto.

Você pode apenas sentar e receber um salário, ou qualquer que seja o seu sistema de motivação. Na entrada da empresa e na saída dela, no final das contas, você ficou velho. Se você conseguir economizar algum dinheiro ou comprar algo que vale a pena, isso ainda não é ruim. Caso contrário, eles não acumularam dinheiro, não acumularam ativos, não ganharam experiência e não criaram soluções, não resolveram tarefas sensíveis e não obtiveram resultados, isso é muito triste.

Parece trivial, mas vi muitos programadores que não mudam quando se deslocam de um lugar para outro. Eles estão conscientemente procurando trabalho em que precisam resolver problemas familiares . É claro que, a curto prazo, é mais seguro. Mas o que a longo prazo?

Se você trabalha para o futuro empregador, sua bagagem, seu valor e seu conjunto de demissões estão em constante crescimento. Este é o investimento certo.

Source: https://habr.com/ru/post/pt434644/


All Articles