So a few things have happened lately that have made me reflect on my career and the type of developer I am.
And the collusion I've come to is that I have become a Dark Matter Developer.
Let me try to explain
Way back in 2012 I remember a post by Scott Hanselman called Dark Matter Developers: The Unseen 99%.
You can't see dark matter, but we're pretty sure it's there. Not only is it there, but it's MOST of what's there. We know it and we can't see it. It never shows up.
The analogy was a good one. But at the time I had a Blogspot blog with about half a million views. I was active in the developer community and even attended a VMWorld as a speaker on a panel.
But over time I stopped growing publicly.
I stopped posting at the request of a new employer.
PS. I should have left that job that second but I didn't.
I've been thinking about my software career, not the Craftsmanship. Not just do I write tests or refactor but am I a good developer for the community and for my career.
Tweet reply and Re-tweet from a programming hero
First, you need to know that I never tweet. I think less than ten times in my life.
Anyway, after using and reading the source code of glide data grid I just tweet thanks, it deserved it.
Thank You @glideapps and @jassmith87! Your Glide Data Grid is without a doubt the best data grid on the internet. I'm even using it in a vue app because its just that much better than everything else!
— Chris Towles (@Chris_Towles) June 23, 2022
And trust me I looked. https://t.co/dPsxTYuF2Z
To my shock I got a reply from Jason himself.
Thank you so much amigo :) Let me know if you have any problems.
— Jason Smith (@jassmith87) June 23, 2022
And he even retweeted my tweet.
Shameless retweet because I'm proud. https://t.co/t23VqcI7Mq
— Jason Smith (@jassmith87) June 23, 2022
I was really surprised. It made my day and more importantly made me think. I use Open Source all the time and never give back. I learn so much by standing on the shoulders of giants. I have the skills to help, to contribute to the open source community, and never find the time. And to Jason it's not a Shameless retweet, you should be proud. Thanks for sharing your code with the rest of us.
TODO: I will do anther post about just the amazing glide data grid. Its basically fully functional, easy to use, data grid with really similar excel or google sheets like functionality for things like keyboard navigation, filling and filtering and copying and paste. It is a really great library considering how historically bad data grid libraries are.
The Github Copilot Debate
So while everyone I follow on Twitter had a take on Microsoft/Github
beginning to charge for the service.
It would have been very simple for github to be ethical when they made copilot. All they had to do was add an opt-in to github where you could mark your project as allowing copilot or not. Whether or not what they're doing turns out to be legal, they eschewed the ethical option.
— Casey Muratori (@cmuratori) June 23, 2022
Every developer I follow had code that had been used in training github copilot.
I had a different take, I had already got my credit card and was quick to pay for the GitHub copilot service. I should have been more impacted by the problem. It didn't hurt me and it should have.
Career Direction
At work, at times I'm not sure how much I contribute to the big picture. I work on my projects and help others but can not always tell if the work I do is impacting the future of the company.
I think most people feel this way and we all have some impostor syndrome.
The issue is I have some ideas on how to change that but wasn't sure if the work that would require is the direction I want my career to go. It would mean a lot more systems architecture and maybe DevOps than strict development. I concluded that I am ok with that.
Solution
I follow people like jassmith87, antfu7 (maybe the most productive developer on the planet), and remi_rousselet. I learn from these giants and stand on their shoulders. I should try to let some others stand on mine.
I'm going to break the problem into a few weekly and monthly tasks. The goal is to change my habits, not to set impossible goals.
Goal: Commit Publicly at 2 least twice per week
So this should hopefully be clear.
I constantly write code, at work, on weekends, and late nights but tend to continue working on whatever work project I found interesting. I've done this for the last 25 years.... (another post on realizing I've been doing this a long time later.)
Rules: Two public commits per week, only one of which can be a blog post.
Goal: at least one PR merged into an Open Source Project quarterly
I use tons of Open Source and it's time I started giving back to the community that has given me and the world so much. This career lets me live a comfortable life with my wife and kids and I should help others do the same.
Rules: Must have more than 100 Stars.
Goal: Finish a Certification
I am a jack of all trades. I haven't focused in any one area and considering how much AWS work I'm going to focus there completing a certification as a measurable task.
This seems like a good habit to improve my skills.
Results
The plan is to follow up on this post next month and see if I changed. I set a calendar event to update this post next month.
Follow up on 2022-07-14
So I have been committing publicly more and even got a simple PR merged into Vitest and opened another one for Vitepress.
It is a start!
Why using Conventional commits is useful
Helping everyone to understand the commit history and its purpose
Migrate Vue 2 with Vuetify and Jest to Vite and Vitest
So my main project at work is a Vue 2 and Vuetify 2 site, but privately I have been playing with Vue 3 and loved the Composition API to avoid mixins. Due to some new features, we are planning to build soon. I wanted to write it in Vue 3, to prevent needing to migrate it later.