Friday January 19th

A Day with Julia

Scientific Computing

  • I spent the day learning some Julia.

  • This is the downloaded version. I also am running one on Jupyter (see images below). So far, so good.

I got up to Functions and reading in and plotting data

  • Here are two ways of writing functions:

One-liner

Ruby-esque :D

Upcoming

  • Tonight, I’m probably going to work on finishing up Week 2’s assignments, as I can run it on JuliaBox. Seriously, though, these Cloud IDEs/ applications are saving my life!
  • During the weekend, I’m going to work on my Data Science Project 1 project
  • During the week, I’m going to finish up some Advanced SQL
  • Sparklecon is next Saturday, but I’ll have Sunday to work on Project 2

I really

  • Don’t want to attend a boot camp or anything, because they teach a lot of web stuff.
  • I am not excited by web dev. At all. I have friends who are and I definitely can tell the difference.
  • I’m also aware that if I join one, I’ll probably be around peers who will be interested in things like syntax, and not necessarily be able to interact with people who are interested in other more niche aspects of programming and programming languages. So that’s a trade-off. However, it may speed things up for me on some levels, just in terms of focused learning and getting a full-time gig.
  • I’ve been steadily recruited, but the process is going to be longer for me, because I have a lot to learn. Particularly, I have a breadth of knowledge in things that a lot of my peers don’t have, but they have depth in one thing (typically JS/ Node.js/ React), so that makes them more hireable. I don’t think I’m quite job-ready, but I would probably (eventually) be a solid programmer and in some ways, a bit of a unicorn, based on my interests and breadth of languages that I’ve interacted with / learned from (which could be the appeal for recruiters that I’ve been getting).
  • It is true; I haven’t seen many of my peers with my interests, so I guess I’m a bit of an odd-ball.

Reality I (gotta eat)

  • But if I have to, I definitely want to do one that sticks with Python, because at least I can have the benefit of playing around with Data Analysis on my own, and between .Net, Node.js/ JS and Python and Ruby, Python is my first choice.
  • I’m interested in correctness and languages that have succinct syntax, type-checking, and clean code. I’d like to continue with that. I’m really tickled by the idea of just settling down and doing research and working as a computer scientist. A lot of my friends are scientists, and I’ve found that my circle actually has a fair number of mathematicians, who, when I ask them for advice, keep telling me that (even though they work in software) their background “isn’t in CS” or that they’re “Maths people, not CS people”. I find that highly amusing. Maybe I’m attracted to a particular type of programmer?
  • I’m exploring the possibility of working for a year and then using that year to build up savings, while applying for my Master’s. I’m honestly not that fascinated by opportunities to build CRUD applications, regardless of the company (Yup, that includes you; Big Fives).
  • I know the focus is on “building”, and that it is important in the boot camp cohorts, but I still have in my mind that thinking (learning how to, and how you approach it) is the most important thing. Maybe both are correct.
  • The correctness and debugging applications and type theory are really fascinating, and I’d beat myself over the head if I didn’t spend the time (now that I have it) to study some of that stuff. Some people never get to, and I have a window of opportunity (I think?), based on my current direction. Plus, I’d probably continue to meet some incredible people along the way.

Reality II (industry)

  • I’ve spoken to experienced developers lately, who are increasingly dissatisfied with the quality of work that is being put out. Yes, a lot of people are becoming developers, and that’s OK, but we should still aim for maintainable code, right?
  • At companies big and small, I’ve been hearing of devs frustrated because people just don’t care. They get paid enough, so why does it matter if the tower falls? So I have a sense of what I’m stepping into, and I’m aware of an environment where I will probably be looked down upon because I don’t have the experience, plus being told that things like correctness don’t matter because it’s all about shipping a project. So that’s something to think about.

I’m hoping for the future

  • I can continue learning about type theory and lambda calculus. Maybe build my own language.
  • I can continue to read papers about specific scientific contributions and ideas by people in the field
  • I can continue to have a curiosity of why choices were made with respect to certain languages vs others.

That’s pretty much it for now.

Written on January 19, 2018