15 Things I learned this year (2022) as a software developer

Alger Makiputin
6 min readDec 21, 2022

It’s that time of the year again, I’m not surprised anymore how time flies so fast that the end of 2022 is in sight. Over the past twelve months, I have faced so many new challenges and things I’ve never experienced before. Many of them are completely new that’s frightening me a little, but it’s December, and not only am I standing still, but I’m also a better person than I was In January. This year I moved to a different city and accepted that new Job offer. I also learned a great deal about other people, the world, and myself. Furthermore, I also made a more conscious effort to expand my knowledge and skills, not only within my field but also created this blog which allows me to practice my writing.

Only a few days left before the year ends and to me, this is a time to reflect. To reflect on what I’ve done throughout the year, here is the list of what I learned/have done this year:

#1 Personal Projects

Numerous ideas have come and passed this year. In fact, I got a bunch of incomplete personal projects in my stash, but fortunately, I was able to stick to something and actually finished it. Here’s the list:

  • Japanese Candlestick Pattern: This is an educational mobile app with challenging quizzes to help traders to learn Japanese candlestick patterns and how they can utilize them in their trades.
  • Filipino Alamat: This is version 2 of this app, the original app that I created way back in 2019 has been removed from the Google play store, So I decided to create a new one with a better user interface, easier navigation, and a wider range of stories to choose from.
  • PSEStocksApi: This is an API I created using NodeJs that includes price quotes, company information, and price quotation based on a date range.
  • POSLite Invoicing Feature: I implemented a new feature on POSLite which enables users to generate billing for rendered services and products. Which provides the business and its client with a record of sales.

#2 GraphQL

GraphQL is an open-source data query and manipulation language for APIs, and a runtime for fulfilling queries with existing data. GraphQL is included in the tech stack on the project I’m currently working on. This allows me to test and write reusable GraphQL queries to fetch and update data. Which can be used in the front end to send the data back and forth.

#3 AWS

  • Lambda: Most of our back-end APIs on my current project runs on lambda written in NodeJs. This gives me the opportunity to have hands-on experience in deploying NodeJS code in AWS lambda, testing API endpoints, and doing lambda configuration like setting function params and writing code with user-friendly error messages for the API.
  • Cloudwatch: When diagnosing a bug or a defect it’s important to have a clear understanding of what’s happening within the system. That is where the AWS Cloudwatch can help us, developers, to have accurate findings whenever an issue arises. I utilize this tool to troubleshoot bugs by filtering the logs (by messages, or by specific DateTime range) to help me resolve defects within the application.

#4 Web Scrapping

Web scraping refers to the extraction of data from a website. Web scraping is completely legal if you scrape data publicly available on the internet. But some kinds of data are protected by international regulations, so be careful scraping personal data, intellectual property, or confidential data.

There are many ways you can scrape website data, you can do it the hard way or the easy way. As for me, I do it by exploiting the website API endpoints to fetch and make use of that data.

#5 Salesforce Data API

The current project I’m working on stores customer data in Salesforce. Hence, I made a lot of interactions with salesforce Data API to fetch and update data. Created reusable queries, and make use of Salesforce composite requests to make fewer API calls which save the billing cost of the project.

#6 CommerceTools

We used CommerceTools to manage products and customer orders. We also used commerce tools API to fetch products and display them within the application. Unlike other APIs, CommerceTools used query predicates to define complex expressions for querying resources or specifying conditional triggers for API Extensions. Writing a query have a different syntax from Salesforce, but it’s easy to learn and understand once you get into it.

#7 Zuora

We also used Zuora to manage customers' subscriptions, payments, invoices, orders, and tax calculations. Hence, we also have a lot of interaction in Zuora API. I learned a lot about writing Zuora data queries and using Zuora API to retrieve and update customer data, pay customer invoices, and renew customer subscriptions.

#8 Contentful

The current project I’m working on stores blog contents, menus, configs, and many more on Contentful. It’s an API-first composable content platform to create, manage and publish content on any digital channel. Hence, I have learned a lot about how to use it and communicate with this platform to retrieve data and use it within the application.

#9 SFMC

Salesforce Marketing Cloud (SFMC) is a digital marketing platform that automates email marketing, social media, apps, websites, and more. We use SFMC in the project to deliver campaigns and transactional emails to customers.

#10 Expand my knowledge in Git/Github

Working on a team means collaboration and a set of rules is in place. Such as, a pull request needs to pass all pipeline checks and only 1 commit per pull request and needs 4 reviews before merging. The process I learned in this project will probably be applied to my future projects.

#11 Expand my knowledge of Programming in general

Having to work with a legacy codebase feels like a chore when I was starting out with my new role. Yet it teaches me skills that are tremendously valuable for my career. It forces me to learn new design patterns, learn new techniques in debugging, refactoring, and unit testing. Which enables me to deliver exceptional results.

#12 Expand my knowledge in Unit Test

What unit test does is make sure that a piece of code or component of the software is working as expected. Having to work on legacy code, we also have to write test cases for new features or code that we will introduce. I learned a lot about writing test cases and making sure that every new code is covered. I love writing test cases for every code I introduce because it makes sure that my code is tested and is performing as expected.

#13 The Pragmatic Programmer

I read the book The Pragmatic Programmer by David Thomas and Andrew Hunt. There are many topics in this book for every chapter like how to write clean code, debugging, taking ownership, unit test, and many more. What I just want to highlight is that this book reminds me again that there is more to programming than technical abilities. It also reminds me to take full responsibility for my actions which is why I am not afraid of making mistakes.

#14 Blockchain

Ever since the blockchain gaming boom last 2021 led by Axie Infinity, I started learning about blockchain, and this year I dig deeper into how blockchain works, smart contracts, and high-level blockchain fundamentals.

#15 Solidity Programming

Solidity is an object-oriented programming language for implementing smart contracts on various blockchain platforms, most notably, Ethereum. I also started coding in Solidity this year to write and deploy smart contracts. Currently, I am using Remix an online IDE for developing, deploying, debugging, and testing Ethereum smart contracts. Blockchain has been around for a while but developers skilled in blockchain tech are in short supply globally so it’s definitely worth learning today and for the years beyond.

Conclusion

As we move to the next year, each of us is bound to encounter a fresh set of challenges that test us, push us to the brink, and bring uncertainty into our lives. But it will also bring so much excitement, laughter, and joy too. This is the personal list I have learned this year. I look forward to continuing the learning process in 2023!

Thanks for reading this article! Leave a comment below if you have any questions, and make sure to follow me here on medium :) https://medium.com/@algerwrites

--

--

Alger Makiputin

Software developer, working across mobile, web, and custom software development. Creator of POSLite www.poslitesoftware.com