Author Archives: Victoria Kinnealey

Excellent Discussion with Chamber Web Developer

This week’s assignment was my favorite thus far, partially because it used more traditional communications skills (e.g. interviewing, synthesizing, writing, etc.), but also because it reinforced that learning to code is not easy. Sarah Howe, the web developer I spoke with, talked extensively about her experience learning to code—noting it was a lot of trial and error, frustrating assignments, and a constant growing pain. When I discussed my frustrations with my experience thus far she reassured me my feelings were normal and with time my emotions would transition from infuriating, to frustrating, to exciting.

It was also reassuring to hear someone say this that now makes a career out of coding. Sarah is not just an individual that codes on occasion, her entire profession is based around web development, so if she struggled at the beginning that is really is only natural that I too am struggling a bit.

She also pointed out that you are never really ‘done’ learning to code, the way you might ‘complete’ another assignment. She said she is constantly learning new pieces of code, and there are a lot of things her coworkers handle that she does not understand. I had not thought of coding as something that can branch off into different practices in the way that public relations can break into different professions (e.g. media relations, social media, corporate communications, etc.) After speaking with Sarah, however, I now realize that there are lots of different ways someone can work in web development or coding. They can be back end, front end, client facing, management, or numerous other positions that all require knowledge of coding and web development, but to varying degrees.

I really enjoyed this assignment as I think, up until this point, we have been very focused on micro level coding and this was our first big picture look at web development. Rather than focusing on specific lines of code, we spoke with someone who enabled us to see the big picture of web development, including what you are trying to achieve with coding, the different career paths you can pursue with this knowledge, and the larger scale considerations you have to keep in mind when working on a site.

Web Development Midterm – Coder Profile, Sarah Howe

For this assignment, I spoke with one of the lead web developers at the U.S. Chamber of Commerce (the Chamber), Sarah Howe. Sarah has a wealth of knowledge, not only as relates to web development, but also how the tech industry is growing, changing, and constantly redefining the skills necessary to be successful. Given that Sarah and I spoke for over an hour, I cannot fit the full extent of our conversation into 800 words, so I will discuss a few of the highlights.

First, I was intrigued to discover that Sarah fell into the web development world post-college and taught herself to code using Codecademy. In college, Sarah studied history with minors in art history, Asian studies, and classical studies. She then moved to D.C. to work as an event coordinator, first for the Korean Economic Institute, and then at the Chamber.

While working on events at the Chamber, Sarah had her first introduction to the coding world when she decided to create digital event pamphlets as opposed to print pamphlets to minimize paper waste. She quickly realized she enjoyed the work associated with digital tools – streamlining efforts, developing creative solutions, and covering diverse topic areas, to name a few. She realized that her future was not in events, and began to look for web production jobs within the Chamber.

A few months later, she switched teams and began working on content for Chamber websites, which continues to be her job today. Sarah oversees the web development team, making sure all of the “trains run on time” and working with other developers to create content for numerous branches within the Chamber.

I found Sarah’s career trajectory interesting given the complexities of web development. I thought a career in web development or coding would be similar to a career in finance as relates to the necessary training – if you do not major in the field in college and get a strong background, you’ll be too far behind once you graduate to break into the industry. I brought this up with Sarah and she explained that the difference with coding, as opposed to finance, is that the tech world is constantly changing, growing, and adapting in ways that make it both difficult to keep up with, but also easy to break into.

Sarah told me about an employee who was recently let go from the Chamber because his job became obsolete due to the changing tech environment. He had studied coding in college and worked as a server admin who hand-coded all of the Chamber websites (for reference, the Chamber has numerous incorporated affiliates, such as the Institute for Legal Reform and the Global Intellectual Property Center; each one of these organization has their own individual website. There are also branches within the Chamber, such as the Center for Education and Workforce or the Intellectual Property Center, which have pages on the larger Chamber site, so there are numerous complex sites to maintain). His job was to make sure all the sites were running efficiently by updating the cache, fixing minor bugs, etc. This work, according to Sarah, is now becoming unessential as websites are developing “smart code” that can handle this type of maintenance internally.

For example, in the past the individual who was laid off would set up rules for each page – for example updating the text on a page, telling the site to purge the cache as the old content is no longer up to date, and then telling the system to take a new snapshot of the page for the cache. Now, however, websites with “smart code” will automatically detect when the text on a page is updated and then execute step two and three automatically without needing an individual to update the code. Sarah pointed out that there is still obviously the ability for a person to code these rules by hand, or update the code if the site misses a step, but the technological improvements make a full time position unnecessary.

I asked Sarah what she thought this “smart code” meant for the future of coding, would it cut out jobs or create more? She felt that these improvements would cut out jobs for those who were unable to grow or adapt, but for those that were willing to continually learn and strengthen their skills, there would always be jobs available in the tech industry. She raised that the code is only as smart as the coder that created it and there would always be a need for coders to create the next level of “smart code.” I thought this was both a motivational insight, as well as a slightly daunting realization. To be an effective coder or web designer requires constant learning and change, as something that is cutting edge now will likely be obsolete in a few years.

I jokingly mentioned this to Sarah, and she agreed it can be daunting, but said that she thought taking our course, web development for media, is exactly the right first step to get into the coding world, as the basics won’t change. She analogized it to cooking – there are always going to be new ways to cook, and if you love cooking you enjoy learning new recipes, preparation tactics, etc. But minimally, even if you’re not a 5-star chef, you should have a basic understanding or the cooking process, the pieces that go into making a meal, and then, even if you don’t use all of your background knowledge, you have an understanding and appreciation for what went into the dish.

I really liked this analogy and I think it applies perfectly to what we have been doing in class. Although it has been a painful growing process, we have spent the past month trying to understand the intricate details involved in web development so we have a basic understanding of the process. Even if we are not going to use each minutiae coding detail in every website or blog we create, knowing the pieces that go into the larger system is important.

jQuery – Easy(ish) in Theory Hard in Practice

This week’s lesson left me feeling similar to last week in that many of the steps were logical and easy to understand abstractly, but a bit more complex when put into practice, especially when the examples disappeared. One the one hand, I liked that the project made you set up the jQuery each time you ran an assignment, I now have the $(“document”).ready(function(){   }); permanently ingrained in my head as the starting point for any jQuery work, which is great! However, I thought at other points the lack of guidance with the jQuery lesson as compared to past lessons was frustrating and, frankly, wasted time.

In past lessons, if you try to write the code five times unsuccessfully, the system will give you the option to see the correct code. Although the goal is obviously to write the code on your own, I learn best from watching and observing the correct approach. Therefore, when I got to a piece of code I couldn’t figure out, seeing the correct code enabled me to understand what I had missed, why I had missed it, and how I needed to set the code up in the future to be successful. The jQuery lesson did not provide any code, no matter how many times you tried, which for me was extremely frustrating. I would Google the terms I thought I needed, take a break and come back, look to old lessons for clues, and eventually I did figure each section out but the process was so frustrating my “aha” moment was not very satisfying because I just wanted the practice to be done.

Similarly, although I felt (relatively) confident with the jQuery lessons of Codecademy, I struggled to test my slideshow code in JsFiddle, thus I am not sure if my jQuery is functioning properly, which is frustrating. I would update pieces of the code, refer to old lessons, read notes from class, everything would look accurate, and then when I put all of my code into JsFiddle nothing happened. I could not figure out if it was because my code was inaccurate, or if I was putting it into the system incorrectly, but either way it left me uneasy and annoyed.

As we discussed briefly in class, I think a lot of this comes with months (and years) of practice and repetition, but at this point I am continually surprised by the mental and physical toll that coding takes on my mind. After five hours of staring at five lines of code that look right but don’t work right, I have an ever-growing respect for fulltime coders.

I have a call set up tomorrow to Sarah Howe Elliott, a web developer, project/UX manager at the Chamber of Commerce (I have never worked with her directly and she does not work with my department within the Chamber). I’m excited to hear about her career and if she was equally as frustrated when she first began learning code J

JavaScript — Difficult, But Not Impossible!

The JavaScript assignment this week was complex, yet simultaneously the most logical for me to follow. One of the Codecademy lessons pointed out that a lot of the JavaScript functions are very straight forward statements – “if” something then do [blank], otherwise, do [blank2]. The logical of that set-up, for me, is much easier to internalize than some of the CSS or HTML code (such as the difference between a class and id, still unclear why those need to be separate). Similarly, I found a lot of the functions to be relatively understandable. With if/else statements, for example, depending on the variable, the function will run though “if” “else” or “else if” statements until it finds the correct variable and then execute the appropriate statement.

Where the confusion, for me, came in was actually executing the code. Reading the Codecademy explanation, and reviewing the code provided by Codecademy, while time consuming, made sense after I read each line a few times. I struggled, however, when trying to recreate the code for a new set of variables, specifically when we got into functions.

Last week, my inability to execute the code would have been very concerning for me. However, this week I realized that my understanding of HTML and CSS has already greatly improved. I was able to build a new homepage with different fonts, colors, pictures, sizing, and overlapping images in a relatively short amount of time, which took me numerous hours last week. Thus, I am hopeful that with time and practice I will gain a similar familiarity with JavaScript.

I am excited to learn more about JQuery as I think that will simplify a lot of my confusion be de-cluttering the code. Sometimes I think I get lost in the numerous statements, variable, numbers, etc. I have a feeling I am overcomplicating the code, but I think the introduction of abbreviations will help me understand where I can cut back on wording.

Also, as a final side-note, I am interested to discuss in class how everyone’s slideshow is coming thus far. I feel relatively confident that I have built the CSS and HTML blocks correctly for the slideshow, but am struggling with (as mentioned above) actually executing the JavaScript code and wonder how others progress is coming along.

First Coding Experience — The Struggle Is Real

This week’s assignment taught me several important lessons, the first being that this class is likely going to be the most challenging course I have taken thus far at Georgetown University. As a student in the Public Relations and Corporate Communications program, I have been relatively well equipped for my classes thus far – crisis communications, public speaking, event planning, digital analytics are all skills I use in my daily life. I thought that web development, although not a skill I use often, would fall in line with these other classes as a sort of ‘second-nature’ skill. I can now say, after two weeks and numerous hours staring at my computer screen, I was wrong.

To begin, coding is very rational, as Codecademy explained the abbreviations are largely based on logic (e.g. px stands for pixel), the codes are straightforward (e.g. font-size equates to the size of the font), and almost all of the codes open and close with the same pattern (e.g. <tag> content </tag>). Yet, the system is so, incredibly fickle and specific, that I find myself struggling to understand the nuances between a <div> and an <id> and how an <h1> tag is different than a <div category =intro> if there is only one intro tag in the document? (I could continue with this stream of consciousness for pages, as I struggled with these differences for hours, but I will spare you that pain.)

I also struggled because I would then try to Google the questions in my mind, but I found I did not have the correct wording to find the answers I sought. I could envision in my head the piece of code I saw in previous Codecademy exercises that I was trying to recreate, but my search queries of “how to make a div connect to CSS” or “how to make a picture fit in the textbox CSS” resulted in nothing of use, which was frustrating.

In public relations and writing, there is no one answer to any solution. There are numerous ways to write a speech, pitch a story, structure a corporate campaign, etc. Thus, I think the exactness of coding is something that I will struggle with, especially given that I do not fully understand why one code works whereas another doesn’t, even if they serve (to my knowledge) similar, if not identical, purposes. I am hopeful that as my knowledge of coding grows, this confusion will subside and I will find it easier to differentiate between tools, tags, labels, numbers, etc.

At this point my biggest question is better understanding the purpose of a div, and how to use that div, and the offshoot of a category or a class, in CSS coding.

Pros and Cons of Codecademy vs. Github

This week’s assignments showed me on the one hand how simple basic coding can be, but also the complexity of web development. Specifically, I found Codecademy to be clear, whereas GitHub was a bit confusing.

Codecademy, at least my experience thus far, appears to be a very logical, helpful, direct, and clear software that will be an excellent tool throughout the class. The layout of the software is easy to understand; the directions are in plain English, making them easy to follow and internalize; and the layout of the website makes it easy to read the directions while simultaneously practicing your coding so you don’t have to flip between screens (which often causes me to miss steps when I am trying to navigate through multiple pages.) I am excited to see next steps with Codecademy as I found myself discussing with family later that night all of the top-line coding practices I learned in just the first two exercises.

GitHub, on the other hand, was a bit more complex for me. Although the directions were clear, I do not understand the purpose or use of GitHub in the web development world. Step one and two were clear, and I understand the notion that “branches” are different versions of a save file, similar to having the “original” document and then the “original vk edits” and then the final “original FINAL” so you can see the changes along the way. Beyond that, however, I am not clear what the goal of a repository is? Especially given that, at the end of the directions, we combined the “readme-edits” branch we created with the original and then deleted the “readme-edits” version, so doesn’t that mean we lost the tracked version of the document?

I am sure the reason for GitHub will become clearer throughout the semester, and I would be interested in hearing from my fellow students their experience with the software, what they have learned thus far as relates to GitHub, and the role they see GitHub playing in future web development assignments.

Codecademy: https://www.codecademy.com/vkinnealey

Test Repo: https://github.com/vkinnealey/hello-world/blob/master/README.md ** not sure if this is correct? What is a “test repo”?

Web Development Guiding Principles

Github: https://github.com/vkinnealey

As someone with very little background knowledge in web development the most striking take-away from the reading was the complexity and maturity of the different codes, ethics, guidelines, etc. that exist within the coding world. I had no idea that there were so many guiding principles that a coder was meant to follow and it raised a few questions in my mind. First, who created all of these guidelines and, given that there are different versions (e.g. Unix philosophy, notes on C programming, Zen of Python), how does someone know which one is “the” guiding principle to follow? I do recognize that they all carry a very similar message, but I can’t help but wonder if the varied versions create confusion and misguidance within the web development world.

Secondly, what is to keep someone from not abiding by the rules presented online? From my understanding they are not enforced in anyway, so if someone wanted to, for example, make it impossible for users to change or update their program, in direct violation to free software guidelines, is there anything that would stop them from taking that action? On a similar note, is it frowned upon if someone doesn’t follow certain guidelines, for example if someone wanted to keep their site “not free” as opposed to free content is that considered poor form in the web development world, or an acceptable personal choice?

Lastly, how is a beginner who does not have a course, instructor, or mentor, walking them through the world of web design, expected to find and learn the rules of the digital road? Web development and coding are still, in many ways, new territory that do not have, at least to my knowledge, the same oversight as other developed entities. Given the influence and power a website can have on the general public, as our WordPress reading said, those developing content only account for 1% of the audience actually reading and absorbing the posts, how is someone supposed to know if their content or web design abides by the digital code and is not accidently opening the door for software that could cause issues down the road?