About me
Posted by Davide
Davide, 31 y.o., Italian, software developer, mainly in the PHP/Web area. I started this profession in 2002 and since then, although I had the chance to switch to a different area, I sticked on the Web.
Working as a web developer
I’m really passionate about Web development, for many reasons. It’s a growing and changing world, allowing a softwarist not to get bored about what he does. Every once in a while, a new web technology is brought to life, changing the way developers may give shape to their ideas, changing the way people interact with the net.
Surely – keeping oneself updated, and being able to change direction when a new way is open, is part of this world. But I consider myself flexible enough to handle that, and I find the act of learning a very enjoyable part of life.
I think that the easiest way to understand a developer – and consequently their approach to the job – is having a look to his working environment and to the methodologies he makes use of. So here are mine
The perfect environment
- A Linux machine, preferably Ubuntu or Fedora
- An English layouted keyboard
- A mouse on the left side of the keyboard (yes, I’m lefty)
- A powerful yet fast IDE (Netbeans is my current choice)
- A Wiki, a task & bug tracker, Doxygen and, if not alone, a team blog
- A web-oriented programming language (ok, I mastered PHP, but I would prefer Python, or even Ruby)
- A debugger and a profiler
- A unit testing suite
- A file versioning system, SVN or GIT
- Is there a database? MySQL, with PostgreSQL as second choice
- Need for a web server? Apache
- Developing a web app? A framework, like symfony
- Javascript? jQuery and Firebug
Methodologies
I like the concepts behind Agile methodologies, and when possible I like to stick to them. Test Driven Development forces to think about software architecture before getting one’s hands dirty in the code. SCRUM lets the team focus on small subsets of task, which make up a functionality, and forces intercommunication between team members. (side note: there’s an agile method, called common sense, that wraps them all)
Object Oriented Programming – even for PHP – is the way to go. A bit more of overhead, a lot more of maintainability. I try to code figuring that I have to deliver a class, or a subset of them, as a standalone package.
I’m not a Design Pattern master, but I use them every time I have the chance to: like using a mutually-known language, it makes code and architecture cleaner and more understandable to other OOP developers.
Comments are closed.