We are nearing three months since switching roles. Being a develubber is hard, but not as hard as I originally imagined.
The great thing about being a develubber is that the problem space is often well defined. The not great thing is that there are often an infinite number of ways to solve the problem. What is worse for a new develubber such as myself, is I can write something that works but it is unlikely to be how an experienced person would write it. I have no idea if the thing I cooked tastes good, but it is edible.
This is still a problem. I don't know when this will stop being a problem. It is impossible to know everything about a single language. If that is impossible, a lot of things are impossible. There just isn't enough time. And, even if you had infinite time learning everything is probably not the best use of someones time.
I've come to the conclusion that the best way to learn is by doing. So, over the next month I'm going to do more. That means do more coding projects. Do more things that make me uncomfortable and be persistent.
What I keep telling myself is I'm not trying to land Apollo 11 on the moon. I'm trying to move some pixels around and some data through some internet tubes. If I can't do that, there are a lot of other things I won't be able to do.
One of the biggest changes I've seen in myself is I feel safe by myself, most of the time. Because my mind has learned that it is possible for me to accomplish things on my own. If something were true in the past, it is likely to be true again in the future. If there is data showing I successfully fixed a bug in the past by myself, there is reason to believe that I can fix a bug by myself in the future.
Jeff and I have started to pair less. I think this is a good sign. It means I can do some useful things on my own. However, I think to keep up the speed in which I learn we need to pair more not less.
When I just code, I make a lot of progress. When I am required to think about other things, I don't code well. If I want to do this thing well, then I should just do this and nothing else. I've made a lot of progress in the last two weeks and that is because I'm not doing anything else. I should forbid myself to think about anything other than code. And then with all my free time, I fill it with creative activities such as cooking, writing, playing music, exercising, and exploring New York City.
Last Sunday, I didn't finish my homework. I tried to think about why. The last ten percent is hard. I love starting projects, but I'm not very good at finishing them. I need to work on my self discipline.
I've also learned if I don't want to program, then the best thing to do is not program. The best thing for me to do is to do something else that requires my full attention for about an hour and then come back to programming. What I should not do is read things on the Internet. One of the best things I can do is read physical books, write, or exercise.
I still struggle with procrastinating on things that appear difficult. I don't have a good remedy for this, but maybe pairing here will help.
Worrying about what to build while worry about how to build it
My dream is that someone can tell me what they want built and why they want it built, so I can worry about how I am going to build it. I would love to be a full time engineer. I do enjoy it a lot. It is probably less that I enjoy being a develubber and more that I enjoy learning.
The good thing about being a develubber is that when you make progress it is obvious. You fix a thing. You make a thing that does a thing.
This week was the first time I made a mailer by myself. This week was the first time I submitted a real PR by myself, not just a PR that fixes a bug. This week was the first time I felt like I could really build whatever I wanted if I wanted to.
Being a develubber can be frustrating at times, but I've learned that those moments of frustration are confined to short periods of time that are largely within my own control.
I like this diagram that Jeff showed me during our one on one. He says Mike's house is on the far right. One day, I hope we can all be neighbors with Mike.