I've now been a professional developer for three years. Here are some thoughts. I hoped this would congeal into a solid narrative, but sadly it did not.
What should a developer know after three years of software development?
I compare myself to others. I think it's important to. How else do you know how well you're doing? Of course I'm better than I used to be, but am I as good as other developers with my level of experience? If not, why not?
Am I ahead of the curve? Behind it? Have I spent too long learning the wrong things? Three years from now, what will I wish I had started learning today?
I think I'm ahead of the curve. It's hard to know for sure, but here are a few reasons:
- I'm comfortable on the command line.
- I have a small online presence.
- I know my way around AWS.
- I'm comfortable with Linux.
- I'm comfortable with Docker.
The path forward is getting less clear, not more
A year ago I knew the exact path I needed to follow. Learn technology A and technology B, play around more with Linux, and you'll be set. But these days I'm not sure what the best way to progress is. Keep building things? Maybe. Study CompSci fundamentals? Maybe. Do online certificates? Maybe. Some combination of all of those things? Probably.
I need to spend more time with great developers
One thing is certain: the more time I can spend with great developers, the better. Great developers help me rethink the fundamentals and introduce me to new ideas.
What would I learn if I spent time with someone who has spent years...
- perfecting CI/CD pipelines, or
- learning advanced OOP practices, or
- designing distributed systems, or
- penetration testing, or
- optimizing databases, or
- you get the idea...
Where am I going?
As I progress in my career, the most important things have become:
- working with smart, experienced developers
- working with fun, modern technologies
- working on interesting problems
Who knows where I'll be three years from now, but if I'm doing these things I'll be happy.