I'm a software developer. That's one of my traits.
I've had my own start-up, another services company, and a couple of other endeavours. All of them had failed from a financial standpoint. What I've learned personally and business wise is infinite. That's another long list.
I have almost 11 years of experience in the software world and...
That's only a realization I just had a couple of months ago.
My usual thinking around this fact is that experience is good. Have you worked on frontend, backend and mobile? Have you deployed 43 servers and 75 websites? Can you count at least 30 long nights fixing production crashes or bugs? Do you have 1 or 2 projects which always comes back to mind, and feel proud of what you achieved?
I certainly do, and it's really cool to look back and just reflect on the many things I've learned.
(...scary music now...)
After realizing all this, I do think experience plays sometimes against us. Companies sometimes expect from senior developers to manage and lead more and to code less. Experience sometimes can blind you, and make you throw out opinions that feel like dogmas and authoritative truths.
(Found yourself fighting for tab vs spaces or single/double quotes in a pull request?)
Experienced devs also frequently have issues trying to teach a junior dev how to properly do things. Some even just don't do it, because are so introvert then cannot stand with their voice and point something is not correct.
Managing is even harder for this kind of personalities. Some of us have been so into technologies frameworks and code writing, that most of our soft side doesn't yet exist.
The way you communicate you just finished writing a cool new feature, is completely different to how you communicate a project needs more hours to finish it (you just cannot say you want to change the database type from MySQL to Postgres because your new tech book arrived late).
So I've found myself in this awkward position of thinking about the future. What happens next? What are my new challenges? When did people stop writing jQuery and start doing this React-ive thing?
Forget what you know
It's hard to do a full reset, but I would suggest start identifying your authoritative truths.
It's great to be a Ruby on Rails ninja in 2018, but have you research what are the top most used programming languages? (I love this video by the way)
Have you tried different architecture patterns for your code? (I love videos from objc.io where they write 1 app in 4 different architectures)
It's good also to keep reviewing code from your mates. Sometimes, even get together 3 or 4 people to analyze some code written for a feature.
Even do regular browsing sessions in Github with your favourite open source projects can enlight you with some new ideas.
Eventually, these actions should create an open, constructive, curious and questioning attitude. I seek for that each day at least.
If there's one constant thing I see developers struggle, regardless of the experience, is communication. Both face to face and via email/communication app.
Especially for a senior guy, this is kind of a deal breaker. Unless you're blessed with working alone and in your own projects, you're getting into more leading, teaching and managing tasks.
In a day to day basis, I see while delegating tasks. A senior developer should be able to leave no level of ambiguity for a task someone else is executing. Find a balance between simplicity and complexity.
It's important also to be able to communicate expectations. This is such an important part because people have different styles when it comes to how they like to be reached and managed.
Hopefully, an experienced dev should be able to create a centralized/decentralized approach while leading, and set expectations clearly while doing this.
Listen even more
Have you heard about podcasts? This a pretty cool thing happening in the digital era. You can basically have access to anyone in the business (or similar at least), by listening to a 30-min podcast episode.
They're literally hundreds of them with free advice for freelancers, juniors or senior devs. My favourites are:
- Rework: Advice about software, life, careers and business in general.
- The 6 Figure Developer: Tips about freelancing, business and how to become an independent developer.
- Full Stack Radio: Lots of interviews with people who have built great products, in a wide range of techonlogies.
One really cool book that inspired me to write this post is Andrew Grove's High Output Management. Lots of great ideas that don't age.
What are you doing these next 10 years?