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?

jQuery Fumbles

I felt particularly overwhelmed this week. The fact that I started some of the Codecademy lessons for jQuery last week instead of this week might have something to do with it. I’m finding the process extremely frustrating. I’ve been having a lot of problems with Codecademy itself. More often than not I had to go into the Q&A Forum for help. (Which, honestly, was encouraging, because a lot of people were having similar issues to me. For example, having correct code that simply wouldn’t go through.) I understand and appreciate the necessity of Codecademy, but when you’re spending hours upon hours (literally) working on it, it gets frustrating.

The project was… okay. Until I got to the jQuery part. I spent a lot of time on the W3 Schools site, and just googling around in general, but it wasn’t particularly fruitful. As you know, it took me forever. There was a point in class where you said that we might not even need to use variables in our code, and unfortunately I spent a lot of time hung up on that. I’m hoping that I will understand it better once we’re in class. I wish it were possible to do an only jQuery practice before jumping into the whole slideshow. I got the pictures up, the text up, and the buttons up. You just can’t see it all. (I’m also glad to know after reading the other blogposts that my fellow coders in this class are feeling similarly to me.)

For my midterm, I was going to interview the coders behind the “North” piece that I showed you. Unfortunately, that fell through as of two days ago. So. On the prowl again. There are a couple of interactive pieces that I really enjoy and would be interested to speak with the people who produced them, so I am currently trying to get in contact with them.

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