carreira de programador. Capítulo 3. Universidade

Continuación da historia "Carreira de programador".

Despois de rematar a escola nocturna, era hora de ir á universidade. Na nosa cidade había unha universidade técnica. Tamén tiña unha facultade de "Matemáticas e Informática", que tiña un departamento de "Sistemas informáticos", onde formaban futuros traballadores de TI: programadores e administradores.
A elección foi pequena e solicitei a especialidade "Programación de Enxeñaría Informática". Había 2 probas de acceso por diante. En linguaxe e matemáticas.
Os exames foron precedidos dunha entrevista, e a elección da forma de formación - orzamento ou contrato, é dicir. gratis ou por diñeiro.

Os meus pais estiveron presentes na miña entrevista e estaban preocupados pola admisión. Por suposto, escolleron a forma de contrato de formación. Por certo, custaba uns 500 dólares ao ano, o que era moito diñeiro en 2003, especialmente para a nosa pequena cidade. Lembro ben o diálogo do meu pai coa rapaza da oficina de admisións:
Unha rapaza: Podes tentar aprobar exames cun orzamento e, se non funciona, cambia a un contrato. Podes pagar a prazos.
Pai: Non, xa decidimos que solicitaremos un contrato
Unha rapaza: Pois por que, non te arriscas nada
Pai: Non, aínda é un risco. Dígame, todos están solicitando un contrato?
Unha rapaza: Si, todo o mundo. Probablemente só os imbéciles completos non poden
Pai: Entón temos unha oportunidade... dixo rindo, e asinamos os documentos de admisión

Por suposto, as actuacións do instituto aínda estaban frescas na memoria dos meus pais, así que co paso dos anos entendo por que dixeron iso.

No verán, antes da entrada, seguín comprando libros por todos os 40 dólares que a miña avoa me regalaba da súa pensión.
Do memorable e significativo:
1. "UML 2.0. Análise e deseño orientados a obxectos". Un libro que me ensinou a deseñar software de calquera complexidade, pensar a través da arquitectura, dividir todo en compoñentes, escribir casos de uso e debuxar diagramas UML. Este é o coñecemento que necesitan os maiores, os líderes e os arquitectos. Os que materializan un sistema dende o baleiro, cando só hai unha descrición da idea.
Coñezo persoas que xa teñen máis de 30 anos e aínda non poden tomar unha decisión a non ser que haxa unha orde de arriba, dun programador de rango superior. Nos traballos autónomos e remotos, cando a miúdo traballas un a un cun cliente, este coñecemento tamén é inestimable.
Tamén son relevantes para os desenvolvedores independentes que crean novas aplicacións e servizos. Aínda que pouca xente se molesta co deseño detallado. Por iso temos un software de tanta calidade, que traga toda a memoria, cunha UX torta.
2. "Estándar ANSI C++ 98". Non é un libro, pero ten máis de 800 páxinas de información básica. Por suposto, non o lin sección por sección, senón que me referín a regras específicas da linguaxe ao desenvolver o meu compilador C++. A profundidade do coñecemento da lingua, despois de estudar e implementar a norma, non se pode describir con ningún epíteto marabilloso. Podemos dicir que sabes todo sobre a lingua, e aínda máis. Traballo moi longo e minucioso para estudar o estándar. Pero tiña 5 anos de universidade por diante, así que ninguén me empurraba
3. "Delphi 6. Guía práctica".. Foi un salto rápido ao mundo da GUI e do adulador de formas. Case non había limiar de entrada, e eu xa coñecía bastante ben a Pascal. Mentres estudaba na universidade, escribín a parte do león dos programas comerciais en Delphi. Este foi un software para estudantes de posgrao universitario, contabilidade de pequenas empresas, goberno. institucións. Despois houbo varios pedidos de freelance. A mediados da década de XNUMX, Delphi dominaba o mercado de desenvolvemento de Windows. Ata agora, na caixa das tendas locais pódense ver programas con fontes e controis coñecidos, que distinguen inmediatamente unha aplicación Delphi de calquera outra.
4. "Tutorial de MFC". Despois de dominar Delphi, era lóxico seguir creando IU en C++. Foi moito máis difícil, non todo funcionou e era comprensible. Non obstante, tamén levei esta tecnoloxía á fase de aplicación en proxectos comerciais. Unha empresa de antivirus alemá distribúe o meu programa, escrito en MFC ata hoxe.
5. "3 discos con MSDN Library 2001". Non tiña Internet de inmediato e, polo que recordo, a MSDN Library non estaba en liña en 2003. En calquera caso, resultoume máis doado instalar o libro de referencia de MSDN no meu PC local e atopar facilmente documentación para calquera función WinApi ou clase MFC.
carreira de programador. Capítulo 3. Universidade
Os libros máis significativos lidos no período 2002-2004

Trátase de libros que foron lidos no período 2002-2004. Por suposto, agora este é un legado cutre, que se está a reescribir por lotes utilizando tecnoloxías .NET e Web. Pero este é o meu camiño, quizais algún de vós tivese un semellante.

Primeiro semestre

A finais do verán toca facer as probas de acceso á universidade. Todo foi ben. Pasei o exame de lingua e matemáticas e estaba matriculado no primeiro curso da especialidade de Programación de Sistemas Informáticos.
O primeiro de setembro, como era de esperar, fun ás primeiras clases da miña vida. "O tempo de estudante é o momento máis brillante da vida", díxome miña nai. Críao de boa gana.
O primeiro día aprobaron 3 pares de materias de educación xeral, todos coñecéronse no grupo e en xeral a universidade deixou unha agradable impresión.
Por fin comezaron a ensinarnos a verdadeira programación en C! E, ademais, ensinaron a historia da informática, a tecnoloxía dixital e moita outra información que foi relevante para min. Mesmo xurando. a análise foi útil, xa que me permitiu comprender máis profundamente o que escribiu o moi respectado Donald Knuth.

As clases de programación desenvolvéronse nun ambiente de condución para min. Finalmente, a xente veu a min pedir axuda. Eu sentínme necesario. Ao comezo da clase encargáronnos a tarefa de escribir un programa. A tarefa foi deseñada para un par e medio, despois media hora para probar. Conseguín escribir a tarefa en 3-5 minutos, e o resto do tempo pasei pola oficina e axudei a outros a descubrir o problema.
Non había ordenadores suficientes para todo o grupo, polo que a maioría das veces sentámonos de dous á vez nun mesmo ordenador. Vendo as miñas habilidades, tres, catro, ás veces ata 5-6 persoas sentáronse preto da miña mesa e non dubidou en sentarme para aprender o que aprendín hai un par de anos co libro de Kernighan e Ritchie.
Os meus compañeiros viron as miñas habilidades e eles mesmos formularon preguntas ou propuxéronse simplemente para saír despois das clases. Así fixen moitos amigos, a maioría dos cales aínda hoxe somos amigos.

No inverno, chegou a hora da primeira sesión. En total, foi necesario cursar 4 materias: 2 tipos de matemáticas superiores, historia e programación. Pasou todo, uns 4 puntos, uns 3. E a min asignáronme a programación automaticamente. Os profesores xa coñecían as miñas habilidades, polo que non viron sentido poñerme a proba. Presenteime feliz á sesión co meu libro de rexistros para conseguir inmediatamente unha sinatura nel e estaba a piques de volver á casa cando os meus compañeiros pedíronme que me quedara e quedara fóra da porta. Ben. Colocado no peitoril da fiestra, na saída da oficina, comecei a esperar. Había outro tipo ao meu lado, que tamén aprobou o exame automaticamente.
"Por que te quedas aquí", preguntei
— “Quero gañar cartos resolvendo problemas. Por que estás aquí?
- "Eu tamén. Só non vou gañar cartos. Se precisas axuda, por bondade do meu corazón, decidirei".
O meu opoñente dubidou e murmurou algo en resposta.

Pasado un tempo, os compañeiros comezaron a saír do público, levando consigo uns papeis dobrados que contiñan problemas do exame.
"Axúdame a decidir", preguntou o primeiro temerario. "Vale, eu decidirei agora", respondín. Nin sequera pasaran 5 minutos antes de que garabatei unha solución nun anaco de papel engurrado cun bolígrafo e devolva. Ao ver que o esquema funcionaba, a xente comezou a abandonar o público con moita máis frecuencia, e ás veces ata dúas ou tres á vez.
Había tres pilas de follas no peitoril do meu traballo. Un paquete contén follas TODO recén chegadas. Diante de min había unha folla de In Progress, e ao seu carón estaba un paquete de "Feito".
Esta foi a miña mellor hora. Todo o grupo, que era de case 20 persoas, recorreu a min para pedir axuda. E axudei a todos.
E o tipo que quería gañar cartos marchou apresuradamente ao cabo duns minutos, dándose conta de que aquí non había nada que atrapar, toda a atención estaba centrada no altruísta.
Todo o grupo aprobou o exame con 4º e 5º, e agora teño 20 amigos e unha autoridade inquebrantable en materia de programación.

Primeiro diñeiro

Despois da sesión de inverno, correron os rumores por toda a facultade de que había un tipo que podía solucionar calquera problema de programación, dos que nos asignaron na casa ou durante a sesión. E o boca a boca espallouse non só entre os estudantes de primeiro ano, senón tamén entre os estudantes de último ano.
Como xa escribín, desenvolvín relacións de amizade con todos os membros do grupo despois da "hora mellor" do exame, e comezamos a comunicarnos moi estreitamente con un par de rapaces. Fixémonos amigos de verdade e pasamos moito tempo fóra da universidade. Para simplificar a presentación, chamémoslles Elon e Alen (os alcumes son próximos aos reais).
Chamamos a Elon polo seu nome, pero Alain foi alcumado en homenaxe a Alain Delon, pola súa capacidade para seducir calquera beleza. As nenas literalmente rodeaban a el, en número variado. En canto a coñecer xente e iniciar relacións para a noite, Alain Delon non tiña igual. Era un auténtico macho alfa para o sexo feminino, algo completamente inusual para a maioría dos especialistas en informática. Ademais dos asuntos amorosos, Alain era deseñador por vocación. E se necesitaba debuxar algo, por exemplo, os entón populares banners parpadeantes do formato Web 1.0, entón fíxoo con facilidade.

Pódese dicir moito máis sobre Elon. Aínda nos atopamos con el a día de hoxe, dez anos despois da universidade. Nos seus primeiros anos era un tipo fraco, bastante silencioso. (Non se pode dicir o mesmo do cara grande de hoxe nun jeep). Non obstante, eu era o mesmo: delgado e taciturno. Polo tanto, creo que axiña atopamos unha linguaxe común.
Moitas veces, despois das clases, eu, Elon e Alen reuníamos nunha cervexa, cubertos cunha lona. En primeiro lugar, estaba en fronte da universidade e, en segundo lugar, por un "rublo" e 50 copeques, podías conseguir unhas golosinas durante 2 horas dunha festa incendiaria. Como cervexa de barril e galletas. Pero o punto era diferente.
Elon e Alen eran doutras cidades e vivían nun cuarto alugado. Constantemente faltaban cartos, e había momentos nos que tiñan que pasar fame. Os momentos felices, cando recibiron unha beca de 10 dólares na súa tarxeta, celebráronse o mesmo día e entón chegou o momento de "apertar o cinto" e vivir do que Deus manda.

Por suposto, esta situación motivou que os estudantes visitantes buscaran formas de gañar cartos extra. E diante deles, a un brazo lonxe, sentaba unha "cabeza brillante" en forma de min. Que tamén é flexible e raramente se nega a axudar ás persoas.
Non sei se describín correctamente esa situación, pero finalmente estas xuntanzas no pub levaron á creación da primeira empresa informática da miña carreira chamada SKS. O nome estaba composto simplemente polas primeiras letras dos nosos apelidos. A nosa nova empresa, representada por tres fundadores, destrozou aos competidores e a toda a universidade durante os próximos catro anos.

Elon era un ROP. É dicir, o xefe do departamento de vendas. É dicir, as súas responsabilidades incluían atopar novos clientes para o noso negocio de subcontratación. A canle de venda foi folletos A4 impresos horizontalmente, cunha sinxela inscrición: "Resolvendo problemas de programación". E debaixo está o número de teléfono de Elon.
Este tipo de publicidade exterior colocábase en todos os pisos onde podían aparecer os estudantes que estudaban programación.
Outra máis, máis forte en canto a fidelización dos clientes, foi a canle de venda a través do boca a boca.

O modelo de negocio era sinxelo. Xa sexa a través dunha recomendación ou dun anuncio, un estudante universitario púxose en contacto connosco. Deu unha descrición dun problema de programación que debía resolverse nun prazo determinado, e eu resolvíno polo prezo do estudante. Elon estivo involucrado nas vendas e recibiu a súa porcentaxe. Alain Delon participou no noso negocio con menos frecuencia, pero se necesitábamos facer un deseño, unha imaxe ou atraer clientes adicionais, sempre foi útil. Co seu encanto, trouxonos moita xente nova. Todo o que tiña que facer era procesar esta canalización a unha velocidade de 5-10 tarefas por día. Os prazos eran estritos, non máis dunha semana. E a maioría das veces, había que facelo onte. Polo tanto, tales circunstancias axiña ensináronme a escribir programas nun "fluxo", sen que me distraeran cada pequena cousa como un terremoto cunha magnitude de 5,9 ou un accidente importante fóra da xanela.

Durante a estación máis calorosa, antes da sesión, é dicir, en decembro e maio, parecía que tiña todas as tarefas da universidade no meu ordenador. Afortunadamente, a maioría eran do mesmo tipo, sobre todo cando nos contactaba un maiorista representado por un representante de todo un grupo. Entón foi posible facer 20 tarefas, por exemplo en ensamblador, cambiando só 2-3 liñas. En tal época, os chumbos fluían coma un río. O único que nos faltaba eran os disquetes. No 2003-2005, os estudantes pobres da nosa cidade non tiñan como transferir diñeiro a través de Internet. Ademais, non había garantías de pagamento, o que agora se chama escrow. Polo tanto, a empresa SKS, como cumpridora de pedidos, fixo unha cita no territorio da universidade e demos disquete cunha solución. Case non houbo reembolso (do reembolso inglés - devolución do pago a petición do cliente). Todos estaban contentos e recibiron os seus 4-5 puntos se puidesen aprender o que engadín ao ficheiro readme.txt no disquete. Aínda que, unha simple demostración dun programa totalmente funcional tamén causou moitas veces un efecto sorpresa entre os profesores.

O prezo era ridículo, claro, pero tomámolo en cantidade. Por exemplo, unha tarefa típica na casa custa entre 2 e 3 dólares. Curso 10$. O premio gordo en forma de programa para o traballo dun candidato caeu unha vez, e foi de ata 20 dólares para unha solicitude para un estudante de posgrao que se prepara para a súa defensa. Durante a época de calor, estes ingresos pódense multiplicar por 100 clientes, o que finalmente era superior ao salario medio da cidade. Sentímonos xenial. Poderían permitirse clubs nocturnos e divertirse alí, en lugar de atragantarse con cheburek polo seu último centavo.

Desde o punto de vista das miñas habilidades, multiplicáronse con cada tarefa do alumno novo. Comezamos a recibir solicitudes doutras facultades, cun programa formativo diferente. Algúns estudantes de último ano xa estaban a usar Java e XML ao máximo cando estabamos apoiándonos en C++/MFC. Algúns necesitaban Assembler, outros PHP. Aprendín todo un zoolóxico de tecnoloxías, bibliotecas, formatos de almacenamento de datos e algoritmos por min mesmo á hora de resolver problemas.
Este universalismo quedou comigo ata hoxe. Cando se traballa en proxectos, tamén se utilizan diversas tecnoloxías e plataformas. Agora podo escribir software ou unha aplicación para calquera plataforma, sistema operativo ou dispositivo. A calidade, por suposto, variará, pero para o negocio do que me ocupo principalmente, o orzamento adoita ser importante. E unha orquestra dun só home para eles significa recortar o orzamento exactamente tanto como o número de desenvolvedores que podo substituír coas miñas habilidades.

Se falamos do maior beneficio que me trouxo estudar na universidade, non serían charlas de algoritmos nin de filosofía. E non "aprenderá a aprender", como está de moda dicir das universidades. En primeiro lugar, estas serán persoas coas que seguimos amistosos despois do adestramento. E en segundo lugar, esta é a mesma empresa SKS que me converteu nun programador profesional, con encargos reais e diversos.
Gustaríame lembrar unha frase moi adecuada para esta parte da historia: Unha persoa convértese en programador cando outras persoas comezan a usar os seus programas e pagan cartos por iso..

Así, a marca da empresa SKS era amplamente coñecida non só nos círculos de estudantes, senón tamén entre os profesores. Incluso houbo un caso no que un dos profesores veu á miña casa para que eu puidese axudarlle a escribir un programa para as súas necesidades científicas. El, á súa vez, axudoume na súa especialización. Os dous quedamos tan absortos no noso traballo que os dous quedamos durmidos ao amencer. El está no sofá e eu nunha cadeira diante do ordenador. Pero cumpriron as súas tarefas e ambos quedaron satisfeitos co traballo do outro.

Torsión do destino

Comezou o 4o curso de universidade. O último curso ao finalizar o cal se outorga o título de bacharel. Practicamente non había materias de educación xeral, senón só as relacionadas con ordenadores e redes. Agora ben, ás veces lamento non ter tempo ou non mostrar interese pola mesma electrónica ou pola estrutura interna das redes. Agora estou rematando isto por necesidade, pero estou seguro de que estes coñecementos básicos son necesarios para calquera desenvolvedor. Por outra banda, non podes saber todo.
Estaba rematando de escribir o meu propio compilador C++, que xa era capaz de comprobar o código de erros segundo o estándar e xerar instrucións de montaxe. Soñei que estaba a piques de poder vender o meu compilador por 100 dólares por licenza. Multipliqueino por mil clientes e mentalmente
transportado a un martelo, cos graves de 50 Cent que soan polos altofalantes e os chicos no asento traseiro. Que podes facer, aos 19 anos, tales son as prioridades. O truco do meu compilador caseiro foi que producía erros en ruso, en lugar do inglés de Visual C++ e gcc, o que non é comprensible para todos. Vin isto como unha característica asasina que ninguén no mundo aínda inventara. Creo que non ten sentido contar máis. Non chegou ás vendas. Non obstante, conseguín un profundo coñecemento da linguaxe C++, que me alimenta ata hoxe.

No meu cuarto curso, fun cada vez menos á universidade porque coñecía a maior parte do programa. E o que non sabía, resolveino trocando cun alumno que entendía, por exemplo, electrónica ou teoría da probabilidade. O que non viñamos daquela. E auriculares invisibles nun fío no que se ditaba a resposta. E saír da aula para que un gurú da súa especialidade che escriba a solución de todo o exame en 2 minutos. Foi un gran momento.
Durante o mesmo curso, comecei a pensar nun traballo de verdade. Cun despacho, aplicacións comerciais reais e un soldo digno.
Pero daquela, na nosa cidade, só se podía atopar traballo como programador
“1C: Contabilidade”, que non me convenía nada. Aínda que por desesperanza, xa estaba preparado para iso. Nese momento, a miña moza estaba a presionarme para que me mudase a un apartamento separado.
Se non, durmir cos teus pais a través da parede non é en absoluto comme il faut. Si, e xa estaba farto de resolver os problemas dos alumnos, e quería algo máis.

Os problemas xurdiron da nada. Pensei en anunciar en mail.ru que buscaba un traballo cun salario de 300 dólares para o posto de programador C++/Java/Delphi. Isto é en 2006. Ao que basicamente responderon algo así como: "Quizais deberías escribirlle a Bill Gates con tales solicitudes de soldo?" Isto molestoume, pero entre unha morea de respostas similares, había unha persoa que me levou ao freelance. Esta foi a única oportunidade na nosa empobrecida Las Vegas de gañar un bo diñeiro facendo o que eu sabía facer.
Entón, estudar na universidade converteuse sen problemas no intercambio de freelance. Pechando o tema da universidade, podemos dicir o seguinte: Non fun a 5o curso. Había unha programación e un concepto como "asistencia gratuíta", que usei o 146%.
O único que había que facer era defender un diploma de especialista. O que fixen con éxito coa axuda dos meus amigos. Cabe dicir que para este curso xa me mudara dos meus pais a un piso alugado e comprei un coche novo. Así comezou a miña carreira como programador profesional.

Os seguintes capítulos dedicaranse aos proxectos individuais, aos fallos máis graves e aos clientes máis inadecuados. Unha carreira en freelance de 5 a 40 $/hora, lanzando a miña propia startup, como me expulsaron da bolsa de freelance Upwork e como de freelance me convertín en xefe de equipo da segunda petroleira máis grande do mundo. Como volvín ao traballo remoto despois da oficina e do inicio, e como resolvín problemas internos de socialización e malos hábitos.

Continuar ...

Fonte: www.habr.com

Engadir un comentario