I am taking some time off during the holidays. My post schedule is going to be highly unusual. It will all go back to normal after January 8th.
I worked on today’s Doodle Tuesday during a few data-centric meetings where I was discussing Big Data solutions and the use of specific metrics. My mind was preoccupied with the idea of core data, meta-data and how to store both as layers of the same concept. If you observe it, you might see this preoccupation reflected in the doodle.continue reading
Company culture is an important parameter in the success of a business, especially in the tech space. It represents the environment and character where employees generate ideas and produce value. It is the personality of a company and it regulates the heartbeat of a functioning organization.
Despite our desire to be in control of our environment, we are often unable to do so. Many things occur naturally, pushed by forces governed by the result of a myriad of factors that are too complex to study, understand and predict. ...continue reading
My doodles acquire archetypical shapes over time. Some forms recur, others morph into new ones and, sometimes, entirely new ones come out of nowhere, born from a primordial soup of thoughts and connections. Today’s Doodle Tuesday combines the archetype of a scroll – recurring in some of my older doodles – a cornucopia and a tangle of three-dimensional shapes. It also has some elements of objects giving birth to other forms, which is another recurring theme.
It was made with my faithful and on a . ...continue reading
I mindlessly added to this doodle on and off for a few days in various meetings, one little piece at the time. Like most of my meeting doodles, it is mostly a stream of consciousness. It ended up taking a form that for some reason reminds me of a bird.continue reading
Models of Reality & Level of Abstraction
The physical world and the rules that regulate it are complicated and very difficult to grasp. To make sense of it, we — humans — attempt to explain it with mental models. Models are logical constructions defined with terms that we created and understand. We use those models as proxies for reality in an attempt to grasp and predict its complicated and multifaceted rules.
Models are not an engineering-only concept; they are fundamental to everyday life and are natural simplifications of the world that we experience. We build models for everything, every day. For example, the memory we have of someone we met is a model of that person that we constructed in our mind. It is a description that is simple enough to store away in our memory, and sophisticated enough to be nuanced. ...continue reading
The Many Names of a Software Builder
In my blog, I have been using the terms coder, programmer, software developer and software engineer interchangeably. I do that mainly to avoid linguistic repetitions. However, I believe that there are differences between those words and similar others.
In this article, I will discuss a set of nouns commonly used to refer to someone who writes code. I will also give my interpretation of how those terms relate to engineering skill levels.
Interpretation of the meaning
The definitions that I will present here are not official. There are no formal definitions that I am aware of or trusted body to create such a thing. However, there are lots people with strong opinions on the matter. My understanding of what each of the terms implies is based on three decades spent in the software industry, but I fully expect that other people will disagree with my interpretation. ...continue reading
This is an old doodle from 2014 that I titled “Objects.” It is a collection of archetypes.continue reading
What is Coder’s Block?
Coder’s block is a period during which a developer struggles to write good code or any code at all. During a block, ideas don’t materialize, and the overall goal of a project seems far and out of reach.
Writing code is a creative pursuit that requires using a combination of both the left and the right brain. All such activities sometimes run into a block that can be described as a lack of creative energy; this is a well-known issue with writing (it’s called writer’s block), but it affects coding just as much. ...continue reading
I have accumulated more vacation time that I’ll ever be able to take. For that reason, I decided to take the entire Thanksgiving week off. It’s nice to rest for a few days and catch up on sleep, but I won’t be producing any meeting doodles during this time.
This one is from a few days ago. It “appeared” on a page during a meeting. I have no idea what it is.continue reading
When I started coding in 1984, there weren’t many choices of languages and technologies. Basic, C and Pascal were the main ones. Only a few books on the topic were available, and the internet didn’t exist. With such a limited choice, it wasn’t difficult to decide how to spend my learning time to become a software developer. Distractions were not a problem, and networking wasn’t much of an option either.
Over the years things changed dramatically. Today you have an incredible array of options and information to choose from. Deciding where to spend your time can be daunting. Should you become a generalist, and know a little bit of everything? Or a specialist, and know one thing well? Also, should you learn to write code at all? Are you trying to start a business, or are you trying to learn to code? What are your goals? ...continue reading