Why is "software maintenance" even a thing? There is no physical wear and tear, and there are no materials that can rot or rust away
Product Vision and Engineering Vision are critical components of any software development undertaking. Agile methodologies are not an excuse to achieve results without planning or without knowing what you want to build or how you are going to do it.
About Us For more than a decade we’ve been adapting, innovating an...
I had a lot of fun coding throughout my career. There are a few problems, however, that I still remember fondly as particularly fun to resolve.
I am not a fan of design by committee; in fact, I believe that it is more of a disease than a strategy. It afflicts teams with no leadership or unclear leadership; the process is painful, and the results are abysmal. That is why I like to implement a mixed model that takes advantage of both individual creativity and group wisdom. I call it “Generate apart, Evaluate Together.”
When having discussions with my teams, I don't mind being wrong. In fact, I like it. I could even go as far as to say that I love being wrong, at least in hindsight. Let me explain what I mean by giving you five reasons.
In this dissertation, I take you on a guided tour of my model of individual and team dynamics in relation to change.
A career in tech is fun, makes you a better thinker, keeps you mentally young, gives you a passport to companies everywhere in the world, keeps you challenged, is not going to be automated out of existence, pays well and is compatible with whatever passions you might have.
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.
Every person operating in a group modifies the group by broadcasting energy into the environment. People have different personalities that translate into different energy signatures. We are similar to wave generators immersed in an energy pool that both influences us and is influenced by us.
In software development, choosing the right level of abstraction can be tricky. Here I used an analogy and a practical example to visualize the concept.
In this article, I discuss a set of nouns commonly used to refer to someone who writes code. I also give an interpretation of how those terms relate to engineering skill levels, draw a parallel with martial art ranks and provide examples of code at each level.
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.
This post was first published on CoderHood as Best Strategies To Invest Your Engineering Time Wisely....
Every software engineering team requires doers and leaders. In my experience, for every five or six doers, you need a leader. It is essential for engineering managers to learn how to spot and coach people into leadership roles.
To be effective, software engineers must hone their problem-solving skills and master a complex craft that requires years of study and practice.
Do you have suggestions for topics about the software industry that you'd like to see tackled?
Leadership is an art; this is not only a statement that I genuinely believe to be true, but it is also the title of an excellent book written by Max Depree.
Doodling helps me to stay in the moment and focused on the topic discussed in the room. It quiets the barrage of distracting information flooding my visual cortex.
Building software is still in its infancy. How will it change 50 to 100 years from now? Here is a possible version of it.
The complexity of managing teamwork increases dramatically with the size of the team increases. What are the various scalability stages and challenges?
Bellevue, WA (Local candidates only) About Us For more than a decade we’ve been...
In this post, I define 19 of the most common types of developers with a short description and list of technologies they use and skills they must have.
In this post, I am going to describe some typical behavioral patterns you'll encounter when interviewing engineers and some suggestions on how to interpret them.
This post was first published on CoderHood as 15 Best Ways to Achieve Flow. CoderHood is a blog dedic...
This post was first published on CoderHood as 9 Software Engineering Career Mistakes To Avoid At All...
I know you won't believe me at first, but please keep reading this letter to the end. You are in your early 20's and you don't believe most things you can't see, but I have to try anyway. I am the older you, writing from 2017, almost 2018. Yes, you are going to make it that far.
Your personal brand is a combination of your name and your reputation. As a software engineer, you need a personal brand because...
Today the computer language landscape is much more diverse. There are many useful languages and technologies to choose from. The decision can be difficult.
The “issue cycle is a phenomenon that can be divided into eight phases looping around in a span of 3 or 4 years.