Diary of Software Developer #5 - Learning Report

Antonio - Sep 1 - - Dev Community

Another week (and week-end, sadly...) comes to an end. Learning, struggling, growing - in one word, living.

Day-to-day

More interactions with AWS, particularly the usual Lambdas, IAM, SQS, DynamoDB and so forth.

But there's an extra element that's now part of the recipe: interacting with an external API (Atlassian) from my Lambda code.

As expected, it couldn't just go smoothly and I've been hitting my head against failed authentication errors repeatedly. Reviewing and amending both the user's permissions on Atlassian and my own code for bugs has not helped so far, but I'm not giving up.

I've struggled before and came out of it victorious - the same shall happen this time.

The thing about the struggle for learning is, it's not just about managing to do what you wanted to do. It's also about all the research and learning that happens around it. A big part of the learning is all the stuff you read, watch and cover in the process of discovering your solution.

In doing so, you accumulate knowledge, even if only superficial at times, and develop a feel for certain solutions and technologies that will come in handy at a later time.

This is another potential risk of using technologies like ChatGPT or Claude to overcome a roadblock. They will provide you (when they're effective, and when your prompts are effective) with a solutions quickly, but you skip a good part of the research bit.

You get more efficiency, but you sacrifice learning in the process.

JavaScripting

Tackled an Exercism challenge centred around Regular Expressions. A few takeaways:

  • string.prototype.replace in JS also takes a callback function as second parameter. So far, I had only used it in its basic feature (e.g., replace string X with Y) but it can be more powerful than that. You can pass it a regular expression and group the captured string and even returned it inverted etc.
  • I've always used the async/await syntax for async code and never quite learned the previous .then, .catch, new Promise(), Promise.all() syntax etc. - this has caused a small roadblock in another challenge, but I'm learning quite a bit in learning how to solve it.

Frontend

For the last two and a half years I've mainly worked on Backend and Infrastructure tasks with minimal Frontend. As a result, I've had to face the unpleasant truth that my Frontend Development skills are still quite lacking, something that could hinder my career progression.

Sure, any LLM could spit out some responsive HTML/CSS code quite easily, but having poor understanding of what's actually going on means I could inadvertently introduce unstable code and bugs.

It's good to expedite certain parts of the job, but you need an understanding of what's happening there so that you can supervise and review the output appropriately.

I've decided to start tackling challenges on Frontend Mentor to improve my skills.

There are quite a few things in common with Exercism in that it's a nice community, well structured and you get mentored by other students and can mentor yourself when you feel ready.

I'm starting from the real bottom, super beginner-level challenges, but that's what's necessary at this stage. It's quite a bitter pill to swallow, but that's part of a Tech career (and maybe not only Tech ones):

Constantly switching back to that Beginner Mode when facing new technologies or ones that we haven't touched in a long time. If approached in a mature way, it's an excellent character development.

Heading for some deserved rest before plunging again into work.


What have you been working on this week? What have you learned and struggled with?

. . . . . . . . . .
Terabox Video Player