Albert
Google+ LinkedInHello Albert. You are one of the most active learners in my course
«Introduction to programming with dependent types in Scala». Would you agree to give an interview to me?
Hi Dmytro,
I'd love to do the interview as I'm grateful for your kindly help on the type level programming lesson.
I've took quite a few MOOCs online, but none of the teachers spent so much effort on answering student's questions in such a timely manner. It feels like enjoying a private lesson, so as to speak I owe you a favour for this wonderful lesson.
It is perhaps some what related to the nature of this course, it is abstract and not easily followed. So right now not so many people are actively participating in it. Otherwise you'd be busy around all day long to answer all student's question.
Back to the lesson, I haven't felt I learned «type level programming». But now I know what «type level programming» is, what an automated proof is. It is fun to go through all lessons and fill in the blanks in the exercise. I might still have a lot to learn to truly understand and use it appropriately in my daily work.
I sincerely hope people like me who know a little functional programming and want to dig into this could enjoy this course as well.
Thank you for your warm words.
So let's start our interview.
Would you tell us several words about yourself?
I'm a programmer who loves writing useful code at spare time.
Well said)
Where are you from?
China.
Do you study? Do you work?
Working at
marinsoftware.com.
So you work on a project connected with advertising, don't you?
Is Scala widely used in your project?
Yes, work is in advertising area.
Yes, Scala is widely used in our project.
How do you use Scala? (Like "better Java" or...?) Do you use Scala libraries?
We start adopting Scala from using Akka & Spark. We started from better Java. And we are much better than that now.
I looked at your Google+ profile and noticed that your interests are broad.
What areas in IT are of the most interest for you? (Programming, algorithms, competitions, math, big data, AI etc?)
My most interest is Math.
Yes, I have broad area of interests, so I had touched all a bit about above mentioned.
Do you have hobbies?
Basketball, watching movies.
You mentioned that you've taken a few MOOCs online. Could you tell us what MOOCs are most interesting for you? What platforms do you prefer? (Coursera, edX, Udemy etc.)
Most courses I took were on Coursera, a few on edX, one or two on Udemy and one recently on Stepik.
Platform is never a problem for me, it's mainly the course that attracts me.
I think I took all of EPFL/Typesafe's Scala related courses (functional programming, reactive programming, parallel programming, Spark) and I liked them very much. Recommended.
I recently took AI course from Geoffrey Hinton, recommended as well.
Yes, I like EPFL courses too.
Is functional programming (and particularly Scala) popular in China?
Do you have meetups, conferences in fp, Scala?
Yes, functional programming is popular in China. I learnt about your course from the community I think.
Yes, there are many meetups, conferences probably not many, I haven't attended much though.
What would you recommend to learn first to a young man who would like to be a good programmer?
Math, algorithms, technologies...? What is your opinion about formula of success? :)
How do you think, is math necessary for a programmer?
I myself started from C++, and I think for now I'd suggest people start from C++ doing a lot of coding exercises and know a little bit of lambda calculus.
My formula toward success is: persistence and work hard.
Math is absolutely necessary for programmer, from the face of it you might not be using it directly, but the way you think the problem solving style are all influenced by math training.
How do you think, is university education necessary for a programmer?
Can online education be enough?
I don't think university education is necessary for programmer skills. The world is changing. I'd have acquired more technical skills if I had so much online courses.
But I do think university education is necessary for social skills at this stage.
I guess that one «revolution» in education happened when there appeared such sites as Coursera, edX, ... where well-known invited experts teach. And next «revolution» happened when there appeared such sites as Udemy, Stepik... where everyone can create a course and share his knowledge.
So what do you think about perspectives of online education?
My personal opinion is that the current style of education will eventually disappear, online education will take over. But before that both sides will change and they eventually meet up somewhere in the middle.
But at this stage I do think traditional education is necessary for social skills.
What are your plans for future? What would you like to learn deeper?
I'm a lifelong learner.
I always wanted to learn deeper in math, but I find current math course setups unsatisfactory, but I believe there will be some eventually and I will find them.
Thank you very much for your answers, Albert.