The Plan
Around 3 years ago, I was told by somewhat reputable sources on the Internet that having a website was a great way to impress prospective employers. This was with the idea that I’d be applying for software design positions, and a website is an excellent way to display a portfolio… that is, if I had one. So I purchased my name in website form - the commercial suffix, naturally - and a piece of a server somewhere I could put some files for other people to see.
The next question was what would I put on there? Well, until I actually started generating some projects, my website could be an extension of my resume - a way to display my skills in a creative form. The very fact that I had a website meant that I could make them. In this way, the site became a project itself; one I started to take seriously.
So how should it look? I knew I didn’t want it to be a single page, as I found them too odd - one of many eccentric opinions I still have. So, multi-page. How to design? Considering I had a limited amount of time to get it up, seeing as I needed a job ASAP, I opted to go with a template. This was a perfect approach for me - it was a perfect method to practice interpreting someone else’s code in order to make something new. In the process, I learned about the Bootstrap framework and deepened my HTML, CSS, and Javascript skills.
That was then. Now, I find myself older and cheaper (two more little mouths to feed means the 20 bucks spent on hosting is better used elsewhere). However, I also know just a bit more about programming, and I lack the desperation to cut corners in order to get something online to impress someone.
If there is one thing my current job has taught me it’s this: make a plan so everyone is on the same page. More exactly, make a plan so management’s happy. In this case, management is my hunt for my next opportunity; and it won’t be satisfied unless I deliver. Analogies aside, I figure going through some sort of process and documenting it in blog form is the best way to demonstrate to future employers (or anyone bored enough to read it) my work ethic, process, and, ideally, follow-through. It will also be a way for me to document the General Scope and Restrictions So I want to change my website, but what do I want to do with it? Well, I’d like to have a place to display at least one project. You might say my project count should be n + 1, with n being the number of projects I add after my first one. This first project is a ticketing program using .NET Core and Blazer, with C# as the background code. It’s a way to refresh myself and learn more about tools in which I have business-related experience: an agricultural data processing project I started at my current job.
Another thing I want to display, obviously, is a blog to document my progress. I can hard-code this, of course, but I think that would be inefficient when there are Content Management Systems (CMS’s) are a thing. So, I need to select a CMS, Static-Site Generator (SSG), or a combination of the two.
Finally, I need to decide on an overall design that is visually appealing and easy to maintain. I’m not a UI/UX designer (but I play one on TV!), but learning more of those skills is something in which I’m interested. As before, for the sake of getting something pulled together as quickly as possible, I want to focus on the functionality. On the other hand, I don’t want to close off the opportunity to add in some flash. This, I believe, will be a factor in choosing what CMS/SSG I use to build the blog portion of the site - or it won’t and I’m worried about very little.
Some restrictions to keep in mind: I do not have much web development experience. This is less of a restriction and more of a learning curve, as most of the reason I’m doing all of this in the first place is to expand my skills. That means learning web development. Whether I know it now or not is irrelevant. Another point: I cannot (yet) afford to host a site. The solution to this is using GitHub Pages for the time being. My www domain name is pointing to my current site hosted there also.
To hold myself a little more accountable (or to torture myself), I’m going to add some dates to when I expect to complete each general step. This will indubitably fluctuate as I gather more info and as the project progresses, but the initial steps should be attainable by their deadlines - unless I truly open a can of worms or life slams me against a wall. I’m only human after all, and I’m typing this in bed while my wife falls asleep; a situation I intend to emulate ASAP.
Breaking down the big picture #
So the grand plan paints itself to be like this:
- Research CMSs and SSGs compatible with GitHub pages (05/05/2023)
- Test initial blogging capability and, optionally, front-end flexibility (05/12/2023)
- Brainstorm and decide on a tentative theme or user experience (05/19/2023)
- Post the first blog (05/20/2023)
- Research/refresh myself in UI/UX design workflow; begin to generate design plans for site (05/26/2023)
- Define scope of ticket system project (05/19/2023)
- Research/refresh myself in software design process; specifically the deliverables expected (05/26/2023)
- Begin design on ticketing system workflow (06/02/2023)
- Generate database plan for ticketing system (06/09/2023)
- Generate low- to mid-level quality wireframes for ticketing system (06/16/2023)
- Re-evaluate the plan (06/23/2023)
- Begin coding ticketing system
- Test ticketing system
- Update website with more info and displays regarding the ticketing system project.
- Further define wireframes for website
- Create new landing page
- Get external input on website status
- Define further plans for hosting ticketing system, or leaving it local
- Put final touches on website
- Finalize ticketing system
- Begin project 2 for portfolio.
My current plan leaves a lot to be desired. So, when do I get my site and my project?! Well, since I’m the customer on this one, I’m deciding that I’m okay with these steps so far. Data gained during the steps taken in the next few weeks will, without a doubt, change the plans for other steps. Defining them any more concretely is futile at this stage. Too much remains in the open. Since the process of breaking down problems into their smaller parts and formulating a plan is central to anything a software developer does (and pretty important to an IT worker as well), these further definition should come. However, without the ability to know for certain what design steps I’ll be taking before getting more research done, I can’t plan for something for whichI don’t have a frame of reference. Too much time has passed between now and the last time I dived into those processes.
So this is the start. This is where the plan begins. Hopefully, I can look back on this with a modicum of happiness.
I can’t think of a catchy ending to wrap this up. It’s 11:40pm for me. Code monkey need sleepy..