top | item 13732643

(no title)

foz | 9 years ago

It's hard to name one skill, but I'd put these into a single topic: the "soft skills" for becoming a more effective senior engineer.

Learning how to pair program effectively, and pass along skills to others. Performing great presentations and demos, and writing about your work. Being able to avoid complexity by finding simpler solutions. Separating yourself from your code and being open to criticism. Studying how goals, objectives and tactics relate to actionable tasks a software team needs to execute on. Becoming better a time management and prioritization, and delivering value faster.

None of these are very technical skills, but they require a lot of practice and a ton of patience.

discuss

order

jasonpeacock|9 years ago

Similarly, learn how to be a "force multiplier". Don't be the 10x engineer, but instead be the 10x multiplier.

How do you increase the quality & output of your entire team/org/company? Better features, fewer bugs, faster releases, etc. Learn what it takes to effect that change, and then learn how to make that impact wherever you are.

1091298301|9 years ago

Leave them alone? I've always worked in "teams" where 1-3 workhorses made everything happen; the rest was talking, spinning intrigues and inventing new workflow procedures (which slowed down and annoyed the workhorses).

avaer|9 years ago

If you really _are_ a 10x multiplier on a team, you should immediately quit and run your own show, because there's otherwise no chance you're being compensated remotely fairly -- nine times the sum of everyone else's wage.

mahyarm|9 years ago

So you mean join the developer tooling & infra team?

JeremyMorgan|9 years ago

I came here to say this. So many of us focus on the technical advancement only. But learning to work with people becomes more valuable in the long run.

As far as specific tech, my crystal ball is a bit fuzzy right now but AI seems a decent bet.

vram22|9 years ago

Interesting list.

>Being able to avoid complexity by finding simpler solutions.

This is one of the most important ones, IMO. Sometimes it may also mean reducing the size or scope of the problem itself - because YAGNI (where Y is the customer), or AYRSYNI (Are You Really Sure You Need It - TM me :). Seen it done by my managers a few times, and done it myself a few times (sometimes successfully, sometimes not), as a consultant.

https://en.wikipedia.org/wiki/You_aren't_gonna_need_it

https://blog.codinghorror.com/kiss-and-yagni/

Also, googling for links for YAGNI, TIL about:

https://en.wikipedia.org/wiki/MoSCoW_method

:)

vram22|9 years ago

Also, on a related note, since it is mentioned under the MoSCoW method (above), has any one tried timeboxing?

https://en.wikipedia.org/wiki/Timeboxing

I had read about in a book by Steve McConnell, IIRC (maybe his book Rapid Development), but did not get a chance to try it in a real life project - yet.

dasmoth|9 years ago

This does seem to be the mainstream view at the moment.

Any thoughts on the best opportunities for tech-oriented people who don't want to fit themselves into teamwork-focussed environments?

closeparen|9 years ago

What are some software projects you admire that were created by one person without teamwork?

I'd argue our field is past the point where writing any unqualifiedly impressive project is within reach of a single person, no matter how talented.

clay_to_n|9 years ago

All of his points except the first two are even more valuable if you don't want to work on a team.

When working solo, there's nobody to insulate you when your soft skills are lacking.

paulcole|9 years ago

1. Start your own 1-person business.

2. Work on resolving whatever issues led to the dislike of teamwork in the first place.

skyisblue|9 years ago

Are there any good books you can recommend that will help a software engineer's soft skills?

foz|9 years ago

"Managing Humans" by Michael Lopp made a huge impression on me and my career. https://www.amazon.com/Managing-Humans-Humorous-Software-Eng...

Also, "The Phoenix Project" which IMO is a groundbreaking work on how to make IT/business more effective (and the start of the DevOps movement). https://www.amazon.com/Phoenix-Project-DevOps-Helping-Busine...

Even if you're not a manager, both books are very approachable and packed with great lessons about how improve and better work with people, teams, and business.