I don’t know.

Those three words run through the minds of software engineers every day. Engineering work consists of puzzles and problems, so not knowing something is just another indicator that an engineer has the capacity to grow. Yet, the lack of knowledge can also generate self-doubt.

Before I started my internship this fall, I didn’t know much about programming languages, type systems, or even variance (which was my entire project). As far as I knew, variance was just a value I needed to calculate the square root of, so I could obtain a standard deviation. Programming languages and compilers seemed like some black magic sorcery that mystified most developers.

Thankfully my manager, being the mind reader that he was, understood how I felt and remedied my nervousness.

“So, I’m going to be completely honest, this project will throw you completely into the deep end. You don’t know anything yet, but that’s okay because I want you to ask questions, lots of them,” he explained.

It was scary going head-first into a new project where I had little-to-no background knowledge of the work, but I knew I had support from my manager. He gave me the freedom to try, the freedom to make mistakes. It meant a lot to me.

That quick chat with my manager jump-started the first month of my time here: I met my team in Fremont Seattle and was ready to throw myself into this deep unknown called variance, which you can read about in the article Dart declaration-site variance.

I had weekly variance boot camps with my manager, providing me with the theory that I had to translate into code. I remember reading the proposal of the variance feature that I would be implementing and feeling

#programming #intern #dart

Life as a Dart intern
1.10 GEEK