If you’re exploring new professional opportunities, a career in tech may have caught your attention as a potential avenue. Even if you already have one, you might have reached a point where you wonder if it was the right decision.
Having been in the software industry for 30+ years, I firmly believe that a career in tech, and especially programming and software engineering, is not only accessible to everyone, but it also represents a brilliant path to take in life. I am going to give you my top 10 reasons for this sentiment. ...continue reading
I have a compulsive need to create art; I also have a lifelong love for coding. The two passions are compatible and interrelated. Coding and Math can generate artistic visions. In this post, I show how I created a program to draw doodles formed by tangles of “Cornucopias” swimming in space.
Doodling for Life
If you are a reader of my blog, you know that every Tuesday I publish a hand-drawn meeting doodle from my Moleskine. Recently I have been doodling an interesting shape that, for some reason, I enjoy looking at. I call it a cornucopia because it resembles an elongated and twisted goat horn. You can see an example here. ...continue reading
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