Category Archives: 2017 Summer class

Q&A with Tiffanie Johnson

Tiffanie Johnson is a developer who made a late career change after working for a defense contractor. She is currently working for Forum One, a 21 year-old digital company that helps organizations build and extend their reach through innovative web design and development.

Tell me a little about yourself.

I was born in D.C., but my father is in the Marines so we moved around a lot. I consider San Diego, California to be my home town. I miss it, especially on days like this when it’s humid, hot, and sticky.

Were you working in web development when you were out there?

No, I wasn’t. I wasn’t really interested in web development at school. I went for Physics and Math. I got my Associates in Electrical Engineering and I got my Bachelor’s in Mathematics. So I’m not a classically trained computer scientist, like a lot of my colleagues are. My senior year of college, I was trying to decide if I wanted to go to graduate school or if I wanted to teach. Neither of those really sounded appealing to me, and that’s kind of what you do if you have a degree in STEM. I was like, I better teach myself a skill. And so I started watching tutorials on YouTube about web development and I sort of taught myself. Through my school I was able to obtain an internship with a defense contractor. That’s where I got a lot of experience from. Things just kind of snowballed after that.
The job I have now, is the first one that is web development focused.

Where are you working now?

I’m at Forum One.

How long have you been at Forum One and what has your experience there been like?

I’ve been at Forum for a little over a year and my experience there has been mostly positive. So even though I’m not doing defense contracting anymore — you have to get the contract to get the work and that’s something to do — in the private sector it’s a lot like that. We have to win contracts. There are down times. When you’re busy, you think about all the things you could do if you had a little more time. And then when the slowdown hits and you get all that time, it’s so boring.

What is it about web development that you really love?

I think the fact that I’m able to touch so many people with the work that I do. When I worked in defense contracting, if I was building an application, 20 people would see it. With the work that I do, billions of people see it every day. So we build the new Smithsonian African American History Museum’s website, the Red Cross’s site, and Peace Corp. So I’m not only building these websites, but I’m also helping to spread goodness.

What are some of the things that frustrate you about this field?

Being new to web development is difficult because there’s so much technology out there. And that’s fun and it’s exciting, but it can also trap you. You start researching. For example, for JavaScript there are gazillions of frameworks out there and you start researching them and it’s like, which one do you use? Why were these created in the first place? What problem are they trying to solve? What are their pitfalls? Why might you not want to use them? Stuff like that is frustrating to me because the answers are not always clear. It isn’t alway clear which solution is best. That could be because I’m fairly new. As far as web development is concerned, I have about a year and half of experience. I’m sure that I’ll get better at it, but technology’s changing very quickly.

So if you come into web development with an open mind, know that what you learned today might be obsolete in three months. That has to be okay with you. Otherwise you’ll get pretty discouraged.

In your profile on Forum One, it says that you are working toward becoming a Subject Matter Expert. What is this position and why do you want to be one?

I want to teach people how to use it and I don’t want to have to ask anyone for help. So if I’m the expert in that field, then all the JavaScript decisions would come through me. I want to be an expert at it because I want to know more than the person next to me who’s doing the same job. JavaScript is the language of the internet really. I think that’s the perfect language to do it in.

What projects are you working on now?

Have you been introduced to StackExchange? It’s a forum where you can ask other developers questions if you’re having problems? So I’m building a copy of that. Not to really put it out there, but for myself to play with.

Any advice for anyone who is just starting?

Yeah, code every day. Code something, even if it’s a “Hello World”, or something like that. Read an article everyday. Because it’s very easy to forget why you made a decision. Always comment your code, for you and for the person after you. Realize that everybody that’s coded before you has felt the way you felt so don’t give up. This is just the process of becoming a developer. And it’s fun too! It’s a very powerful feeling to control a computer and that’s what you do.

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.

Greg Collins, Former CIO of EarthLink

The developer that I interviewed was Greg Collins, previous Chief Information Officer at EarthLink. He developed an interest in coding during high school, began his career in web development and later switched into more of an app developer role for EarthLink. As an app developer, Greg’s main focus as a freelancer now is to create easy to use, goal-oriented apps for his clients.

(Q): How did you initially get into coding? Were you taught by a class/teacher or did you self-teach?

(A): Growing up in suburban Tennessee, there was not real push for kids to learn coding growing up. However, my sophomore year of high school, a new teacher came in with a web development background. He created a coding club at our school, and I went once just to check it out with no real intention of becoming part of the club. I was instantly drawn to the idea that you can create your own website through writing a new language in a certain way. Needless to say, I quickly became a very active member of the club.

We initially began with BASIC and FORTAN, throughout my sophomore and junior year. My senior year we were introduced to HTML, CSS, and Javascript. After high school I focused on self-teaching through online courses and after college was formally trained by my employer.

(Q): What was the hardest coding language for you to learn?

(A): At first, it all seems very different and foreign. With that said, I think that the hardest language for me to learn and self-teach myself was Machine Language. I also think that it was the most interesting to learn since it is really writing commands directly into the CPU.

(Q): What project are you most proud of?

(A): The coding project that I am most proud of probably has to be my first own version of BASIC in machine language. It was the most difficult project I had been a part of at that time. It took me weeks to finish and I was very proud of my efforts and happy when the coding finally worked. It was extremely interesting to me to write a higher level language in the most base language there was.

(Q): What is your favorite site online today?

(A): This changes a lot, but as a technologist I spend a fair amount of time looking at various technologies and therefore enjoy TechRepublic lately. With technology constantly changing and improving, it is very important to stay current with the newest trends either in coding, or just technology as a whole. New types of technologies can change the way a developer writes their code, for instance, with increased usage in mobile phones, we have to make sure our code is cross functional and optimized throughout different platforms. I try and stay as current as possible through techrepublic.com and other online tech publications. 

(Q): What has shaped your work?

(A): In the beginning of my career I was always interested in looking at the coding behind websites that drive a lot of visitors. For instance websites like the Washington Post, Amazon, ESPN, among others. I wanted to see which websites had the best layout and processes and tried to replicate that for my clients in order to create a user-friendly page that would drive traffic like those of such large capacity.

As my role has changed into app development, I am inspired by apps that create simplified actions. Some apps try and have too many options, but I am motivated and drawn to those that narrow down their functions to a few, very basic actions. Users don’t want to be spending time searching for through an app to find what they need or want. The best apps are those that have extremely simplified clear and concise functions.

I spend many hours with my clients to evaluate their core functions in order to create a simplistic app that has functions that are so simplified, a fourth grader could figure out how to navigate it.

(Q): What advice would you give to coding beginners?

(A): The advice that I would give beginning coders would be to dip your feet in all types of coding languages and truly find out what really interests you. When I first began coding, there were hardly any tutorials online, and about half of the languages and functions there are today. Luckily, as technology has grown, so has the need for IT, tech, and coding specialists. With that has come the increase in learning opportunities. There are online tutorials and coding program websites for just about any type of coding someone would want to learn. But I would just recommend truly finding the language that implements the functions you are trying to create. Play around with a few of them, I bet you would be surprised at what might interest you.

(Q): What are some best practices you can share regarding web and app development?

(A): When it comes to best practices for both web development and app development, I would recommend keeping your code clean and keeping up on new development in languages and techniques. If you fail to do so, your website or app may end up with problems like slow loading, bugs, and others. You want to ensure that your website or app is as up to date as possible and ultimately optimized for visitors.

An Update on my Slideshow and Midterm

I feel a little better about code this week because I finally figured out my slideshow. After staying with Greg for 45 minutes after class, the Javascript on my slideshow was not working for some reason when I would put the link into an HTML preview. Considering that I am the kind of person and student that always wants to figure things out instead of let them go, I went home after class and experimented some more. I figured that when I downloaded or cloned my GitHub repo, my slideshow worked. It made me excited because I figured that all those hours of coding were not a waste.

I thought I would never be able to figure out how to do my slideshow, but it felt so rewarding to have it actually work. It may not be as pretty or as nice as I would want it to look, but finally publishing it felt so good. It reminded me that those “Eureka” moments are worth it when you put in the long grunt work.

My favorite part of this class was interviewing the two developers I found. It was a challenge finding people. I relentlessly reached out to people via LinkedIn, email and Twitter. Luckily, my efforts worked and I found two developers who said they would help me. One is a web developer and the other is a mobile developer at a startup. I love interviewing people. It is one of the reasons I wanted to pursue journalism, and both had such interesting paths. One decided not to pursue a traditional university path because he found a passion in coding and the other tried several career options before taking a 12-week intensive coding course. I always find it fascinating how some people land in the same career but take different journeys to get there. They were helpful in their advice about coding. Both basically said anyone can learn how to do it but it takes a specific mindset: You have to like problem solving and you have to enjoy learning how to figure things out. I’ve never considered myself a problem-solver but I would love to start now!

Reflection on the Midterm and Gallery Assignment

Midterm

One of the things that struck me the most as I learned more about Wes – the web developer I profiled for the midterm – was just how much thought goes into designing a story or website. Reading though his explanation of a web documentary he helped create for NPR gave me a greater appreciation for how much research, planning, and thought go into designing something for the web and how much designers think about the user experience when they do their work. I feel like as regular internet users, we often take for granted or ignore all-together the design of a site until a part of that design stops working and we become frustrated.

I also found it interesting that in answering my questions, Wes touched on some of the topics we’ve covered in our class. His thoughts on open-source software reminded me of the WordPress software philosophy piece from our pre-readings, which touched on four core freedoms known as the “WordPress ‘bill of rights’” and encouraged “freedom of use” of the WordPress software. I know Internet freedom is a much-discussed topic, and it was interesting to get some insight from the perspective of a developer.

When I was looking for someone to profile, I also reached out and sent a couple of questions to Christian Wood, a web developer who was part of my intern class at NPR last semester, and he was kind enough to answer them for me. I’ve included his responses below the fold for anyone interested in another perspective.

I found it interesting that both Wes and Christian brought up another point we’ve touched on several times in class: that Google is sort of a web developer’s best friend. Wes’s piece of advice to beginner coders was to remember that even experienced web developers, like the founder of Ruby on Rails, still have to look up code, and Christian listed surfing the web to find bits of code as one of the duties of his job.

I like these themes of sharing and learning from each other that seem to be a part of the web development community. It makes sense that when you’re working with something that’s constantly changing, like code, you’d need to be open to constantly learning.

Gallery

As part of my work this week, I was also able to get my gallery to work by adapting Professor Linch’s code to my project. While I had my HTML and CSS set up correctly last week, I was having serious trouble with the JavaScript, and the tutorial in class definitely helped.

The final code can be seen here: https://github.com/tatyanaberdan/homepage2

Continue reading

Midterm Reflections

Small update: Since interviewing Tiffanie Johnson and writing the Q&A, she has left Forum one and will be joining the Washington Post’s Web Development team on July 12.

One of the first things I noticed about Johnson is that she has a background in math an engineering. While neither of these are required for this career, it definitely helped her when she started learning. The other thing I noticed was how passionate she is about the field. She is driven to more forward, improve, and be an expert in her area. I did not add this the Q&A but she mentioned a specific need to be the best, to create the hardest to break software, and to develop something that has a positive effect on the world. This is why she left the department of defense.

I was encouraged and amused by the knowledge that, outside of this class, I can learn more about web development on YouTube. The fact that she did all of her development learning there is just funny. But she did stress the importance of coding daily and practicing. Where she found the time to do this while working, no idea, but it is good to know that it can be done.

I have never had to bid for work. I have never competed for an assignment, not this way anyway, so I don’t understand the challenges that come with having to do this. There is always something to be written, large or small, but I do want to become a freelancer. I want the flexibility that this type of working affords but it will mean that I will have to compete for stories.

At the end of the day, Johnson’s journey was inspiring in that she took an unconventional path to what I can only describe as the career of her dreams.

*This post has been backdated*

Midterm Reflection: Startup Culture, App Development, and AngularJS

I enjoyed working on the midterm assignment and learning from an experienced web developer. This assignment forced me to go outside of my comfort zone and interview someone I’d never before met or interacted with. As a relatively shy person, this was difficult for me, but the developer I interviewed, Dave, could not have been nicer and more approachable.

I connected with Dave through one of my colleagues in the Office of Advancement at Georgetown. My colleague’s boyfriend owns a software and app startup, and my colleague mentioned that her boyfriend would definitely know a web developer that I could interview for this assignment. Several days later, my colleague connected me with Dave via email, and he very quickly answered my lengthy list of questions. This past week, I spent some time following up on a few questions with him because I was interested in learning more about his perspective on those topics (particularly, why Stack Overflow is so great).

One of the most interesting things that I took away from my conversation with Dave was his warning about the culture of overwork that often exists in startups and tech companies. He made an important point that a company might offer you three free meals a day, a place to nap, and a gym, but that is likely because they expect you to spend most of your life there. Tech giants like Google and Apple boast about the amenities available to employees on their campuses, but does this come at the expense of having a life outside of work? Even if I don’t continue with web development any further after completing this class, Dave’s advice to be wary of this type of work culture and environment will remain in the back of my mind no matter what field I pursue a career in.

Dave’s mention of the AngularJS framework also piqued my interest. I had not heard of AngularJS prior to conducting this interview, and I spent some time afterwards researching the framework and what it does. From what I am able to comprehend, AngularJS can be used in app development to make an app more readable, interactive, and dynamic. The AngularJS site sums up the framework as “HTML enhanced for web apps,” but I know there is much more to it than that. Although we won’t really touch on app development in class this semester, I’m interested in digging more into this topic and seeing how app development overlaps with more “traditional” web development. As the usage of web and mobile apps only continues to increase, I’m sure frameworks like AngularJS will become even more important.

Overall, speaking with Dave was an enlightening experience. It was reassuring to learn that, even as a seasoned web and app developer, he relies on Stack Overflow when he has questions or is unable to figure something out. I’m glad that I created an account on the site when I was struggling with last week’s jQuery slideshow assignment—I’m sure I will be consulting it frequently throughout the rest of the summer. Speaking of the jQuery slideshow, I was finally able to get mine to work!

jQuery Slideshow

https://github.com/xof88/Homepage-Assign

Creating an Interactive Slideshow with Captions Using jQuery

This week’s jQuery lessons in Codecademy were a breath of fresh air! I really felt quite lost last week with JS, but things started to click for me this week with jQuery. CA still had some kinks this week (also no option to “Get Code”!!!), but with some help from Google, I finally got the hang of it about a quarter of the way into the lessons – and it was pretty breezy from there on.

I followed Greg’s instruction and added my images, captions, and dots(buttons) to my index.html file I created a few weeks ago for our homepage assignment, and linked to my new script.js file. As I moved through the lessons, I went back and forth to my JS file to begin building out my slideshow for my homepage. When I got stuck, w3schools tutorial was immensely useful – it really helped to see how all the pieces fit together: HTML, CSS, and JS/jQuery. Once I felt like I was in a good place, aka. the slideshow worked (yay!), I then played around with and added to my stye.css file for my homepage.

One area I am stuck on is how my slideshow first displays (or doesn’t display) in Chrome and Safari. On Chrome, all four images initially stack on top of each other, until I click on a button, at which point they become a slideshow. Also, the slide numbers, captions, and buttons are not ON the pictures (but above and below.) It doesn’t seem to be reading the CSS which styled the font size, color, etc… either. I’ve searched Google endlessly, but I don’t think I’m using the right terms.

The jQuery is working great in Safari, except that the images do not initially display at all – I have to first click a button and then the slideshow can begin. Again, Google hasn’t solved this one for me yet either. Any ideas class? Anyone else have either of these issues?


On a separate note, I am looking forward to our midterm project. I will be profiling a coworker’s husband who is a web developer for Discovery. Prior to joining Discovery a couple years back, he was a developer for a PR agency. I chose him because he has an interesting story about how and why he got into web development that I think the class will enjoy reading.

Cheers,
Jane

jQuery: Seemingly Simple but Kind of Overwhelming

Midterm:

For my midterm, I plan on speaking with Wes Lindamood. He is a senior interaction designer at NPR and works on creating digital stories and projects for the organization. I interned in NPR’s Marketing, Branding, and Communications department last semester and met Wes briefly, although we did not work together.

This week’s assignment: 

One of the most challenging things about this week’s assignment was just figuring out how to begin. The Codecademy lessons were simple enough (although some of the functions, like .apend(), still confuse me in terms of what they actually do) but I struggled extremely with creating the gallery. It’s hard to know where to begin when there seem to be so many different ways you can go about creating something in JavaScript and jQuery. I looked through various tutorials in preparation, and each of them suggested a slightly different approach. Not having a clear, formulaic set of steps threw me for a loop (no pun intended). Most of the work I did this week felt like just trial and error: changing different parts of the code to see what, if any, effect it would have and if it brought me closer to the end goal.

In terms of how far I got, I was able to load the images on to the HTML page and set up my ‘divs’ easily enough – the real problem was writing the actual JavaScript code. No matter which approach I tried, I could not get the images to actually appear in the semblance of a slideshow. Either all of the pictures stayed on the page or all of them disappeared and I could not figure out where my mistake was – whether I was screwing up the way I was writing the CSS, the HTML, or the JavaScript. I also struggled with linking the JavaScript file to the HTML and am still not sure if I did it correctly. In the end, I tried to modify the JavaScript presented in the W3 Schools tutorial by playing around with some of the jQuery events like the .click or .dblclick, but none of them seemed to have any effect.

I will keep working on my code and, hopefully, before Wednesday, I’ll produce a slideshow that actually slides!

Link to GitHub work: 

https://github.com/tatyanaberdan/homepage2

jQuery: A Lesson in Persistence

As I was working through this week’s Codecademy lessons on jQuery, I felt a minor sense of relief because I seemed to be understanding the concepts more easily, especially when compared to last week’s JavaScript disaster. Applying the jQuery concepts, however, has been a different story.

After completing the Codecademy jQuery exercises and working on some further tweaking of my existing homepage HTML and CSS code on Friday evening, I decided to get away from my apartment and head to Georgetown’s main campus on Saturday afternoon, hoping that the jQuery gods would help me complete the slideshow assignment. Five hours later, I felt like I had little to show for my efforts. Numerous Google searches and perusing the pages of more than 10 different sites only left me even more confused. I reached out to Greg for assistance. His response to write out the required steps in the slideshow using code comments was helpful, but I guess I’m just unsure of where to go from here. I found what I thought was a useful source for building a jQuery slideshow, but even modeling my code after this example has not worked. I then proceeded to create an account on Stack Overflow and asked the same question there–how do I get started on creating a jQuery slideshow with captions that show/hide? I received a detailed response, and tried altering my code, but it still did not work. My GitHub repo for this assignment is here. If anyone has figured out the jQuery code, I’d love to chat!

I’m not one to give up on an assignment. It’s currently after 9:00 on Sunday evening, and with a full-time 8-5 job and then a 6-9:35 pm class to attend on Monday, I’m unable to dedicate any additional time to this before the 10:00 deadline on Monday night. You win [for now], jQuery. I will try to work on the slideshow again on Tuesday evening to get it working before Wednesday’s class. I’m hoping this week’s class will shed some light on the steps we should follow to make a slideshow. I think what would be most helpful for me would be to see a template of sorts that shows the correct code to use in order to get all images (except for the current one) to hide, to click through to the next image using a button, and to add the caption text that also shows and hides.

I’m excited to work on the developer profile midterm assignment. After working so hard to figure out the jQuery assignment and still reaching a dead end, I’m grateful for the opportunity to work on a written piece that is more straightforward. The developer I’m profiling is named Dave. He’s asked me to withhold his last name for privacy reasons due to the work he does as a government contractor. Dave is a developer and programmer who does front-end design for applications that provide analytics as well as freelance marketing and landing page-type work. I got in touch with Dave through my colleague who works on social media and analytics for my department at Georgetown. As I was discussing this assignment with her, she offered to put me in touch with Dave, who is a friend of her tech app startup-owner boyfriend. I’ve already spoken with Dave and have received answers to the questions I posed, so I’m looking forward to working his answers into the midterm assignment. I reviewed the developer profile examples from the 2013 class, and am wondering what exactly is expected for this assignment. Some people provided a brief overview of the person they profiled, and then simply listed out the questions and answers. A few others worked the questions and answers into an actual story (I’m assuming these were the journalism students). Do you have a preference, Greg, for how we approach this assignment?