
She now works as a software developer for Booking.com, but Australian Tianyu Pu has done a fair bit of travelling herself, having moved from sunny Sydney to Amsterdam.
In her spare time, you’ll often find Tianyu enjoying the great outdoors or learning a new languages.
But when she’s at work, it’s language-learning of the programming variety that floats her boat. Tianyu says any of the main frameworks in JavaScript are potential problem solvers.
One example being Java, Scala and Kotlin – all being successive attempts in improving the original Java language.
“The fact that maybe JavaScript is getting a lot of these new frameworks all the time maybe suggests that there is something wrong with JavaScript, but I think it can also suggest that there are just a lot of people using JavaScript to build stuff and just the fact that you have a lot of people building stuff means you’re going to have a lot of people running into problems and trying to solve them.”
When asked which feature from another language she would miss when working in JavaScript, Tianyu says two things stand out.
“I think the main one is having types and also being able to pattern match on those types and I would say that’s not necessarily just JavaScript. A lot of languages just don’t have the pattern matching and types features, so that is something that I think is not only going to make the code more safe to write and to reason about, but also it’s more expressive as well.”
“As for something that I miss in JavaScript in other languages, I would say the flexibility. I’m not sure there’s anything I would really miss in JavaScript except for just the fact that there is so much going on in the community. That’s probably the main thing. I think the language itself has a bunch of issues that I would not particularly want to give to other languages.”
Developers are known to be constant learners. Tianyu says there are a few tricks to make sure you’re keeping yourself up-to-speed.
“I would say one thing that was common for both new and experienced developers is making something, whatever it is. So if you can think of something that you’re having frustrations with, for example, in your day-to-day work or even in your life, think of how you can make something with that. It doesn’t have to be anything big, you don’t have to make the next Facebook or whatever, but I find that having something to make and then trying to make it work, that is by far the fastest way to learn a lot of things very quickly.”
“As for more senior and experienced developers, I would say another thing that they can do is to look into teaching and sharing their knowledge and experience with other people. That doesn’t have to be a lot of commitment, they could just choose to mentor some more junior developers at that company for example. That could just be a short weekly session. Or they can actually look into giving talks and training, whether that’s at their company or at conferences like Codemotion.”