Entradas

Mostrando entradas de agosto, 2017

"Who needs an architect?" - Comment

Software Architecture seems to be a concept that is difficult to describe as there are many definitions about it. For me it is simply designing the highest level of interpretation of a software system with the communication between the components. As there are categories on the level of a programmer (junior and senior) there must be the same when someone has the title of "architect" in a project. Being an architect might look as a easy to do job but it can make its team succeed or fail on finishing a project on time, cost and scope. Getting to be a architect should be defined by having experience on creating modules of a system and understanding the complete solution at a high level. Getting rid of software architecture? Nonsense. No matter what you or another person designs, it can be seen as an architecture, a component has its own architecture, a part of that component has its own architecture, everything that is designed combines two or more elements that togethe

Comment about "Software Architecture: Laying the Foundations of Software Design"

Imagen
This week I'm going to talk about the foundations of software design which is essential for creating a software architecture. These are my comments after reading the Chapter 14 of the book "Code Craft: The Practice of Writing Excellent Code" by Pete Goodliffe’s. First of all, after understanding the requirements of scope, time and cost of a project, the software team has to decide the design of the system. The things that have to be decided are, the key software modules and which component talks with one and the other. This will help to identify at a high level how the software has to work and how it can be divided so that every team player can work at the same time. As a programmer, one of the best things that we can receive is a clear explanation of the software design. This allows us to just work in the implementation of it. Sometimes the software can be just pushed to a virtual machine in the cloud but there are some others like an embedded system, on whi

Moon Machines

Landing on the Moon is a task so huge that not even with my programming skills are sufficient to program a little spaceship to fly above the sky and be able to make it through the space and get to it. I hope someday Amazon sells spaceships that can do what we think is unthinkable now a days. Before 1969, it was unthinkable for a person to walk in that piece of rock that accompanies the Earth while it travels around the Sun. The youtube video "Moon Machines: Navigation Computer"[1] shows in more detail what happened for NASA to get to the Moon. Leaving aside the complexity of project, one of the biggest concerns was that it involved real persons that would die if anything went wrong. The planning and design of all the people working on this had to be faultless. But as any project, errors happened. The system had to be robust enough to at least get and return to the Moon with the astronauts alive. The code for the Apolo 11 was published on github here [2]. And there is

Introduction

Imagen
Hi! My name is  Arturo Avilés . My favorite programming language is Python but I also like to learn about many others. My next goal is to learn React and master VIM. Expectations about S/W Design and Arquitecture: As a computer engineering student, I expect this course to show me how to use the programming design patterns and to learn some ruby which I haven't used in the last months. Hobbies and Personal Interests: Programming Machine Learning Automation Travel Books, music, movies, TV programs that I have recently enjoyed: Rick & Morty Valerian (Movie) Find me at github as @arturoaviles