DEV Community

Discussion on: If you could go back in time, what skill would you have focused more on to help you succeed in your current position?

Collapse
 
loujaybee profile image
Lou (🚀 Open Up The Cloud ☁️) • Edited

Oh boy would I love to write a full post on this.

Firstly this is a GREAT question. If you keep asking questions like this, you're on the right track, bravo. It takes guts to go out there and ask these types of questions. Okay, let me take a stab...

IMO new engineers are very self-oriented, it's natural, since you're new, you don't know what to expect, the default response is to turn inward, and to spend time on yourself and gaining skills, etc. But the biggest gains you'll ever make come from working with others, asking good questions, collaborating, etc.

So I'd say the one skill would be: Understanding the ecosystem of people and individuals that you'll be working with, understand their language, motivations and expectations of you.

Let's take a couple of examples, and what they'd care about...

  • Your peers — Quality of code, writing good tests, helping out with refactoring, keeping good architectural principles, documenting, keeping people involved in discussions and decisions.
  • Your boss — Supporting team dynamics, delivering on time, unblocking and helping work to keep progressing, balancing technical tasks with business tasks, keeping value at the centre of your discussions.

When you understand that software engineering is the centre of this ecosystem it puts you in a much better place. When you can speak the languages of these different stakeholders, bend and flex to adapt to different situations, that's a skill I'd say is worth spending time on.

Now I appreciate what I mentioned is a little abstract, so here's a couple books I'd recommend. You don't have to buy the books, but go look at the topic area, read the contents, and google similar topics if you need. This is just a jumping off point...

  • Sprint (Jake Knapp) — For understanding how you can design / create a product on a short time scale (engineers are notorious for overcomplicating, and often neglect facilitation skills). This book teaches you how to design on a deadline, and gives you some great facilitation skills for leading a workshop / getting ideas out of a group of people.
  • Scrum (Jeff Sutherland) — Okay, I know some engineers will be like WHY. But, these frameworks (scrum / kanban) are very prevalent in the industry, if you understand how they work, why they work, etc. You stand a good chance to communicate well with people who work and think that way.
  • DevOps Handbook — To understand the engineering is often not just writing code, but then operating it (assuming you're in web / cloud development). This book explains some ins and outs of managing operations of development. It doesn't cover everything, but it gets you started down the rabbit hole.
  • The Coaching Habit (Michael Bungay Stanier's) — A short read on socratic coaching, or leading through questioning. A great skill to have, and one I don't see often employed. Those who know about it know how effective it is, those that don't know are blissfully unaware of what they're missing out on.

That's just a start, I guess. But aside from learning technical things, I'd really urge you to also delve into these "softer" subjects about how software gets designed, deployed, monitored etc. And start to put all these puzzle pieces together. If you can show that you've an interest in these areas, you'll stand a chance of standing out.

I hope that helped a little! Feel free to send any questions my way if you have any!