5 tips to boost your confidence & skill as a programmer — illustrated using LEGO

marllm.io
4 min readNov 13, 2018
originally a talk at Rails Girls

At Rails Girls I was sharing that hopefully by the end of this post you will see some parallels between the approach to building lego and developing programs! These are suggestions (or reminders 😉) of tools for boosting confidence and skills as a developer, that I sure rely on myself. I hope budding/versed developers will find it useful as well #beatTheImposterSyndrome

  1. CUSTOMISE DEV TOOLS* TO YOUR NEEDS ✏️ ➡🖊. Make it a high-quality tool that helps you be more fluent in code.

*your IDE (Integrated Development Environment ) and a terminal window

I need that roundish roof piece, can you find it quick?
I need that space-ship bonnet type piece, can you find it?
  • a. make reading the code easier for yourself: choose colour palettes which mark different kinds of properties in a different colour/font; install plugins which space the code out to match universal/popular standards
  • b. make it writing the code more efficient: add a bunch of plug-ins which suggest available commands, detect vulnerabilities in the code and so on.
  • confidence boost: — feel even more at ease with your tool for coding, and to add to that, the code feels more readable and structured!
  • skills boost: — increasingly speedier at writing/reading the code and comprehending(!) the programs! 🤖

2. TAKE THE DAILY KNOWLEDGE BRICK . It could be a short read on the side or watching a tutorial or solving a technical Kata* online

*technical kata — a system of individual training exercises

the key is ‘daily’

Some good books and video tutorials out there… only 2–3 minutes to kill, while commuting? there are plenty of 2–3 min reads on many subjects in development field.

  • confidence boost: — feel more fluent in developer field by day. oh and tech buzz-words will likely stop scaring you.
  • skills boost:— better understanding of development field integral parts helps when you have to think around the problem you are solving at present.

3. OWN A PET PROJECT 🐱 . Something that you really ENJOY building and don’t mind bumping into a few walls for :]

Even if it is the tiniest few lines of code… that could turn into pages, when you’re in the zone!

  • confidence boost: — regain the joy of coding, also, worry less as you develop programming ‘muscle memory ‘ , thanks to the side project.
  • skills boost:— quite obviously you’re practicing fixing bugs, being creative at solving problems — some key developer skills , well done you! ;)

4. BREAK IT DOWN 🍕🍕🍕 . Take that problem and dissect it into small multiple pieces. Then focus on that one piece.

One thing at the time … and voilà, it’s alive !

I use a TO-DO list — writing up what I think the steps for a given programming task are and in which order should I tackle them. I put a big ‘✓’ once it is solved.
Then repeat it with the next piece until all the tiny pieces of program are solved, job done 👍 .

  • confidence boost: — It does feel good to get multiple affirmations that you are solving a problem successfully.
  • skills boost:— you’re getting better at recognising components within the given problem. It’s pretty much the key skill a developer can have, as most tasks given start with a row of total ??? marks… yet we are expected to deliver. Dissecting helps

5. PAIR PROGRAM 👭. The fastest way to move through code, full stop.

especially in learning to code or improve quickly , 2 is better than 1. Find someone of equal ability, or even better, someone who is much more skilled! Try out a few different pairs, see who you communicate the best with.

  • confidence boost:— other than it feels more fun(!), you pretty much never feel stuck at or frustrated with a coding problem.
  • skills boost: — next to the benefit of coding faster, you’re practicing one of the key skill in development — explaining/learning about the code . You are likely to need both when working with senior devs (quickly get what they’re trying to teach you) as well as with account handlers/managers (who you might need to explain how and why everything works in your program the way it does).

This list is still developing, so If you have any suggestions or questions, please feel free to DM me :]

Speak to you soon x

--

--