5 minute read

2019 was an eventful year. Because of that, compared to a normal year, I spent a lot of my time looking after my family and my health. Even so, as I sat down to write this retrospective and looked back, it turns out I didn’t do all that little on the development front either. Before I forget, let me go through it one item at a time.

iOS - Swift

This was the technology I made the most progress on among the ones I newly picked up in 2019. Until then, my experience with iOS and Swift amounted to no more than taking the Fast Campus online lectures and following along with the exercises, plus making small tweaks here and there to code other people had written. In short, I wasn’t ready to develop an iOS app. But regardless of my own circumstances, I urgently had to do iOS development. It was because of a government directive, so I couldn’t put it off or get out of it. In any case, after a long while, I went through a stretch of days where I couldn’t go home the same day I came in to work. I had quite a rough time because of Xcode’s quirkiness and Swift’s nature of not trusting the developer. And in the end, I managed to build the features I wanted reasonably well. As expected, you learn a technology fastest when you actually use it on the job. Still, I’m left with the regret that if I’d had a bit more willpower back when I was studying iOS, I should have at least tried developing an app on my own.

Web Crawling

A toy project that a few developers got together to start collapsed before it even began. The role I’d been offered there was to build a web crawling bot, and since it was something I’d never done, I started by reading a whole book on it. Web crawling is a field where a great deal of progress has already been made, so development was easy once I just grabbed a library and used it. If anything, rather than crawling itself, I got a big jolt of inspiration on the web development side. Had I actually been developing web pages properly all this time? If a web page is built properly, crawling is easy. But the problem is when it isn’t. These days, given the nature of my work at the company, I’m doing a lot of web development, and this is a field I wish I’d encountered sooner. In any case, the crawling skills I learned this way are coming in handy for the health checks of the company’s web services and for automating my girlfriend’s work. These days, when so much work is handled through web applications, it seems like a skill worth picking up even for non-developers.

Vue.js

This was the technology that helped me the most in 2019. Every app the company newly developed this year was built with Vue.js. It’s convenient, and it’s a continually evolving technology. Of course, compared to React, its foothold is still small. But since I’ve now been working with Vue.js for two years straight, I can’t help feeling like I’m falling into a rut. I’m starting to wonder whether I should try React in 2020. For personal project development as well, Vue.js was again my main choice for the front end. Around autumn, at the suggestion of Joo Sung-sik, a developer I deeply respect, I built the front end in Vue.js for a sample app used in an AWS Serverless framework lecture. It may be a sample app, but as a photo album it has every feature it needs! The backend of this app was developed by Joo Sung-sik and AWS developers, and after a long while, it was tremendously enjoyable to work alongside outstanding developers who were on the same wavelength. I love you, Manager Joo Sung-sik.

Typescript

I introduced Typescript to break out of the rut I’d been feeling after two years of using Vue.js, but I didn’t achieve any visible results. As with all development, once you’re pressed by deadlines, a project that started out built in Typescript would, before I knew it, end up turned into plain Javascript. After all, Typescript can just be used as Javascript too. Since most of the development I do at the company these days is solo work, I keenly felt that introducing Typescript isn’t easy without strict self-discipline. I’ll do it in 2020…

SpringBoot2

Spring, which I picked up again after two years. This is a good thing. At the company we still use ASP.Net 2.0 as our standard backend, so I’d had no chance to use it in the meantime, but since I gained complete freedom in choosing the backend technology for a newly started project, I chose it without much hesitation. Before it was Spring Boot 1, and coming over to 2 there was a somewhat confusing feeling. But as expected, since Spring fully supports everything you need for modern web development, it was a great choice. In particular, Boot was even better because you don’t have to struggle with deep configuration. I sincerely hope that more projects at our company come to use Spring Boot…

TDD

I hadn’t felt much appeal in TDD until now, but this year I fell completely for it. It’s entirely thanks to the Spring framework. When I think back to the old days when I didn’t do TDD, or did “TDD” with Excel, I can hardly fathom how I developed anything. After modifying something in the DB, when I run the tests and see error messages bursting out one after another, it’s downright exhilarating. By working through these error messages one at a time, I can develop with peace of mind. Now it’s hard to do backend development without unit tests. But unlike on the backend, introducing TDD on the front end yielded meager results. I still couldn’t shake the feeling that I was writing tests for the sake of tests. It’s probably because my understanding of TDD is lacking. I’ll have to learn more in 2020.

Artificial Intelligence

This was the field I poured the most effort and time into in 2019, but unfortunately it was also the field with the most meager results. I held regular study sessions once or twice a week and read and studied many books, but there are no proper results to show. Throughout my studies, the self-reproach of having a weak mathematical foundation tormented me. To think that I’m studying at thirty-three the differentiation that others have already mastered in high school—is this the limit of a humanities-background, non-major developer? In any case, this kind of self-reproach seems likely to continue into 2020 as well.

Algorithms

For the past several years, there hasn’t been a single new year when I didn’t set algorithms as a goal. But this year too, the results seem meager. All I managed was reading a few algorithm books and steadily solving algorithm problems every day for roughly two or three months. What am I to do about this lazy mind of mine?

20200124

Categories:

Updated:

Leave a comment