A personal ignorance story. And how you'll do better
Like I said before, I fell into the overly-confident trap, and here's my story. Feel free to skip this section, as it's mostly a motivator to help you stick with the course.
My (accidentally) False Claim
Having spent 6 years at university obtaining undergrad and postgraduate degrees (3 in all) - I thought I was an expert. This was especially true because the program I wrote for my thesis was written in the language I was hired to write - C#.
I said I was a C# expert. I said I didn't have much more learn. My manager didn't believe me. So they set me a test task... it did not go as expected.
My First Code Review
I delivered the program I was told to write - and it did everything I promised it would. But then I was told it would have to go through a code review... something I had never experienced before. The senior developer who reviewed my work was a nice guy, but after getting less than halfway through he:
- Gave me a suggested list of topics I should research.
- Told me to apply what I learn to the rest of the code.
- Told me to resubmit my work, so he wouldn't have to keep offering the same feedback.
I was mortified about how much I didn't know. But it was a valuable lesson that I'll never forget (and hopefully you can learn it the easy way).
What University Didn't Teach Me...
My reviewer's list was long, but it was valid. I didn't realize how much university doesn't teach you. Here are some topics he suggested:
- Code reviews in general.
- Source control techniques.
- Code style and linting.
- Patterns and anti-patterns.
- Unit testing.
We don't cover these topics in this mini-course, but we will be covering them (and many more) in one of our larger courses later.
Now that you've seen how much you may not know, lets go work out what your to-learn list might contain.