Arxiu d'etiquetes: Desenvolupant

Programació eficient: Posant les bases

Imatge via pheaber sota llicència Creative Commons

Aquests últims mesos he après molt sobre productivitat, tot i que encara hem queda molt per fer i per aprendre. El millor de tot és la possibilitat d’aplicar-ho en el meu dia a dia. Com a analista –programador porto anys adonant-me de com perdo el temps a l’hora de desenvolupar projectes, gestionar tasques i implementar idees. Els conceptes presentats a continuació volen ser els primers d’una sèrie sobre productivitat, eines productives en el desenvolupament.

Continua llegint

Perquè m’agrada programar


Imatge via Nic’s events sota llicència Creative Commons

Una visió personal sobre els punts que més atrauen d’aquesta feina/afició. Ja siguem programadors de gestió, de sistemes, o dissenyadors que codifiquen en la web, tots experimentem un seguit de sensacions en el procés d’aprenentatge i en el de maduració professional que ens fa compartir algunes de les coses que menciono en el post. Una llista de factors que contribueixen a fer atractiva aquesta activitat com a professió. Si tenim la sort de treballar en un entorn de treball agradable, sense més tensions de les necessàries poden arribar a convertir-la en més que una feina.

Vertical vs Horitzontal


Imatge via pouwerkerk sota llicència Creative Commons

Aquestes últimes setmanes he estat llegint un llibre sobre Steve Jobs i Apple. Com pensa i com els seus valors i les seves decisions han creat el concepte de producte que ens ven la seva companyia. Un dels conceptes que més m’ha cridat l’atenció ha sigut el de l’arquitectura vertical, on la mateixa companyia intervé en el disseny i distribució dels diversos elements que intervenen en l’experiència d’usuari proporcionada per un producte. L’empresa crea el maquinari, el programari i subministra els serveis per proveir el producte de contingut. Una constant en Apple. S’exemplifica amb l’iPod. La mateixa empresa crea el dispositiu, el software per gestionar-lo i el servei per descarregar música o vídeo per carregar-lo. Un sistema que en un principi va allunyar Apple del consum de masses, però que progressivament van assimilant altres companyies a l’hora de desenvolupar sistemes que funcionen sobre una plataforma mòbil, smartphones, pda o reproductors multimèdia.

Capacitat analítica


Imatge via World Economic Forum sota llicència Creative Commons

Fa dies que a la feina estic batallant amb una millora implementada per a un client. Com sempre, les modificacions de gran abast comporten un volum de manteniment i de correccions molt superior, no pels canvis realitzats en si mateix, més aviat pel nivell on han sigut implementats – propers al nucli de l’aplicatiu- i per la funcionalitat que s’ha tocat, el sistema de càlcul de preus. Quelcom conflictiu, ja que de les modificacions se’n poden desprendre efectes imprevistos i no desitjats. Després d’estabilitzar la modificació s’han reduït el flux de correccions, però cada cop impliquen més dificultat. Són més tedioses, el nombre de proves a realitzar és elevat, tot i que només toquem una línea de codi hem d’aplicar el joc de proves complert. En aquestes situacions, diguem-ne extremes, sempre hi ha un company amb més coneixement del mòdul en qüestió, al qual s’acaba recorrent perquè col·labori en la resolució. Hem fascina veure com és mou per dins de l’aplicació. Fa més anys que treballa amb ella, i és l’autor de part del seu nucli. Conjuntament arribem a una conclusió respecte a la solució al problema o acabes rebent les indicacions necessàries per sortir del punt mort en que et trobes. L’experiència és un grau, però un dels seus punts forts és la seva capacitat analítica. Estan assegut a la seva bora he arribat aprendre molt sobre com plantejar els problemes, i com  debugar l’aplicació per treure’n l’entrellat.

Continua llegint

Programant en mòbil


Imatge via Pascal \o/ sota llicència Creative Commons

Un mini-computador a la butxaca de cada persona. Recordo que quan era un nen comprava un col·leccionable sobre ciència i tecnologia de publicació setmanal, Quest crec que es deia. Dins s’hi podia trobar un apartat on es realitzaven previsions sobre el futur de la tecnologia, de quins possibles avenços gaudiríem en uns anys, i com aquests canviarien la nostra vida. Dos dels que recordo més vivament eren els microtelèfons, reduïts fins al punt de tenir un tamany d’auricular, i els ordinadors portables, els quals cabrien en una butxaca. Quanta nostàlgia. No anaven desencaminats, avui en dia pràcticament tots tenim telèfon mòbil, i pel que sembla anem cap a una presencia cada cop més generalitzada dels smartphone. Més assequibles i més orientats al consum domèstic, oferint versions amb interconectivitat amb xarxes socials, capacitat de reproducció multimèdia (foto, vídeo, MP3) i connexions HSDPA i Wi-fi. Prestacions cada cop més elevades, i més properes a l’usuari domèstic, sense deixar de banda al professional.

En resum, un nou mercat. El primer cop d’efecte a l’hora de presentar un telèfon d’última generació, el dona el fabricant presentant el hardware. Terminals amb les màximes prestacions a un preu raonable. Encara tenim present la febrada iniciada amb la presentació del primer iPhone, i com aquest model d’Apple va desencadenar la transformació del món dels terminals mòbils.

Passada la gran primera onada, on tots els fabricants van renovar la seva línea de terminals, incorporant pantalles tàctils com interfície dominant i augmentant-ne les prestacions. El mercat es va assentar. Confirmats com una tendència, i no com una moda, es comença a explotar la seva capacitat mitjançant el programari. Un altre cop Apple va ser el primer a potenciar una plataforma que permetia a l’usuari crear aplicacions mitjançant un SDK i distribuir-les a través d’iTunes. Omplir el maquinari de contingut utilitzat assíduament. L’han seguit Google amb el seu sistema operatiu Android i el seu SDK, i la seva pròpia botiga d’aplicacions, o Microsoft amb el seu entorn de desenvolupament per Windows Mobile.

Continua llegint

Una aplicació, una migració

Farà cosa d’un any vaig ser convidat per la direcció del departament de desenvolupament de la meva empresa, a participar en unes sessions de treball que se celebren periòdicament i on es treballa sobre la migració de la nostra aplicació comercial a un entorn de desenvolupament sobre la plataforma .NET.
En una primera fase, es va desenvolupat les especificacions del nou sistema i s’ha donat algun primer pas sobre el disseny. En el moment en que hem vaig incorporar, l’equip havia passat a una segona fase. Exploràvem les tecnologies proveïdes per la plataforma .NET amb la intenció d’avaluar quines incorporar a la nostra futura aplicació. Entre les opcions testejades, Silverlight, Windows Comunication Foundation , Windows Workflow Foundation, Aplication Blocks etc… El nostre pla era crear una aplicació pilot, aplicant les mencionades tecnologies i veure fins on es poden desenvolupar dins el futur projecte.
Un procés de migració és llarg i complex, la nostra empresa va començar la fase d’especificacions i planificació fa dos anys. A més és cabdal prendre les decisions adequades, per tal de dotar l’equip de desenvolupament d’un pla de treball i una planificació el més clara possible, així com de les millors eines.

Continua llegint