On good days I know I am above average programmer. On bad days I am just the worst imposter.
But I know how to minimize those bad days. I would like to share it with you.
Know your app from the outside.
This is embarassing to admit. I build stuff outside of work and I really enjoy it. But when it comes to the stuff I am actually getting paid to build I tend to procrastinate or get ADHD.
You know how it was built but the technique is to intimately know how it’s used. This is embarassing befause this is the part where I slack off. I always depend on a tester for these kinds of stuff. In the end it always bites me back. Always. When I’m fixing a bug, I move very slow because I have to figure out how to navigate the app every fucking time.
Maybe I have to login as a different user, how do I create one? How to generate this type of report? How to display this field in the form. I scramble most of the time.
One tip I could give in this area is to create a new test data from the ground up for each bug. New user, new customer, new up everything. In no time you will know half the system by heart. This may not be applicable to some data-specific bugs but its worth a try.
We develop an electron app at work. In many scenarios we need to publish/package the app so we could replicate some bugs. Packaging an electron app means running a bunch of commands, several of which are long-running.
Some of those commands dont work when I have other processes in memory as well. I have to make sure to exit VSCode or kill the app.exe manually for example.
All of this is time consuming. Instead of doing them manually, put all the commands in a script file. Pro tip: powershell is great stop hating if you come from a Linux background. You can virtually do anything in Windows using powershell. I havent tried it on Linux but you could download powershell for Linux and try it out for yourself.
Here is an example of my automated script file.
For a time we needed to do the packaging of electron app to debug stuff. This is because of a limitation of the app combined with the chromium subsystem limitation which i didnt really spend time to look at (ADHD remember?)
This is where communications come in. In my case it was more of a commsplaining (50% complaining).
You see, I work with engineers from Madrid and I am from Manila. I have a very good relationship with them. The kind where I am comfortable to whine about anything. In one chat message I mentioned in passing that the whole packaging of electron while debugging is killing me, and then the dude just lit up saying he already has a fix for that.
I asked if he could share it so the whole team could benefit. Long story short – debugging just became more convenient.
The moral of the story? Go ahead, whine about stuff. JK.
Try to Finish Stuff in the AM
This is more of a note to self type of thing but I find when I need to concentrate, Its easier in the mornings. Most people usually come in later after lunch so I have a few minutes to scramble.
We are fairly new team in the office and I want to know the team by joining in lunches, coffees, and everything. This bites me back in the end because it leaves me with less time than I started with but in the long run, I know it will pay off. To build a high performing team you have to know each other well.
Thats it. Thanks for reading.