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. …

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…

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

Processing…
Success! You're on the list.

Get my latest articles in your inbox

I write about software engineering, technical leadership and management.

Sign up to receive a monthly summary of recent articles, book reviews and interesting links.

No spam. Only the best learnings and ideas from me to you.