On my LinkedIn page, there are almost no endorsements for programming/tech, even though I program since age 12 or so. Probably this is an indication that the endorsement system is broken there or I am not very active there recently. Or this is a reflection of a mild problem I have - very few people from my former professional, mostly investment banking, network know that I can code well beyond VBA scripts. The problem is mild because I am not interested in a full-time programmer job outside finance or data science domain. I am mostly interested in quantitative finance or startup projects where I could utilize all my knowledge and boost my productivity by delegating work to hardware. These days I think about programming in the same way as I think about math or English language or Excel - it is just an essential tool for achieving goals in some practical domain, not a separate domain (unless you are a language designer or a computer science teacher).
I enjoy many aspects of pure programming, such as premature performance optimization, but the most exciting thing about programming for me is an augmentation of my human abilities. I cannot add numbers hundred million times per second or crawl the entire web and analyze the content of million pages, but I can write a program to do so. A great philosophical question, which requires a separate post, is “Who is the actor - an entity that performs the actions encoded in my program - when my program runs”. Is it a machine, or a person who started the program, or an author of programming language, or a CPU designer, or it is me? Isn’t it a way to expand human consciousness and existence beyond their bodies and lifetimes!?
Below are my answers to some programming background questions from my application to the Hacker School, where I spent three summer months in 2014 and which is now known as the Recurse Center. (I like the old name much more!) By the way, this is a great place for people who are passionate about programming, who are not yet damaged by formal education or enterprise software practices, and who prefer the hacker way of doing things to other ways.
Describe your programming background in a few sentences.
At age 12, I was yet to learn about the Turing test and tried to write a chatbot talking to humans. That failure did not push me away from programming. During my high school, I was planning for a CS degree and was accepted to a local tech university already in January 2002. However, in the June the best university in my country invited me to any economics faculty I would choose, without exams. That was a no-brainer because I liked economics as well. Programming became my main hobby and an important tool for study and work, but it was not my craft. In 2010, I was not happy with the stagnating investments industry and could not ignore the booming tech industry, so I started to invest my time heavily into modern programming. I was fluent in VBA and OK with the LAMP stack and HTML/JavaScript, so I started with Ruby on Rails. Then I touched statically typed C# and realized that I cannot stand for the avoidable complexity of dynamic languages. With C#, I started to develop some projects, but it did not work for some tasks. Over the past year, I learned F# to a decent level and now I develop my grown-up projects with .NET stack with a huge bias toward F#.
Have you worked professionally as a programmer?
No, technically. But my first ever $100 I earned around 2004 from guys in my dorm by writing a search web page to query a DB with real estate objects and a page with a form to add new objects. Then a colleague from my first real job for several months paid me an additional half of my intern salary from his pocket to develop for him a website about the local stock market. Then I used VBA/SQL heavily to build infrastructure for analytics and to do complex calculations while working at other banks; however, I was paid for investment research, not code. Now I program my own projects and this is my primary activity, but it is not employment.
Do you have a Computer Science degree or are you seeking one?
I do not have a CS degree and am not going to seek one because this is impractical now.
(answers are as of January 2014)