Author Archives: Luis Gonzalez

Developer Profile: Rafael Reynoso

Rafael Reynoso, System Administrator at Lockheed Martin

Rafael Reynoso, System Administrator at Lockheed Martin

Rafael Reynoso graduated with a Bachelors of Science in Computer Engineering from George Mason University in 2012. He is now a System Administrator for Ballistic Missile Defense at the Lockheed Martin Corporation. He is currently pursing his Masters in Systems Engineering from St. John’s University.

What inspired you to get into Web Development and Computer Science?

I wanted to become a software engineer in 10th grade at Garfield High School in Woodbridge, VA. My computer science teacher had been in the Army and was trained in computer science. He always told really awesome stories about software development and it made the subject come to life. I remember him telling a story about how he had written code that was used to take down a missile. From that point on I was hooked. When I got to GMU I originally wanted to be a software engineer and that was strictly code, but I also really enjoyed working with my hands so computer engineering gave me the ability to use my hands and also write lines of code, the perfect mix of the two.

What is you single most favorite coding language and why?

My favorite coding language was Java. It was the second coding language I ever learned and it became an almost universal language for me. It incorporated assets from a lot of other languages. It was my favorite because I like the concept of object oriented programming. Before I learned this language, everything was written linearly and I think modular is a better way of writing code. It makes debugging a lot easier when your code is separated into pieces. It has a more real world approach. If you take a car for example, linearly you’d have to write, turn the key > shift into gear > press the gas pedal > turn the tires > move the wheel. Everything is dependent on the other, by writing code for each piece if one thing breaks you can go in and change that piece instead of going back through and adjusting everything.  I also like that Java runs on a lot of different devices and it is very easy to create a GUI (Graphical User Interface.)

What’s the longest you’ve spent debugging a piece of code you’ve written?

The longest I’ve spent debugging a piece of code was an entire three days. It was a project while I was in school and I slept an entire eight hours for the entire three days. The most frustrating piece of debugging is just when you think you found the solution and then you adjust it and it turns out that you were wrong. It’s like giving yourself false hope over and over again. What’s even more frustrating is when you find the solution, it makes you feel dumb that you could have miss-typed a letter, and even worse that you didn’t find the mistake after staring at it for hours.

What’s your favorite web development tool?

I’ve been getting into mobile application development in my spare time. My favorite development tool is Phone Gap. With so many devices and file types out there, this program eases the transition from one platform to the next. They have a developer forum as well with a great active community that speak in plain english for self taught first time developers.

What’s the most enjoyable project you’ve ever built?

In my Masters program we used Visual Basic Programming Language, which is a language for creating applications for Microsoft Windows. We were interfacing with the Microsoft Kinect and we connected two Kinects to one computer to monitor a bigger space. We used them to monitor the movements of robots we placed on a field. The idea behind it was if there was some type of emergency situation like a school fire drill and you put all the children in a field monitored by the Kinect, so that the limited staff can tend to the emergency situation instead of using those human resources to babysit the children. Should a child/robot leave the field we set up an alert system that would alert a phone with the application we built installed on it. It would increase efficiency in a emergency situation leading to possible saved lives.

How often do you come across code during your day job at Lockheed?

Almost everyday, even when I’m placed in a role where I don’t think I will be using code. I find myself trying to simplify processes using code. On one team we received a large data set of errors from certain programs. We then have to take those errors and remove the duplicates, and finally prioritize them by typing them into excel. That process often took an employee 20-25 hours to go through that information and prioritize the errors in order of importance. I wrote a piece of code that did the entire process and now writes the errors in excel in a fraction of the time. It was my biggest accomplishment at Lockheed thus far because it has been used a dozen of times in different verticals.

You mentioned you were self-teaching yourself more about mobile application development. Why the sudden interest?

It’s timely for me because it’s so prevalent in the market today. It’s important for me because I want to stay relevant in my industry. Having a life-student mentality is crucial because if you don’t adapt to the changes you could be rendered useless in your own profession. It also gives me the opportunity to have a side job to pay off all my student loan debts a lot quicker.

What’s your favorite website?

The content on Wired.com makes it my favorite website. I recently read an article on connecting the brains of mice and transferring information between them. Another favorite of mine is the Space Jam website. It really shows you how far web development has progressed.

Inception: Coding Philosophy

Thoughts on re-reading initial readings

I’ve always enjoyed first perceptions and seeing the beauty in everything the first go around. I’m not the type of person to film experiences because it takes away from enjoying the experience and making memories. I do my best to avoid watching movies over again and I’ve never gone through and re-read a book in my entire life (including Dr. Suess). The movie inception was an interesting one because it involved planting a seed or memory in that of another person.

Going back and rereading these articles with a certain type of experience has completely changed how we perceive these articles. It’s like an entirely new first perception and experience going through these coding language articles.

In my first analysis post  of the summer I made a comment about how the Pragmatic Programmer Quick Reference Guide was anything but quick. Through an inception of sorts and becoming literate in programming terminology it was a quicker read than the first time I read it. It all made much more sense and it should continue to make more sense as I continue to learn about web development.

What I learned

While we never got the chance to learn and practice python the philosophy rings true for other languages. The concept of abstraction and writing modularly is a concept that I’ll continue to use in everyday life. Making everything independent of itself should lead to less complication should any one thing fail. Writing code linearly or dependent on itself could lead to hours of frustration.

Why what I learned matters

Abstraction applies to everyday situations like balancing school, work, personal, and gym time as independent times and forcing one time into another can possibly lead to negative results. I’ve been known to forgo the gym during a tough week at school or work. Scheduling time well in advance for gym, school, and work should lead to better time management and productivity.

I’m thankful for this class because I really feel like I’ve learned a tremendous amount about the web development process. The tools that we’ve learned like GitHub, Sublime, Command, MAMP will really help me communicate with web developers and should a problem arise that they can’t dedicate their time to I feel confident enough to go in and make changes and update to the live server.

What I’ll do with new knowledge and skills

Reducing project length time from agency processes is always a struggle but it now feels like I have the tools and skill set to do so. This is invaluable as a young online marketer to really understand the web development project life cycle. It’s an asset that not many people have or are willing to learn so it should assist me in professional ascent. Perhaps my next endeavor will be partnering with someone for a mobile application.

The Class Overall

This program to me has always been a measured risk as a professional studies degree. It’s still unknown whether the cost of the degree will be worth the monetary and time investment. It is a very practical degree unlike an MBA, but the negative side of that has been some fluff courses like Social Media. Some of the courses in this program have only solidified what I already knew or gave me some minor insight. Unlike those courses, this course has taught me a tremendous amount that I will be able to use in everyday life.

What I want to learn

  • Python
  • Ruby on Rails
  • Mobile App Development
  • Strengthening knowledge of what we’ve learned already

Agility & Sprint to the Finish

The concept of Agile Web Development and project management are important to a complex web development project. It helps reduce the amount of miscommunication between all involved parties in the project and it allows for a change of direction. Agile development should also reduce errors, bugs, and mistakes in the code or project. When I watched the video it almost felt as if the screencast host was reading through my old company’s emails.

About two years ago my old employer was losing the battle for total domination of the first search engine results page. The first page was being dominated by customer review sites like Reseller Ratings and Trust Pilot with less than exceptional reviews from former customers. As a new social media analyst with the company, I was placed on a team with the SEO guy and the Marketing Technology team, which included a few developers. The goal was to build a website that showed off the customer service interactions on social media (more specifically Twitter). The project was difficult because it wasn’t a high priority item on the marketing technology team even though it was a fairly simple project using Twitter’s API. We would meet every two weeks but people brushed off the meeting or emailed their updates. The point of contact for the project would change every other week depending on who had more time on their schedule. Instead of the project taking a month (I know now it shouldn’t take anymore than two weeks to use an API) it took well over three months. Should I have known about this agile development concept, I would have sent the manifesto to the project lead to avoid constant headaches. It would have encouraged us to meet more frequently, get information from one source, meet everyone who was on the team, and the team would have gotten a better understanding as to why the project was necessary for the company. You can take a look at that project here: www.wireflytweets.com.

I’m finally done with the www.milagrocleaning.com project from the semester. Although it will never completely be done, since I’ll be adding content consistently to drive traffic to the website, it feels good to have accomplished the functionality aspect of the site. My classmates have asked a ton of great questions that offered up ideas in their critiques and issues section of my github repository that only helped further build out my site. Looking back on these summer months and what I have been able to comprehend is unimaginable. I always understood certain pieces of html, but to the depth that I have learned a little of all these coding languages and how they play a role in a CMS platform like WordPress is unbelievable. We have all complained, gotten frustrated, and struggled, but we’ve all learned great concepts throughout the semester.

This is a quote that has defined the semester for my classmates and I:

“If There Is No Struggle, There Is No Progress” – Fredrick Douglass

UPDATE: Amazon accepted me and the website as an Amazon Associate! Alternate income sources are awesome!

Coding Under a Deadline

To say that I should have been coding a lot more along the way is an understatement. I focused more on the content of the site as I received it and I think they’re really great pieces. There’s nothing like a deadline to push you to code briskly and checking your work along the way. After crashing my site by messing up a few lines in the functions.php file, I had to walk away from the site on Friday afternoon. It was getting to be a bit much and I felt like my jQuery-hating self again. Oftentimes, the best thing you can do after much frustration is to walk away from the site for a few hours. Clear your head and come back to the code and really go through it with a fine tooth comb.

I took a little more than a few hours and really got myself mentally ready to engage in a full day of coding and content creation. The site visually I think is awesome compared to the bare bones it was a few weeks ago. I’ve seen the site come a pretty long way and I am proud of what I have been able to learn and code. It wasn’t without the help of Codecademy to remind myself of punctuation and proper order. My biggest appreciation for what this class has taught me is literacy. I remember looking at .php files in WordPress and not knowing what did what and how. I’ve now been able to dissect pieces of codes and understand what it does based on context. I won’t claim intermediate proficiency in my professional life. This, however, was never the goal and my ability to understand code and the website creation project lifecycle is a very valuable asset to have as a marketer.

There are few loose ends to tie before the midnight deadline. Mostly exporting my content from the local site to the live site and making sure everything looks in order. I can’t wait to see everyone else’s projects and get another perspective on my own to strengthen the final product. See you all Tuesday!

If the solution don’t fit, you must acquit!

I’ve been working pretty aggressively on my project this week and I still feel pretty far from a finished product. The struggles from last week continued onto this week. Depending on someone else for content is a little frustrating but these are struggles we’ll all face in the real world should be end up becoming account managers or project managers for a web design or advertising firm of some sort. I’ve come to the realization that not all the features you expect to have, fit for all projects.

I was keen on including a custom post type. In fact, I already built the thing and installed it onto my local server. I asked my mother/client to snap a few photos from her client’s homes and ask permission to post online. One by one they’ve either refused to allowed her to take photos of their home, or have only agreed to allow one photo of a specific room be used. After this discussion, I’ve come to the realization that my initial thought about creating a portfolio of homes cleaned — from townhomes, condos, and single-family homes — so potential clients could relate to the homes is not realistic. It also doesn’t make much sense to post that information on the web because there is a privacy concern for the home owners. No home is identical to another and the idea that someone could find comparisons between their home and a home in photos, I now realize is far fetched. I have to abandon this idea and replace it for another. Most homeowners make no qualms of posting a photo of a specific room as long as it cannot be traced back to their home. I’ve now decided to use the Instagram API in order to create a page of abstract photos of cleaning supplies or cleaned rooms in order to generate fresh content on the website.

A great lesson for this week is to try not to force something that isn’t natural to the industry you’re building a website for. It’s ok to go back on your initial ideas no matter how late in the game if it doesn’t make sense for your website. In this case a portfolio didn’t work for this industry and you have to learn to adapt and move on rather quickly. In my previous roles as a Social Media Strategist and now as a consultant, I’d get asked questions like “Can you make us a Pinterest?” from a wireless phone retailer. That industry just doesn’t fit in well with the Pinterest audience. I’ve also gotten questions about using Vine from a furniture company. Furniture doesn’t move so I didn’t see a connection between the platform and their industry. This same concept applies to web development. Don’t try to fit a square peg into a round hole.

As a secondary lesson – don’t apply for an affiliate program until AFTER you’ve uploaded your theme and exported your content to your live site. Argh!

AmazonAffiliate

APIs: The Key to a Fast Site Build.

APIs were a bit of a taboo for me up until this point. The guide we were given in between these weeks have been really insightful. It was a little dense with information but I found great use out of it. When I was job searching earlier this year, I would steer clear from positions that asked for an understanding or listed required skills in programming, CSS, PHP, and understanding of APIs. I came to the realization that I have been using APIs for a pretty long time through the use of Twitter’s API, Facebook’s API, and lastly Instagram APIs to pull tweets, Facebook friends, and photos I’ve shared and post them on my personal website and those of my clients. I quickly realized this when it discussed authorization keys and how I’ve struggled in the past in finding them through my accounts by going through the website’s developer section. APIs are not the easiest thing to understand, but well documented sites like the ones listed above do make it easier.

I plan on using APIs for my website by the way of an Instagram or Flickr API to make it easier for my family to generate photo content while she is out in the field. APIs will help facilitate substantial portions of my project website in the form of portfolio items. I’ve made substantial progress on the website locally through the admin menu. I have a pretty good outline for the website and I’m looking to limit the website to about five pages. Home, Services, Testimonials, Portfolio, Contact Us. Should I be able to condense certain pages like Services and Testimonials in a way that makes sense, I will. My current struggle is getting images, colors, and etc. agreed upon by my family and I. My mother specifically enjoys bright colors and so finding colors that will be good for user experience has slowed down progress just a tad. I sometimes encounter these same issues with some clients, primarily ones that don’t have an established brand identity. Once I get over this small hurdle the Twitter and Instagram APIs should help build out the rest of the site rather quickly.

Not So Breaking News: Child Themes reduce Headaches

To say that my life has changed since learning about child themes would be an understatement. I’m glad that I now know the proper way to edit styles, functions, and PHP code, on the other hand i’m upset that I have not been editing themes correctly since I first learned about WordPress.

My clients have had the misfortune of not updating their themes as they become available because I did not want to lose my styling edits in .css files and edits to html and javascript in .php files. That is one huge mistake I plan on correcting with my Web Dev Project: www.milagrocleaning.com.

I chose a theme titled Big Bang because I really found it to be a great representation of what I was looking for; a responsive and clean theme that will allow me to display the cleaning company in the right light. I think the theme is simple enough that it should allow me to make styling adjustments and edits that I deem necessary. The theme already includes a custom post type for portfolio items. I plan on adding a few custom input boxes on the custom post type portfolio to consistently display information like # of bedrooms, and bathrooms.

After looking through the different .php files in the theme, I am noticing a few discrepancies between what the theme creators have named the .php files as compared to the template hierarchy diagrams Greg has outlined in the readings for this week. It makes it a bit difficult to interpret what is actually in the files but I think I have a good understanding by looking at the code inside the .php files. It’s unbelievable to be in this position after a few short weeks of this web development class. I’m now able to differentiate and narrow down on specific pieces of code and see how I can alter things. I have yet to find redundant code or badly written code in the template .php files, but i’m sure I’ll find a few as no piece of code is perfect.

The inspector tool continues to be my best friend as it allows me to focus on a specific piece of code. I cut the class or id of a < div > or < p > tag and paste it into the child theme style sheet and override whatever the current style is. It almost feels like i’m cheating, which is worrisome because the last time I felt comfortable, JavaScript stepped up to the plate. I’m really proud with the progress I’ve made so far in the class. It couldn’t have come at a better time because my Advil was running low.  I’m positive my classmates feel the same way.

Milagro Cleaning

I purchased the domain www.milagrocleaning.com for my family’s home cleaning business. My mother has created a really great business starting from one home to now having a list of over 50 homes in the Northern Virginia area through word of mouth. Her clients over the past twenty years have included former North Carolina Senator Jesse Helms and current CNN corespondent Wolf Blitzer. With a booming housing market, sellers have finally started to see a return on their investment by selling their homes. Unfortunately, this has created a higher than average customer attrition for my family’s business. With references and word of mouth tapping out, we’re turning to the online space to gain customers and fill the gaps in the schedule.

This website should meet two goals; It should create more clients for my family’s business, and it should create an online revenue stream to pay off the cost of building it and having it hosted. The websites audience should be home owners that are looking for professional home cleaning services in the Northern Virginia area. There are specific areas in Northern Virginia that we would like to target over others, like Arlington and Alexandria as opposed to Sterling, Fairfax, and Burke. I look at the project as another one of my personal clients, and a source of revenue by creating a website that has the space to either sell affiliate products through a shop page or selling sponsored blog posts. The website should have a responsive and clean design that showcases great looking houses visually. I hope to use the skills I have learned in this web development course to show off and grow my family’s business.

URL: www.milagrocleaning.com

Description: A website that will provide an alternative to big brand chain home cleaning companies.

Goals:

  • Create a website that coverts traffic into leads (Receive calls for home cleaning estimates)
  • Design that illustrates clean lines and is responsive to mobile
  • Site that incorporates visual assets to create self made reputation
  • Encourage content creation and addition by admin users.

Audience: The website should attract web traffic from Northern, Virginia home owners interested in home cleaning service.

Measurement:

  • Internal linking structure that guides users to a contact form page.
  • A bright website that has clean lines throughout and looks equally as attractive on mobile and tablet as it does on desktop.
  • Use social network APIs to integrate visual assets into the website (Flickr/Instagram)
  • Create custom boxes/inputs in “Portfolio” post type to facilitate addition of content

Theme: BigBang

Draft List:

  • Create a custom input box in the “Portfolio” post type
  • Slow down main page rotator to increase the time an image is displayed to a user
  • Add sharing functionality to pages to encourage content virility
  • Create custom form to grab necessary information
  • Effectively use categories and tags to create hierarchal structure
  • Change colors throughout as necessary to coincide with already established logo/brand
  • Edit as I see fit

You down with PHP?

Learning PHP was most relevant to my professional experience as a online marketing consultant. My business model as an online marketing consultant relies heavily upon the ability for the clients website to be in great shape that converts well for its specific industry. My efforts on social media, pay-per-click campaigns, blog writing, email marketing, and display ads only work correctly if a website is functioning properly.

A bad website that is hard to navigate only reduces the effectiveness of my campaigns. When I have to show the client the data behind the campaign and there seems to be huge bounce rates, then it makes me look ineffective and I can’t justify my consultant rates.

What I have started doing is offering website redesigns to companies that have really archaic websites. I’m by no means a web designer or web developer; I am, however, really resourceful. I purchase WordPress themes that match the look and vision of my client’s organization. I offer that service which really just allows me to properly execute my online marketing services. It brings their website to the modern age at a small price and really solidifies the client relationship. The themes often require a little alterations to really fit the needs of my clients depending on the industry. Being able to understand the different file types, formats, and plugins from the WordPress codex entries really helped me comprehend the structure of WordPress and how to effectively run my business. I had not known about child themes until these codex entries, and I can absolutely say that they have changed my process. I had been delaying updating to the new theme version because I didn’t want to lose my edits to the PHP files.

You can say that I’ve learned a great amount over this week. From writing PHP in Codecademy, to the different WordPress Codex entries to better understand the structure. It has literally made an impact on my business. When asked “You down with PHP?” I’ll respond with “Yeah You Know Me!”

Domain names are essential to your Online Visibility!

Understanding web development and writing code is only one piece to the web puzzle! Codecademy is a great tool to further understanding of how certain web languages work and how we can use the language to create our vision on our web pages. The latest Codecademy lesson on jQuery was probably the easiest lesson to date and it really furthered my understanding of the library and how to operate it. Following the Codecademy lesson, I took to GoDaddy to choose a domain name that would shape the future of my family’s business!

My folks are self-employed and they run a house cleaning business in Northern Virginia. As a small business marketing consultant, I had been putting off creating their website until I took this class. My folks have yet to file as an LLC or any other business structure so there is no official name, this gave me flexibility in choosing a domain name. I did some keyword research using Google Keyword Research Tool to see some search volume numbers. This helped me determine that I needed to include the term “cleaning” in my domain name choice. This keyword will assist my SEO efforts to compete against Molly Maid and their ilk.

A well-functioning site that has a great user interface and is structured properly is important for online visibility along with your domain name. Having a keyword that is highly searched upon within your domain name helps a good amount on the search engine results pages (SERP). A bad user interface and broken links can lead to poor page ranks from Google, which in turn would lead to bad placement on the SERP. Which leads to less visibility and ultimately less revenue coming from the online space. A well thought out domain name in this sense is essential to your online visibility. This is not to say a unique name or a play on words will lead to bad results on the SERPs because there are other ways to optimize your web page for your keywords. However, in an industry that is already crowded, you can and should take every chance made available to you to increase your online visibility.

Also, don’t forget to claim your Facebook page, Twitter handle, Linkedin, Google+ and others! You’ll be sure to need them sooner or later to own the entire SERP for your branded key terms.

Pop Quiz: When I wrote “Search Engine Results Page (SERP)” above, what would be the JavaScript equivalent of attributing meaning to an acronym?