Enginyeria per a programadors

Quina tristor la dels posseïdors d’una enginyeria tècnica o superior en informàtica. Després d’anys d’assimilar conceptes com els diferents cicles de vida existents en el món del disseny de programari, de treballar amb eines CASE, de dissenyar projectes amb UML, ara resulta que ens passem el dia implementant. Estrictament implementant. Sense fe cas a la mètrica, només la sintaxis compta. La sintaxis, el seguiment del pla de projecte – implementar x en un temps t – i la satisfacció de l’usuari final. Tot el que queda fora d’aquest marc és bohemi i poc recomanable pels estoics programadors, distraccions poc funcionals.

Lifelong Learning: Una parada en el camí

Fa cosa d’un parell d’anys vaig acabar els meus estudis a la universitat oberta. En el seu dia no vaig voler cursar estudis superiors, ja sigui pel fet de ser un mal estudiant i per disposar d’una titulació bàsica en l’àrea on volia desenvolupar la meva activitat professional, van fer-me entrar en el món laboral sense passar per la universitat.
Anys més tard, després de fer un tast del món real, vaig resituar-me i vaig decidir iniciar uns estudis a la universitat. Tot i saber que una titulació superior hem seria útil en el món professional, la principal motivació per emprendre el repte va ser el fet de provar-me a mi mateix i demostrar-me que era capaç de cursar uns estudis superiors. Demostrar-me la meva capacitat, la meva determinació i la meva constància.
Vaig trigar uns 7 anys per cursar uns estudis que duren 3 anys, comptant semestres sabàtics i algun blackout, traduït en un abandonament de les assignatures que cursava per motius extraacademics …. La veritat és que es van acabar perllongant massa temps i al final es va nota en el pla anímic. Treballar i estudiar al alhora, i amb una certa autoexigència desgasta. Combinat amb alguns moments professionals complicats i altres problemes personals van fer que al final tot plegat hem passes factura i m’hagi passat aquests dos últims anys – formativament parlant – pràcticament en blanc.

Continua llegint «Lifelong Learning: Una parada en el camí»

Codi de dos en dos

Fa dies va caure a les meves mans un artícle d’un seminari generalista on es parlava de la tècnica de programació en parella. Mentre un programa, l’altre corregeix, puleig el codi i guia al seu company. Tot i que sembli un malbaratament de recursos comporta un seguit d’avantatges que permeten amortitzar l’ inversió.

L’esforç col•laboratiu permet detectar errors i escriure codi més eficient quan dos persones el creen simultàniament el que estalvia temps i diners a la companyia reduint la carrega de treball en la fase de manteniment del programari.
Seguint el desenvolupament d’un codi des del principi es pot entendre la lògica utilitzada per la persona que codifica, el que facilita trobar qualsevol error des del principi. Fent un símil molt més planer, es com buscar a Wally en un dibuix mentre s’està dibuixant l’escena, quelcom més fàcil que fer-ho quan un l’ha acabat.

Continua llegint «Codi de dos en dos»

Fonaments de programació

Aquella assignatura repetitiva que un es troba al inici de la carrera, o com a part d’alguna assignatura que es cursi en un mòdul de desenvolupament de software si és el cas. Bucles i recorreguts, aquest seria el resum del que s’hi fa. Basic, monòton i fins i tot avorrit. Doncs és el dia a dia de la gran majoria de professionals que és dediquen al desenvolupament en una petita i mitjana empresa, tractaments de negoci. Monotonia.

Enrere queden la enginyeria de programari, els anàlisis, les especificacions, el disseny de l’aplicació. Tot és centra i és carrega en la implementació. Una implementació modular o orientada a objectes, és igual. Però com més simple és el codi aplicat millor. Menys dificultat de manteniment i menys cost en quant a temps de desenvolupament.

Aquesta monotonia i simplicitat en la implementació, en el dia a dia, fa que és desaprofiti el potencial dels analistes programadors, i el potencial desaprofitat són capacitats que no s’arriben a desenvolupar, ni consolidar. En conseqüència un plus de productivitat per individu i per l’empresa que es perd. La solució passaria per donar més llibertat de moviments al desenvolupador perquè introdueixi en el seu treball diari disciplines analítiques adquirides durant la seva etapa lectiva. Pot representar una pèrdua de temps en quant a la implementació de les tasques, però dinamitzaran el seu treball, milloraran la qualitat del producte final i si l’empresa ho sap aprofitar, es capaç d’incentivar-ho i coordinar-ho pot convertir el potencial en força de treball.