Showing posts with label tips. Show all posts
Showing posts with label tips. Show all posts

August 5, 2012

Development tips

I've worked in some projects so far and I learned some things that can save you a lot of time even if they sound very expensive. These tips are meant for small/medium size projects, perhaps you can apply them to big projects, but I'm not sure.


  1. Revision control system from the beginning.
  2. Define your goals and milestones, even without dates.
  3. Define what you are going to build, with use cases or user stories, or just use whatever you feel comfortable with.
  4. Define an architecture, don't go on without this. The architecture must define the form of the system, not the details.
  5. Define the contexts you are going to be working on, this means that you have to separate your project into smaller micro-projects (if it applies).
  6. Define your frameworks/libraries stack.
  7. Define your project(s) structure, this involves folders and files.
  8. Define your automated build scripts, something like Gradle would do it.
  9. Think in the tests before the implementation, if it's testable, it's implementable.
  10. Use continuous integration from the beginning.
  11. Keep you source files small and readable.
  12. Periodically check your system and update the architecture if some changes have been made.
I omitted several things, but I consider these the most important from a developer's perspective.

I didn't have this information at the beginning because I was too lazy to read about it, and had to learn it the hard way, by suffering the consequences...

December 23, 2011

People it is worth following

Among software development there are a lot of resources, a lot of people worth of looking at it, but to find out who is good enough to follow may take some time. That's why's I'm summarizing the people I enjoy reading/listening to in any topic related to software engineering and development in general.



Robert C. Martin
The 'Master Craftsman', I've read some of his books and are pure gold, his experience and knowledge are outstanding, and you can still see him coding!


Joel Spolsky
One of the heads behind StackOverflow, a hardcore developer that has been doing really cool things for more than a decade. His blog posts are extremely interesting and very, but very useful.


Jeff Atwood
Another of the heads behind StackOverflow, a very skillfull developer that has been delivering lots of tips, principles and advices for years.


Miguel de Icaza
He is the mind behind the initial Gnome project, started with Mono and now it's driving his own company called Xamarin. He might be controversial at times, but for sure it is worthy to follow him.


Scott Hanselman
One of the most productive developers I've seen, he's a .Net evangelist with years of expertise. His projects and blog are just amazing. Besides that he's a podcaster with various memorable recordings.




December 12, 2010

Things I have learned from work... so far

 Back in 2009 I started working on a Swiss software development company called Swissbytes, since then I have learned a lot of things. This is a very short list of the most important ones:
  • You are not the best programmer in the world, deal with it.
  • Always put your name in your source code.
  • Keep track of your work, as well of your source code.
  • Think a little bit before jumping into programming, but do not exagerate.
  • Keep yourself updated, no one likes conformists. 
  • Learn English, that's a must do.
  • A good specification is short and to the point.
  • A software product is never finished, never.
  • Work with standards, that's required if you are working in teams.
  • Write tests for your code (this is something I'm still learning).
  • Simplify your life, there are tools for that: revision control systems, automated build, template engines, static analysis tools.
  • And the most important of all: Enjoy what you are doing, if your work does not make you happy, there's something wrong. That's the best motivational advice I could give you, enjoy your work, enjoy working on group, enjoy working alone, enjoy challenges, be proud of yourself.

    I guess those are the most important for the moment, for sure I will be updating this list. Enjoy.