In my experience, I find that the following three statements define a professional software engineer:
- Know the correct technology to build a software solution (build the thing right).
- Understand the correct business problem (build the right thing).
- Build the solution on budget and time.
In this post, I outline the first and essential part of software engineering: knowing your tools.
Continue reading Know your tools
At any given time you probably have a couple of tasks that you are working on at your current job. Can you confidently say that you have a clear understanding why these tasks are important? Alternatively, can you say that you know how these tasks contribute to any of the goals of your organization?
I rarely asked these questions at the beginning of my career. I just did what dropped in my queue. However, one day the circumstances put me in a position of a team lead. Therefore, it became my responsibility to decide what tasks we pick and drop.
That is where I realized how easy it is for a developer to just grind in the routine of busy work. As you know, busy work does not make you a successful developer. You become successful by making your team or organization reach their goals.
Read on, and you will learn a powerful technique. The technique that you can use to make an impact and become more successful in your engineering career.
Continue reading Impact mapping for software developers – solve the right business problems
In previous posts we learned that a professional software engineer has to know 3 things:
- Technology (how to build a solution).
- Business (the problem you’re trying to solve).
- Process (how to build and deliver the solution efficiently).
We learned that an efficient process requires continuous delivery and an agile framework. In this post, you will learn the last piece of the puzzle which is about eliminating constraints.
Continue reading Eliminate constraints