Christopher Matthews

Back to Introduce Yourself forum

Christopher Matthews     2014-10-11 12:39:15

Hello all,

I'm Christopher, or Chris for short. I am a classical pianist now trying my hand at programming, which I enjoy very much. A few years back, I did some Web development, but abandoned it when I decided to dedicate myself full time to the study of music, which of course meant college. I studied music theory and classical piano formally for more than four years, but informally, much, much longer. Having been classically trained in music, I now look for something else to master. I have been taking the practice of programming very seriously for the past six months, and I seem to be progressing at an acceptable rate, which gives me hope that I may someday very soon be able to write programs for a living! Anyhow, I found Code Abbey a few months ago, and it has been a very, very big help in my learning progression. I try to solve a new problem whenever I can. I am happy to partake in this wonderful learning experience at Code Abbey, and I fully intend to join some of you on the leaderboard!

Christopher P. Matthews

Rodion (admin)     2014-10-11 15:15:49
User avatar

Hi, Christopher!

Pianist! Wow, that is really great! I'll try to explain now...
(By the way, do you have any recordings shared for example at youtube?)

See, my wife plays violin (and piano as a secondary instrument) - currently employed as a teacher in musical school. Since the moment we met few years ago she often expressed thought that "all musicians are not smart and strings players especially" - mainly meaning that for her herself it is not possible to learn any technical field, including IT-related. (I however did manage to teach her a bit of web-design just out of curiosity so she eventually managed to create her simple web-site)

I on contrary always believed that musicians are people of so great concentration that they can probably learn anything. Really, learning to play an instrument seems to me much harder than studying programming for example (and usually children should start learning music in early age to succeed, yeah?)

So I will gladly show her your message as a proof of my point of view!!! :)

> which gives me hope that I may someday very soon be able to write programs for a living!

Well, I had a peek at your codes here and (adding that you mentioned you've been introduced to web-development) it seems to me that you can try to get hired at least as a junior developer even right now. I think my own level was roughly the same (or worse, he-he) when I enrolled into my first company... (Though I understand you may prefer to build up more skills depending on your goals).

> I am happy to partake in this wonderful learning experience at Code Abbey, and I fully intend to join some of you on the leaderboard!

Thanks for your kind words! As I always say, probably you help this small site more by participating and sharing your thoughts than it helps you. But if it can be of any help - I'll be glad :)

sincerely yours,
Rodion

Shoshannah     2014-10-12 15:59:33

In my book, being a classical pianist is like 1024 times cooler that being a programmer! I hope you're not abandoning music altogether. Also: who is your favorite pianist and why?

to Rodion: The fact that your wife is a musician calls for more сольфеджио-related problems.

Christopher Matthews     2014-10-15 18:38:27

To Rodion: Thank you so much for your kind words! Yes, I agree one hundred percent that musicians (most musicians anyway) are indeed very smart, and after going through everything that must be done to learn music, it is indeed possible to learn almost anything! However, about the need to start as a child in order to master music, that is not always the case. Indeed, the odds of mastering the art are greater if one begins to study at an early age, but I know several people, including myself, who started much later and did just fine. However, a huge amount of concentration and dedication are required in those cases.

I also want to let you know that my confidence and self-esteem went through the roof when I read your comment which said that I am good enough to find work as a junior developer at this very moment! I seemed to have hugely underestimated myself! For that compliment I thank you! However, as you also said, I do plan to hold off for a while so that I may polish my skills and gain just a little bit more experience. My main goal at the moment is to become familiar with the most important and common algorithms; other than the basic sorting algorithms, could you name a few that any beginning programmer should know?

P.S. I do not currently have a YouTube account, but when I do make one, which will be soon, I will gladly share my music with you!

Thank you again, Christopher P. Matthews

Christopher Matthews     2014-10-15 18:45:32

To believer: I agree, being a classical pianist is very cool, but at the moment, it does not pay very well, especially in America where the demand for classical music is very low. So I am choosing to try to begin a career in programming, not only because it pays better, but because I enjoy it very much, and I will still be able to do what I enjoy for a living. But no, I am not and will never abandon music, I am still very active in that area ;)

I have quite a few pianists whom I admire, but here are just a few:

Glenn Gould, because his strange eccentricities help to add a very personal and human element to the music. He's great to watch as well as listen to.

Valentina Lisita, for her extreme virtuosity alone, if nothing else.

Sergei Rachmaninoff, one of my favorite composers; He stays very true to the score in his performances, as well as adding his own unique touches. He also possessed great strength, and was able to put a lot of weight and force into the instrument, owing to his sometimes explosive sound. We are lucky that he did make a few recordings so we modern-day musicians may hear the master himself play!

Of course there are several more, but these are the ones I could think of from the top of my head.

Rodion (admin)     2014-10-16 12:25:31
User avatar

> other than the basic sorting algorithms, could you name a few that any beginning programmer should know?

I'm sorry to say, but you will rarely encounter really algorithmic problems in industrial software development. So practicing such problems is more closer to "scale-studies" in music (if it is the right word) - they tune up ones brain and fingers, but have no direct impact on ones career goals... Though I know they helped me progress (in the sense of salary also) about twise faster compared to many colleagues :)

Since 2008 I was working for 6 companies and there were only few projects where some kind of algorithmic problems arose. They were like this:

  • searching for a point of explosion (see "Ground Zero" problem - to be honest I could not exactly remember how I solved it then);
  • designing a digital filter instead of analog one (which was to be reverse-engineered with soldering iron and voltmeter due to lost documentation);
  • creating fuzzy matching engine for geographic addresses (based on "Levenshtein distance" algorithm);
  • some basic graph algorithm for calculating "nearest districts" in a city (like in the exercise "Transitive Closure...").

But this was in only 2 of the mentioned 6 companies - there were nothing of the kind in others.

In industrial programming people are usually more concerned about architecture, testability, maintainability... Well, it is also kind of interesting, but not enough :D

Though of course there are small percent of companies where quite unordinary tasks are solved and where knowledge of algorithms, math etc. is regarded as extremely important (and well paid) :)

> Valentina Lisita, for her extreme virtuosity alone, if nothing else.

Oh yes, I once found 3rd mvt of Moonlite Sonata by her - it's not enough to say I was extremely impressed!

However I am not classical musician - so I also feel admiration to people like Billy Joel for example (his "Leningrad" is really something) :)

Christopher Matthews     2014-10-17 12:16:31

Thank you, this is very helpful information :)

If you don't mind one more reply, would you please tell me of some programs and/or tasks which one would be expected to write if hired in such a company, and what skills would be most worth studying? You mentioned architecture, testability, maintainability; can you elaborate a bit? Also, I have heard that in the interview, candidates would be expected to write some small programs as a test; do you know what such programs may be? Sorry to be a pest, but any information you can give me will greatly assist in my goals of finding employment, as I wish to be as prepared as possible!

As always, thank you, and I am continuing to enjoy my time here! Christopher P. Matthews

Please login and solve 5 problems to be able to post at forum