Profile picture
Nicolas @necolas
, 9 tweets, 2 min read Read on Twitter
I'm often asked "how do I improve my technical skills as a software engineer?" Amusing because mine are mediocre. But, it's the same way you get better at anything else. Here are some concrete examples I've seen help…
1. Learn by unlearning. Be curious, humble, open-minded. Be prepared to let go of what you think you already know. Don't jump to conclusions. Don't trust your assumptions. Don't be afraid to begin again.
2. Learn with others. Find a good, stable team. People with whom you can think out loud. People who learn from and teach each other. Even if you think you're the most junior person, you must be teaching others what you learn.
3. Learn by immersion. Find a long-lived, iterative project. Developing depth of understanding about systems (and products) takes time for everyone. Iterating on the same "problem" for a while is essential. Seeking the consequences of your decisions over time is essential.
4. Learn by watching. This is so important and underappreciated. Review patches! In my experience, engineers that review and discuss changes progress faster (and understand better) than those who don't.
5. Learn by exploring. Regularly browse and read through other software. Read, read, read. Lots of "huh?", "how does this even work?", "let me play around with this", "did I find a bug?", "this is brilliant/terrible", "what's that API?", "oh now I understand…actually, I don't".
6. Learn by remixing. Refactor code you don't understand. Transforming code into a form that more people can understand is a great way to learn, and an important skill that makes teams more effective.
7. Learn by doing. Evidently, you'll need to write software you've never written before, and tackle problems you think are beyond you. Trying and trying again is the important part. Practice, repetition, reflection. Pick ideas that you find interesting and fun.
Finally, know that 99% of the code you see written by others is "polished end result", whereas 99% of the code you see from yourself is "in progress garbage". But everyone is in the same boat, so be kind to yourself along the way.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Nicolas
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!