What an intense week!! It was everything I expected. Exciting, nerve-wrecking and extremely humbling. I initially thought of writing a post a day but the last thing I wanted to do after an entire day in front of the computer was TO BE ON A COMPUTER writing a blog post. So I’ll try to give a good account of what happened.
Day 1 – Monday
In preparation for the big day I tried to be very organised the night before. I had everything staged and good to go in the morning. I know it’s a given for folks who have day jobs but I wasn’t used to that as I haven’t had to work mornings in a long time.
The initial drive down to Brisbane was a bit scary. I wasn’t used to the intensity of traffic at peak hours, but after a week it became easier. As always, everything is a matter of adaptation. I arrived at 8, even though I initially thought the job was from 9-5. Later I found out the work hours are flexible, as long as you do a full day. I got introduced to the team, the greetings took less than a minute and everyone dug their heads in their computer again, super busy.
I was shown my desk, which is directly facing the door, which means my screen is always seen by the entire office. Scary! Not that I was planning to use Facebook at work, but now everyone will be able to see my stupid questions on Google (such as “how to run an update query on SQL”, or “what is PDP in ecommerce”).
Right after that we had our first meeting. There are daily stand-ups, part of the whole AGILE process, and I got to see what it looked like. The meetings are held against a wall with each team’s AGILE board, where the tickets with issues being solved are displayed. Each person says what they’ve been doing and what’s the next step.
Then I finally got access to my computer by the end of the morning. Most of my contact was with my manager and the leader of my team, super nice guys. I got to have lunch with them and asked a bunch of questions. Q: “What’s a priority that I should learn?” A: “Depends on what you’re working on”. Q: “Am I expected to solve tickets by myself?” A: “No”. And stuff like that.
The afternoon was spent setting up my environment, downloading all the necessary applications along with the databases and code-base. Also learned a bit about some tools the company uses. Slack, Bitbucket, Jira, Team City.
I had to spend some time waiting for things to download or access to be granted and while that happened I started to look at the ASP.NET MVC documentation and tutorials by Microsoft. Looks like everything is based on that, using Razor views. Thank god I learned a bit of Razor a while, or I’d be completely lost. I wish I had picked ASP.NET MVC for training in my prep week.
By the end of the day, the setup still wasn’t ready and we left it running over night.
Day 2 – Tuesday
Tuesday was a terrifying day. We had planning meeting early in the morning where I understood maybe 1% of what was said, and folks actually gave me the word at the daily stand-up. “I don’t know what to say”, I said. Not very impressive. After lunch everything was running well and guess what, my team leader PICKED UP A TICKET FOR ME. What??? Haha, what about “We don’t expect you to get a ticket” 24hs ago? Terrifying. But the product owner had separated a backlog of tickets for the new devs so they were supposed to be easier.
Anyways, of course I didn’t mind and just jumped into it. All I had to do was modify some piece of HTML, really kindergarten stuff, right? Yes, in any application that doesn’t have 100 layers of code. Ha! It took me the whole afternoon just to find out where the bloody piece of HTML was.
Plus I hadn’t realise that my local database didn’t have the products I needed so I was pretty much flying blind trying to find things using the production website and comparing it to the code base.
After that I had to learn how to create a branch on Git, I had never used branches, check out, diff, or anything like that, but it was great! By the end of the day I had created my first pull request! Exciting!
Day 3 – Wednesday
On the Wednesday I had my code approved in the morning and I merged it, also exciting! Also for the first time I said something in a meeting! Hurra! And I picked up a second ticket. This one way trickier because it involved CSS with LESS, which I didn’t have a lot of exposure to, so after I created a solution I had to use custom breakpoints instead of the global ones in the code base. But another engineer that gave me a hand was happy with it so I pulled it too! Yes! I left feeling really good for the first time.
Day 4 – Thursday
For the third ticket, I literally spent all day just trying to find out what was going on in the codebase. I have to fix a button that isn’t working properly. It was tricky because I had to replicate a product with properties that had the characteristics I wanted. It took me a few hours just to do that, and only after I asked for some help. We had to manually create such product on the database.
After that I had to figure out how the state is managed in the application, which was WAY above my head. And then find out why the button, which is managed by JS with Jquery making an AJAX call wasn’t redirecting the user (ASP.NET MVC Routing). And I left without knowing.
Day 5 – Friday
After a day and a half of work I finally found what was going on. A button was sending an AJAX call with jquery and upon receiving a 401 response due to the session being over (which I manufactured), wasn’t redirecting the user to login. Instead, the modal it was suppose to open lost kept loading forever. Eureka!!
One of the senior developers came to check on what I was doing after he finished a big task and gave me some pointers on how to fix it but I ended up not having time, as I didn’t work in the afternoon due to a medical appointment.
The result?? On Monday morning I finally solved my ticket and after committing the changes to the wrong repo (and hence learning how to revert git changes using the command line), I finally finished my ordeal!! What a fantastic feeling!!!