Portfolio Project: Week 4

Hey all! So for the very last update of my portfolio project month, I’ll be doing something a little different. I wanted to elaborate more on exactly what it is I’ve been doing, and I also I wanted to talk about the lessons I’ve learned overall. For all of these reasons, this is going to be a little bit of a longer post than my other updates.

What I got done

I passed my MTA JavaScript and added it to my website. This is the last MTA I wanted to get this month: I’ve now got them for almost all my major marketable skills: HTML/CSS, JavaScript, and Java. The reason I wanted to get these certifications is that they are externally recognized demonstrations of my skill. They communicate to potential employers that not only do I say I know how to program in Java, a third party recognized me for that knowledge.

I coded three brand-new pages on skills—SQL, Java, and HTML/CSS—thus completing my goal for this project. Honestly, once I stopped trying to make my skills more impressive and just decided to put them out there, it felt nice. And beyond just feeling nice, having these pages on my site gives more detail to potential employers about what I’ve done and how. My next step here is probably to ask some friends and family to read my content and give me feedback so I can add detail, improve explanations, and consolidate information. A website is really never finished, so though this project is properly done, I’m going to continue improving the pages I’ve created as well as adding new ones.

I continued to work on the drop-down menu, but I pushed it onto the back burner so I could complete my stated project goal. Actually, I talked to a fellow developer early in the week and ended up completely scrapping my previous code and starting over. The reason for this is that my previous code was in JavaScript, and there are a lot of people who don’t have JavaScript enabled. A crucial piece of my website should not rely on something that not everyone has enabled. As such, I will be programming my drop-downs in CSS from here on out. (Later, I’ll make a post talking about this decision in more detail. For now, here’s a post explaining what both of those things are and what they do.) Overall, while having this drop-down will be nice, I’ve linked all my content on my main Skills page, so it’s not at all necessary.

Also on my back-burner, I began creating a simple website for a local organization that my family has volunteered with for many years (called Schenley Park Learn to Skate). The main goal of this website is to allow people to sign up for the learn-to-skate program online, thus cutting down substantially on physical paper-pushing. Because of this objective, the project will be a good opportunity to learn how to integrate a SQL database with PHP – or in layman’s terms, to figure out how to gather information from many customers and store it all in one place.

Over the course of this month, I’ve passed three MTA exams, programmed four webpages, and made a number of miscellaneous fixes and improvements to my personal website, including improving mobile usability.

What I learned

Throughout this project, and especially in the last two weeks, I learned how easy it can be to fall prey to “scope creep”, or the natural way that humans accidentally allow themselves to work on a part of a project beyond its initially stated scope. For example, instead of learning skills and programming pages, I allowed myself to spend a lot of time on trying to code complicated features. It’s human nature to be distracted by shiny objects, but it’s human necessity to avoid that tendency, especially in the context of projects on deadlines.

I also learned the importance of work-arounds. If you’ve got a crucial piece of a project that’s not working, the appropriate response is not to put the entire project on hold to fix it; the appropriate response is to find a suitable work-around (there is nearly always a work-around, though it may be less efficient or elegant), continue with the main goal, and work on the piece you originally intended in the background.

Lastly, I learned more solidly than I ever did in school how much I know and how much I don’t. The school system (both high school and college) is based on levels and labels, but the real world is based on tasks. Someone who’s in school says “I’ve taken five classes in web development”. Someone who’s working in the real world says “I can program a responsively-designed website which conforms to XHTML specifications and which utilizes JavaScript, PHP, and SQL”. Within the span of a few months, I’ve transformed from the first person into the second.

I think this is a very good thing. It’s all well and good to say “I took a class in X”, but if your audience doesn’t know a lot about the specifics of the class and what it taught, they can’t translate that statement into what you can do. And for employers, who are looking at your website with a question (implicit or explicit) of “can this person do X thing I need”, a list of concrete skills is infinitely more useful than names of courses.

workflow for the week and the month

For this week, I honestly spent the vast majority of the time I didn’t spend working for money on writing content and coding. I really had no free time between those two things. It was kind of a throwback to my yearly cramming that I used to do every April in high school: every AP test, otherwise known as literally the only test that matters when taking an AP class, happens in May, so April is cram time for literally all of those classes. This past week was like that.

Still, this week there were no major setbacks, and I mostly got the opportunity to just focus on what I needed to do and Get Shit Done.

If I look back over the entire month on a day-by-day basis, it was sporadic due to a variety of internal and external factors. But I’ve noticed that all humans seem to be like this. Look at a human on a daily basis, they’re all over the place. One day is spent working incessantly and the next is spent getting almost nothing productive done at all. Or maybe one week is productive, but the next week is in shambles. The thing is, to understand any human you need to zoom out and look at trends. Look on a monthly or yearly basis instead of a daily one, and that will tell you how you’re doing.

Was I more productive today than yesterday? No. But it also doesn’t matter. The question should be, was I more productive today than last year? And the answer to that question is, yes, by leaps and bounds. Because on the whole, I’m trending upward. I’m allowed to have bad days. I’m even allowed to fall deathly ill and basically cease to exist on Earth for a week. The goal isn’t to be perfect every day, the goal is to look at where you are right now and compare it to where you were a year ago and see substantial improvement.

Did I meet my project goals?

Simple answer, yes. When I started this project, I had a very specific and achievable goal, and despite the setbacks of being sick and getting distracted, I achieved it. For four different skills,  I improved at a certain skill, and I also wrote content about that skill and added information about the skill to my website.

I decided on this goal in the first place because I knew I needed more content out there for employers to look at. Without a lot of job history in my chosen field, projects and certifications are all I’ve got to go on, so my main goal this month was really to get more of those.

And furthermore, viewing this in the context of the Praxis program I’m a part of now, every section (or “module”) is designed as an intensive exercise in one very specific thing. In the spirit of this, I chose my goal as an intensive exercise in one very specific thing: demonstrating my skills. I knew it needed to get done, so I took this month, I set specific goals, and I got it done.

What am I doing next?

The next month of the Praxis program is a 30-day blogging challenge, in which I write a blog post on some topic every single day. Honestly, I’m excited. I love to write, but I haven’t had as much time as I would like to do it. Being able to add more content to this page and discuss interesting topics on this blog is going to be amazing.

See you then!

Portfolio Project: Week 3

Hey all, I’m back! So it turns out the Mega Cold I had was actually pneumonia. Yeah. I was diagnosed and promptly put on a full course of antibiotics, plus some additional palliative pills for the general misery. I’m feeling a lot better now! And as such, I got a lot more done this week.

  • Worked on adding my project to my JavaScript page
  • Dramatically improved the readability and usability of my mobile site (enlarged buttons and lists, changed font sizes, etc.)
  • Worked on creating drop-down menus
  • Also generally got my life together overall: got back to working out, job hunting, working, learning more coding skills, etc.

Here’s a breakdown of what I did and when:

  • At the beginning of this week, I went to the doctor’s and got prescribed antibiotics. For the first few days my main goals were things like “walk around” and “take a shower”. Super simple being-a-human stuff.
  • As I got better, I could work on coding in bits and pieces. I did research for my dropdown menus and looked at how other people had done it. As soon as I was well enough to code, I worked on improving the usability of my mobile site, since it was really just a bunch of fiddling with CSS.
  • Through yesterday, I did a lot more: I worked extensively on adding my project to my JavaScript page and I wrote a ton of code for my dropdown menus. However, I felt a bit overwhelmed, and I definitely felt like I was fighting an uphill battle. That was around the time I realized something, which brings me to my next point.

Here’s what I learned this week.

When I started this project, my stated goal was to create four pages to showcase my skills. Somewhere in the process, I realized that I had gotten sidetracked into trying to improve my skills, so I could showcase what I wish my skills were, not what they actually are. The problem was, I thought I was showcasing my skills, but I just kept thinking “oh, I could make this little thing better, it won’t take long”. I started working on the thing, and a few hours passed. I had part of the thing, but not this other part. I figured out how to make that other part, but then it wouldn’t work the way I wanted and I had to debug it. Before I knew it, a week had passed.

It was like I had started walking toward a huge mountain early in the day. Because it was so big I figured it was pretty close, and I could get there by that evening, no biggie. But by that evening, the mountain was still huge, and still very far away, and I began to realize that what I had thought would take a day could take a month.

So the biggest thing that I’ve learned this week is that I’ve gotten off track with my goals for this project.

Here’s how I’m going to fix that next week.

  • Rather than trying to learn more in order to make my projects better, I’ll focus on trying to showcase what I do know. I can always work on making my projects better in the future, but that wasn’t the goal for this month.
  • I’ll collate information and create my last three pages. If I can’t embed the actual code for a project (which I frequently can’t, because it frequently involves learning an entirely separate programming language/concept; looking at you AJAX), I’ll just create a video of it running and embed that, or I’ll take screenshots and embed those.

I’m very determined to finish this project and to achieve the goals I set out at the beginning, so I’ll do whatever it takes next week to make that happen.

Portfolio Project: Week 2

Hey guys, so this week is exceedingly anticlimactic in terms of progress. On Tuesday, I was struck with The Cold To End All Colds, and I’ve been nearly bedridden since then.

Here’s what I got done anyways:

  • Worked on improving my site’s mobile readability/usability
  • Learned about AJAX
  • Learned about creating nested drop-downs such as these

Here’s what I’ve learned so far:

  • AJAX is a combination of JavaScript and XHTML (a flavor of HTML, the language of webpage structure). It allows the page to be interactive without reloading.
  • As you try to create more and more powerful code, there are less and less examples readily available. There are a million “learn to make a website” guides that will teach you how to use <h1>, <a>, <img>, and almost nothing else. Learning how to make a real, simple site with a repeating image background, that is responsively designed, that uses complicated CSS and JavaScript (like I’ve done so far), is much harder. I learned recently that I need to keep working hard if I want to create the kind of website I want.
  • When you’re sick, the most important thing to do is not to worry. Focus on getting better, and doing anything you can to remedy what you’ve got. If you let yourself feel like a failure, that doesn’t make you any more productive, it just makes you less effective at combatting your illness.

And here’s what’s going to happen next week:

  • I’ll do everything I was going to do last week
  • I’ll start learning SQL via Udemy and create a page for SQL on my website in addition to the page for Java

Alright, that’s it for this week. Thanks for reading, and I’ll try to feel better so I can have more for you next Friday. Stay tuned!

Portfolio Project: Week 1

Hey all! So, it’s the end of week 1 of my portfolio project month! Here’s what I got done:

Here’s a breakdown of what I did and when:

  • At the very beginning of the week I passed my MTA Java.
  • I learned JavaScript with this course. It’s pretty good: concise, clear explanations, lots of exercises, both audio and visual resources. I’m using Udemy for both web development and SQL.
  • In the middle of the week, I took and passed my MTA HTML/CSS.
  • Then I coded the JavaScript page, though I didn’t have time to integrate the page with the rest of the site, since I was trying to find the optimal organization for pages.
  • Today, completely by accident, I realized that the mobile version of my website needs some serious reworking, so I put that into next week’s plan (below).
  • And lastly, I wrote this blog post!

Here’s what I’ve learned so far:

  • I did a bunch of research and conducted a few surveys of the optimal way to organize drop-downs on a mobile website, given limited screen space.
  • I learned that to make a website read well on a phone, not only do you need to reorganize layout, you need to make everything obnoxiously big. This is why it’s important to test mobile layouts on a real phone, not just by resizing your browser window.

And here’s what’s gonna happen next week:

  • I’ll create another drop-down menu for the Skills link on the nav bar. On mobile, this will create a nested drop-down (aka, when you hover over the Skills link in the first drop-down, another will pop out on the right-hand side which displays pages for each skill I have). These individual skill pages are where I’ll be documenting my progress through this project.
  • I’ll create another page documenting my knowledge of Java, and I’ll try to learn some AJAX so I can put the actual Java app onto the site. (I don’t know how hard a goal that is, so if it’s too hard for one week, I’ll just put up screenshots for now and keep working on it in the background. But I want to set the goal, just in case I can do it.)
  • I’ll fix the mobile version of my website to make everything bigger and more readable.

That’s it for this week! I’ll have another update next Friday; stay tuned!