Si fa un any em pregunteu què va fer un enginyer de programari, hauria dit alguna cosa com la 'resolució de problemes mitjançant el codi'. És una resposta senzilla que apunta a com s'avalua el treball que produïm. Per als enginyers d'equips basats en productes, aquests problemes podrien incloure com implementar-los una nova característica que els clients han estat demanant , o com millorar el rendiment de les funcions existents.



Si em feu la mateixa pregunta avui, donaria una resposta una mica diferent. Els enginyers de programari tenen l'encàrrec de resoldre els problemes adequats mitjançant el codi i, quan es resolen de manera eficaç, assoleixen els objectius empresarials. Esbrinar quins problemes s'han de resoldre i com resoldre'ls és la part més important de ser desenvolupador, i els detalls reals de la implementació són secundaris.




nombres d’àngel 234

El meu camí cap a l'enginyeria del programari

Em vaig interessar per la programació després de fer una classe a Codi de la línia superior l'estiu abans del meu primer any d'universitat. Vaig tenir aquesta oportunitat gràcies a un programa de preparació universitària i professional del qual formava part La Xarxa d'Oportunitats .

Upperline Code va ser la meva primera introducció a la programació i ràpidament em vaig adonar que m'interessava aprendre a programar. Més tard aquell estiu, vaig rebre el meu paquet de matrícula de Notre Dame i vaig canviar de la Facultat d'Arts i Lletres a la Facultat d'Enginyeria per poder especialitzar-me en Informàtica (CS).

Alguns dels meus cursos de CS preferits eren Disseny/Anàlisi d'Algoritmes, Cloud Computing i Reptes de programació. Els problemes eren interessants i els professors van ser genials per presentar idees noves i explicar conceptes.

Durant el grau, vaig saber que volia treballar com a enginyer de programari i utilitzar les habilitats tècniques que vaig adquirir. Afortunadament, l'estiu abans del meu últim any, vaig tenir l'oportunitat de fer pràctiques com a enginyer de programari a Cantat i emparellar-se amb altres enginyers per ajudar a oferir funcions.

La meva experiència de pràctiques, juntament amb les xerrades motivadores dels meus professors, em van donar la confiança per no conformar-me amb cap altra funció quan vaig començar a sol·licitar feina. Després de passar molt de temps a l'horari d'oficina, em vaig graduar el 2021 amb un títol de CS i vaig acceptar una oferta per ser enginyer de programari associat aquí a Sprout Social .



  Julius Boateng i un grup de companys de Sprout Social

Instal·lació a Sprout Social

Part de ser nou en el paper i nou a l'empresa va ser haver de desenvolupar tant habilitats generals d'enginyeria de programari com coneixements específics del domini de Sprout. Vaig trobar que les tasques que requerien coneixements generals de programació per entendre eren les més fàcils de resoldre. No obstant això, les tasques que requerien coneixement de l'arquitectura de Sprout em van trigar temps i vaig haver de confiar en l'ajuda del meu equip. Tot i que hi ha alguns problemes que podeu resoldre llegint la documentació en línia, no sempre podeu trobar informació rellevant per al treball que esteu fent; poder demanar orientació als altres és crucial.

Una de les primeres coses que em va destacar quan em vaig unir a Sprout va ser la col·laboració del procés de desenvolupament. Sabia que es necessitaven equips sencers per desenvolupar funcions, però no sabia com era això a la pràctica. Ràpidament em vaig adonar que el llançament d'una funció d'èxit requeria que moltes persones amb diferents rols treballessin juntes, des dels gestors de productes que definien els requisits del projecte fins als dissenyadors que creaven maquetes i enginyers que implementaven funcions. La col·laboració no era una cosa opcional, sinó una necessitat per assolir els objectius del nostre equip.

  Foto dels companys de feina de Julius Boating i Sprout fora de Calder's Flamingo statue in downtown Chicago

Aprendre a navegar per les diferents bases de codi i construir un model mental de com interactuaven els diferents serveis entre ells va ser una corba d'aprenentatge pronunciada. Atès que el negoci principal de Sprout és el programari, la seva arquitectura està molt condicionada pels seus requisits empresarials. A mesura que anava augmentant, vaig haver de ser conscient dels problemes empresarials que els desenvolupadors intentaven resoldre i per què es van prendre decisions arquitectòniques prèvies.



Inicialment, em va intimidar una mica que les sol·licituds d'extracció requereixen revisions abans que es poguessin fusionar a la base de codi. Entendre que l'objectiu principal de les revisions de codi és compartir el coneixement i mantenir els estàndards de codi va ajudar a canviar la meva perspectiva.

Revisar el codi m'ha ajudat a afinar les meves habilitats tècniques i a millorar la qualitat de les meves sol·licituds d'extracció. Que els companys em donin consells sobre què canviar, em presenten nous patrons i m'indiquen àrees rellevants de la base de codis ha estat molt útil. Llegir les sol·licituds d'extracció d'altres enginyers també m'ha donat una valuosa visibilitat sobre altres serveis en els quals no estic treballant directament.


44 número espiritual

Les teves experiències prèvies són importants

Hi ha una idea predominant que a mesura que entres en noves etapes de la vida, les teves experiències prèvies ja no importen. Un cop entres a la universitat, les teves experiències de secundària ja no importen. Un cop entres a la força de treball, les teves experiències universitàries ja no importen.

Però una cosa que sovint es passa per alt és que les nostres experiències, coneixements i hàbits tenen un efecte agregat. Normalment només podem aconseguir coses noves gràcies al treball que hem fet abans. Els coneixements i les habilitats que he adquirit anteriorment han influït enormement en la manera d'abordar els nous reptes com a enginyer de programari de nivell inicial.

Les classes durant el grau que van tenir un impacte més directe en el meu treball diari a Sprout van ser Reptes de programació i Conceptes de bases de dades. El primer em va ensenyar a dividir grans problemes en peces més petites per resoldre'ls de manera més eficient. Em va ajudar a ser més intencionat sobre com vaig estructurar el meu codi i va millorar la llegibilitat del meu codi.

Database Concepts em va ensenyar conceptes fonamentals de bases de dades relacionals i va tractar temes com el disseny d'esquemes de bases de dades i SQL. Vaig aprendre a escriure consultes, cosa que ha estat molt útil, ja que sovint necessito consultar les nostres bases de dades per resoldre problemes o respondre preguntes.

  Gif animat d'un kit de robot TurtleBot.

Les oportunitats que vaig tenir fora de l'aula van ser igual de valuoses. Java no era un llenguatge que es tractava a la majoria dels meus cursos, però vaig tenir l'oportunitat de treballar-hi per a un projecte empresarial que liderava un dels meus professors. Vaig adquirir experiència pràctica escrivint Java, treballant amb bases de dades MySQL i creant imatges de Docker. Aprendre Java va ser especialment útil, ja que la majoria dels serveis de Sprout hi estan escrits.

Hi ha moltes altres habilitats que vaig adquirir al llarg del meu temps a la pregrau i que doc per fetes, com ara navegar per la línia d'ordres i comprendre els conceptes bàsics de programació. És una idea errònia comuna que, com que la majoria dels temes tractats a la pregrau són de naturalesa teòrica, no us prepararan per a les carreres d'enginyeria de programari. Tanmateix, crec que és cert el contrari: les habilitats que apreneu a la pregrau importen, fins i tot si no són directament aplicables a la vostra feina diària.

La informàtica és un camp molt ampli

CS cobreix una varietat d'especialitzacions, com ara la intel·ligència artificial, l'aprenentatge automàtic i la ciència de dades. L'experiència que obteniu a la pregrau serveix com a coneixement bàsic que us pot servir bé en una varietat de rols de nivell d'entrada no exclusius de l'enginyeria de programari. Fer el salt del grau a una posició a temps complet ofereix l'oportunitat d'explorar quin tipus de paper i especialitat és el més adequat per a vostè.

Si estàs buscant iniciar una carrera en enginyeria de programari , Sprout és un bon lloc per començar.

Comparteix Amb Els Teus Amics: