Professional Skills for Software Engineers

I’ve had a project in my head for years and, in O’Reilly, finally found a publisher for it.

The idea is to provide a set of resources for junior and mid-level software engineers that cover areas that you are not generally taught at university, and that I think are particularly important if you want to get to more senior roles; essentially things I wish someone had told me when I got my first promotion.

“Professional Skills for Software Engineers” is published as a series of O’Reilly shortcuts—14 in total—covering communication, critical thinking, documentation and networking:

Communication

  1. Communicate with Teams More Effectively
  2. Communicate with Stakeholders More Effectively
  3. Learn to Listen and Respond with Empathy

Critical Thinking

  1. Approach Problem Solving
  2. Improve Your Critical Thinking Skills
  3. Understand Systems Thinking

Documentation

  1. Create Effective Documentation
  2. Maintain Documentation Successfully
  3. Improve Your Technical Diagrams
  4. Learn to Make Effective Presentations

Networking

  1. Present Effectively at Conferences
  2. Improve Your Blog Writing Skills
  3. Become Involved with Communities
  4. Contribute to Open Source Projects

Strangely, when we’re taught how to program, problem solving is rarely covered; rather, it is treated as something that future programmers should be able to figure out on their own. While an enjoyment of problem solving is something that draws many of us to this field, it doesn’t guarantee that we have all the techniques and know-how.

Visit O'Reilly
Shortcuts logo