My landlord is trying to have me avoid the building inspector, so he has gotten me a hotel reservation for two nights - Thursday and Friday nights. The building has been condemned, though if they had been able to see my apartment when they were here before They probably wouldn’t have condemned the whole building. So now I am ducking & diving, trying to stay just this side of the law while my landlord sorts out the legalities associated with the house. A fucking pain in the ass, if you ask me.

I guess this is the kind of stuff I should be writing about if I was to consider freewriting to be a psychological exercise. I don’t consider it to be so, but every once in a while I just need to bang out my feelings. Not that I’m allergic to writing about my feelings, I just don’t feel that it is all that cathartic. I would rather spend my energy writing about some aspect of my professional skillsets. Lately I have been writing a bunch about coding.

I found an interesting article about becoming a full stack developer. Most articles simply poke holes in the idea that anyone these days can actually be a full stack developer - the skillset is really too large. Other articles claim that a full stack developer is someone who simply has a familiarity with all aspects of the development process, with no sense of mastery over the whole process. The article I have linked above actually breaks down the various areas of full stack development and spells it out, providing links to various areas of coding that one must pay attention to in order to qualify as a full stack developer. This is a useful thing for me to think about given that I am now trying to pursue the Codecademy Pro curriculum for full stack development. My goal is to have some skills in all areas of development, but not necessarily to master them all.

Let me break it down a bit from here according to the outline of the above mentioned article.

  • HTML & CSS: This stuff is the kind of no-shit set of skills that anyone involved in coding should be able to do. I feel like I have a good grasp on how to use both HTML and CSS, though I could use more practice, particularly with CSS. I’m on target though.
  • JavaScript & jQuery: This is another basic area of coding, though it is much more difficult than HTML and CSS. I’m working on it, but it does frustrate me a bit. I need to get better at algorithmic thinking, but I also need to get better at using the Mozilla Development Network’s reference materials as a means of thinking through various coding challenges. Pretty much any question I have regarding coding can be answered online, provided I know how to ask the question.
  • Back-End Language: This is an area where any one of a number of coding languages would be helpful. Codecademy Pro teaches Ruby and Ruby on Rails as the back-end language for its full stack development curriculum, though I could also learn Python. I guess the idea here is to simply be conversant with the language, but not necessarily fully fluent. I’ll put my effort into Ruby and Ruby on Rails, and I might just do the Python tutorial just in case. I have a couple of books on Python as well, so that would make a difference.
  • Database & Web Storage: This is where I need to have some familiarity with NoSQL, MongoDB and other online database management languages and services. I guess that by the time I am actually using a back-end language, the importance of these database protocols will be more apparent to me. At the moment I am not in need of them, though I wonder if Amazon Web Services might provide some insight and access.
  • HTTP & REST: These are aspects of the relationship between a computer and a server that will become more apparent as I move along. The article offers a few important questions to be able to answer in a job interview, but it doesn’t offer a lot of detail. My impression is that this is a high-level knowledge set that simply comes with experience.
  • Web Application Architecture: Again, this is a high-level knowledge set that will develop over time with regard to coding in general. The article poses a few questions and answers, but doesn’t go into much detail.
  • Git: This is something I already use, though I don’t take advantage of its ability to work with teams of coders. All I need to do is to keep working with it, and my knowledge base on this one will be fine.
  • Basic Algorithms & Data Structures: This is another one of those high-level knowledge sets that come over time, though I do have one textbook on algorithms. My memory is that the textbook is a bit beyond me, though I should be able to get up to speed by brushing up on algebra. Again, though, this is one of those things that is way down the line in terms of priorities.