Third month into the job
3 months! Time passed so fast, focusing on each sprint go by week by week. Working on each ticket and learning how to debug all the moving parts and finally solving the problem. That "Yes I solved it!" moment, you can't get any more satisifcation than that. All the work that you put in is visible to others, and as you work on more complex parts of the code. You see yourself growing and learning more, this is something that in my previous job I will never be able to compare against. Well enough reminiscing the past sorry life I had, the grass can be greener if you know where to look at.
Last week, I started learning about deployment and had the opportunity to setup and run the deployment process to GCP. Test the pipelines and merge the changes to the different environments, I also had the opportunity to use some basic stuff that I didnt get to practice much before. As I work more on the frontend, there are so many tools a frontend developer uses to get work done. Not limited to just chrome devtools, we have pgadmin/psequel to manipulate the local environment database, mockoon/postman to test the api endpoints and create mockendpoints when your backend is still developing the endpoint. And finally most indepth usage of the chrome dev tools to debug frontend issues.
All these stuff is not taught in bootcamps, and I found myself lacking the experience or knowledge how to better debug problems. But after I got to learn all of these stuff, I noticed that there was a significant difference in my completion of tickets. Albeit its still not the best implementation, it solves the problem until my Senior Dev gives me feedback on my work and how I can improve on it. I really enjoy the opportunity and experience being able to get guidance from people who have tons of experience, honestly it feels like the best time of my life right now.
Aside from that I had 2 interview opportunities this week, these were the backlog applications that responded to me after a month. While I honestly do not know how well I did, but as a comparison to the other interviews I had these 2 were the better ones where I could answer the question more or less. However, I still lack knowledge about distributed systems and systems design stuff. It seems to be a common question aside from solving algorithms and working on data structures.
I kind of like the people who interviewed me for the paypal one, it was a online interview with 2 senior devs. The first was a fizzbuzz question and the second was a open/close parentheses question. While the fizzbuzz one took me about 45mins of the time to answer as I was asked to refactor it to be better, the open/close parentheses question was something which I couldn't answer but had an interesting discussion. The solution logical solution was to use a stack to store the "(" and if there is a ")" remove it from the stack, if at the end of the sequence there is still a "(" in the stack it should return false. Pretty interesting ! Sometimes I wonder how all these people think so fluidly with the solutions.
The other interview I had was with bandlab for a Junior Golang Developer role, while I wasn't selected in the end probably due to my lack of knowledge in distributed systems but it was one of the most intense session I had. Not only was I asked to write the solution without an IDE, but to answer the questions that were about how the solution would work was something that I never thought of. Fundamental knowledge is getting the solution to work is something I know, but why it works is a whole ballgame. How does a waitGroup work in Golang? When should you use Mutex and how do you communicate with 2 servers?
These are all things i'll need to learn and read up on to be a better developer. Admittedly my lack of knowledge in these areas make me a bad candidate I guess to be considered for the role. But hopefully in the coming months, as I pick up more things I'll be able to learn more and be better !