Top non-technical skills for Senior Engineers and Technical Leaders
As you grow as a Senior Engineer and beyond, the leadership side of your work becomes more prominent and, in some cases, eclipses the technical side. Designing a scalable system may not seem as hard as getting buy-in from key stakeholders and teams you will depend on. That’s why it’s important to invest in improving…
Avoid these Interview Mistakes for your next Engineering Manager Role
I recently hired a new Engineering Manager to take over one of my teams. During the hiring process we received almost 200 applications. The overall quality of candidates looked good on paper; some were already at companies like Amazon, Twilio, Uber. The initial screen during our interview process is a simple 30 min chat where I…
7 Habits of Highly Effective Software Engineers
Stephen Covey’s 7 Habits for Highly Effective People is a business book classic. What if we took the idea of 7 Effective Habits and applied it to Software Engineers? Here’s my list based on common habits I have seen amongst top performing software engineers in my career. Actively prototype new ideas Ideas and new technical…
Learning Mindset for Software Engineers
For software engineers, constant learning comes with the territory. Learning is at the center of what we do, whether it’s keeping up with new tech, or learning the architecture and codebase of a project you just inherited. Here are some thoughts on the learning mindset that can help keep you sharp. Adopt the Beginner’s Mind…
5 Mistakes Beginners Make When Learning Web Development
People getting started with web application development do so with the hopes of breaking into tech. Unfortunately, I often see many get on the wrong track and end up frustrated and dejected. There are a ton of tutorials and materials out there. But often many of these approaches don’t work. This post will help you…
Demand-side Thinking: Creating Pull For Your Products
A great product tends to sell itself. It’s the obvious choice for the problem it solves, and it solve that problem very well. Such a product appears to have a natural pull. So how can you go about creating a product like that? An approach that has caught my attention is what I like to…
How to Make A Prototype App
Prototyping is probably the most effective way to discover great new product ideas, and technical solutions to challenging problems. Building a simple demo lets you explore your ideas outside your own mind. It allows you to find new possibilities and creative directions. Unfortunately these days I see engineers are often bogged down churning out feature…
Geoffrey West on the Creative Process
From the book Scale: As is often the case when moving into uncharted territory and trying to develop new ideas and ways of looking at a problem, the final product seems so obvious once the discovery or breakthrough has been made. It’s hard to believe that it took so long, and one wonders why it…
Modern Distributed Data Architecture with Event Streams, Stream Processing and Derived Data
Some of the most interesting projects I worked on at LinkedIn involved building large scale real-time pricing and machine learning products. They required crafting fault-tolerant distributed data architectures to support model training, forecasting and dynamic control systems. None of this work involved a traditional relational database. Instead event streams, derived data and stream processing became…
How to Build a Web App: A Beginner’s Guide
This guide will walk you through, step-by-step, on how to build a web app. If you have been teaching yourself programming, you will have picked up different skills without learning how to put them together in an end-to-end project to build real-world production software. I know this is a common frustration faced by many people…
Ultralearning: 9 Principles to Learn Faster and Better
Although a lot has been written about the learning process, there has been very few clear, direct step-by-step guides on how to go from zero to mastery. Scott Young’s book Ultralearning has changed that. Ultralearning is a technique, developed by Young, for learning any subject matter thoroughly and quickly. He has used the approach for…
How to choose a programming language to learn
When starting out building web apps, you find there are a number of choices for the programming language you can use. For a beginner, the different options can be overwhelming. Over the years, programming languages ebb and flow in popularity. You might feel the pressure to pick something that is quick to learn and build…
How to Learn Programming: A Roadmap for Becoming a Software Engineer
I come across questions on how to get started in programming often. People are hungry to learn, but don’t know where to start or which path to take. This is made even more difficult these days due to a lot of different areas that exist, such as web development, mobile software development, game development etc. …
Are you feeling stuck in a plateau? Here’s what it means and what to do about it
If you are feeling stuck in your learning journey, you are not alone. As frustrating as it may be, hitting a plateau is an unavoidable part of the learning process. We imagine and hope for growth to be a straight line, upwards to the right. But that’s never how it plays out in reality. Instead,…
Book Notes: Inner Game of Tennis
Quick summary To succeed in the outer game, one has to excel in the inner game of the mind. The key to mastering the inner game is to practice the art of relaxed concentration. This involves visualizing the desired outcome, silencing the judgments from Self 1, and enabling Self 2 to let it happen. Takeaways…
Identity First: How To Build a Self-Sustaining Path To Better Learning and Growth
In his book, Atomic Habits, author James Clear shows us how to build good habits and cut out bad ones. One particular concept in the book has dramatically improved my own ability to learn and grow. It is the idea that you can improve your success in life, not just by focusing on your goals,…
Mastering your Inner Game: the art of relaxed concentration
Back in the 70’s Timothy Gallwey made a breakthrough discovery while coaching his tennis players. During practice, he noticed some of his students giving themselves verbal instructions for improvements. They would tell themselves things like “get up for the ball”, “bend your knees”, “swing harder” etc. There was nothing unusual about this self talk, except…
FREE DOWNLOAD
Getting Started with Web Application Development

Sign up to receive a Free roadmap on Getting Started with Web Application Development.
The Guide includes:
- 6 Step roadmap to go from a Beginner to a Full Stack Web Application Engineer
- Each step includes details on what to focus on, traps to avoid and how to practice
- Includes a detailed glossary of common terms