Progress towards and engineering discipline of software by Mary Shaw

Several days ago, I watched this videotalk of Mary Shaw that tried to give an answer to the question is Software Engineering an Engineering discipline yet? Dr. Shaw makes a parallelism with Civil Engineering that started as a empirical discipline and, thanks to strong scientific foundations, evolved to what we could call full engineering. Software Engineering is not there yet. It needs more work and professionalization. Many of the so-called Software Engineers have no software engineering knowledge and/or skills and therefore software disasters happens. [Read More]

Concurrency and third party libraries

Last Friday, one of my mates had a strange error in his code: incoherent an unrepeatable results arise en each execution. His code (Python) was concurrent code and each thread used several libraries (BeautifulSoup41 was one of them) which they were not thread-safe. What does it mean? It means we cannot assure that atomicity is achieved in some operations executed by the threads, effectively sharing some data that must not be shared. [Read More]

Managing clients

The Players It’s not a secret that software engineers prefer a clean and completed specification than meeting with clients. We tend to think that meetings are a waste of time and many of our colleagues are not very fond of what is called soft skills. On the other side, we have some clients that have no idea about software and want the changes in their platform now. What is all of that? [Read More]

Real software architecture

Simon Brown is an independent software consultant from Jersey (UK) and gave this talk about Software Architecture in GOTO Amsterdam 2014. This talk delights me in several ways. First, Simon show us several common problems that happens in many software companies: diagrams of the software are not synchronized with code because. That is, we design some type of software architecture but we don’t follow our own path when coding. [Read More]

Back to basics, the mythical man-month

Frederick P. Brooks is what I’d call a true pioneer. Without any existing knowledge and only his own experience in the “tar pit” (as himself call this software development world), he distilled some universal truths of the Software Engineering world. So, the Mythical Man-Month is a summary of his ideas. This book is a night stand book, that is, you cannot hope to end it in a few days. You have to read slowly, thinking as a 60s software developer, with their limited tools and machines to fully understand this book. [Read More]