The Hills and Mountains

Before you click away, this isn’t a post about nature. It’s a post about business.

Ah, that made you leave even quicker, dang.

To those still reading, I ask you, have you ever tried to start a business, or currently are running a business? Regardless of size or how “typical” your business it, we all have or will experience “hills” and “mountains” when trying to make a business thrive.

I have a small Digital Agency, mostly makes websites, but also makes apps and such. It hasn’t had a lot of customers, even though I feel like I produce higher quality results at a cheaper price than my primary competitors.

Regardless of what I’m doing wrong, the simple solution is to increase impressions and increase conversions. You want your product to be seen, and you want it to be purchased once seen. The primary method I believe is best for this, nowadays, is advertising (ew).

I have a great job as well, I work as an L4 Data Analyst at Amazon, and make great money. This isn’t to brag, as I’m actually quite poor when you factor in paying for college out of pocket, paying for rent, and all of the other life expenses that add up.

Point being? Do you think paying for advertisements is making me drool, when I could be spending that money on not worrying about revolving my diet around what’s on-sale at Winco?

I had a conversation with someone from Mayple, an advertising agency. I’d throw $50 into campaigns here and there, to see what performed better, and where it performed the best. I figured that soon I’ll be graduating, and perhaps I should look into investing in someone to manage my advertising campaigns, hence my impending conversation with Mayple. I figured, if they can promise better than the 257 impressions-per-dollar, and 2.4 link-clicks-per-dollar that I’ve been getting off my Google Ad campaigns, and the savings/difference is greater than the cost of their services, then great. Simply saves me money.

My jaw. Friggin. Dropped. The person chuckled when they heard my story, and gave me some advice. Save up. I’m at a hill, and my efforts are wasted.

Imagine yourself on a ramp, on a skateboard. You can try to push forward up the slope/hill, or you can back up a bit and then try to push forward. Backing up and then pushing forward will of course be better, it’ll get you farther up the hill!

I was basically take one step backwards and then trying to get over this hill. Over and over. That’s Einstein’s definition of insanity, right?

See, I never saw it as a hill. I always assumed that every dollar I put in was increasing the traffic to the site, and that in some way it was slow and steady progress.

It’s really not.

In big-deal, Business-2-Business work, most of your sales come from advertisements directly, or, from word of mouth. If you’re not getting the sale, your money was wasted, in essence.

The person at Mayple essentially said, save up enough, walk backwards enough, that way when you do commit, you’re able to get over the hill. You’re able to get customers. You’re able to start your web of customers, which may refer your services indirectly or directly.

Why save up? The way that advertising works with Google and Facebook, is that the more you spend, the higher placed your advertisement is placed. It’s like if you walk back 5 steps, you get a small engine added to your skateboard. If you walk back 20 steps, you get a rocket added to your skateboard. You get the idea. The more you commit, the more you get out of it…

What can I do in the meantime? While I’m continuing to step backwards, while I’m continuing to save before committing? I’ll improve my product. Ensure that the flow of how business is done with my is smooth and painless. I’ll make sure that there’s *plenty* of reason for customers (businesses) to mention my name, if another business asks if they know who made their website, or if they know of anyone who can make an app, etc.

I wish I had known this before starting a business, I would’ve spent that money on assets that make my mocks look nicer, or on better and healthier food for myself, or x, or y, or z. But now you know, now I know, and hopefully eventually everyone will know, at least for how my kind of business is: Where customers are incredibly hard to get, and each customer means *so* much. Each customer really does feel like its own hill.

And sometimes your aspirations feel like mountains.

But that’s alright : ) It’s a journey either way, and it’s your choice how you feel and react to it.

The Beauty of Unknowing

Not knowing how good a new dish will taste; Not knowing if someone you’re about to meet will be a new addition to your life, or a new source of pain. Not knowing. I hate it. But it’s also… beautiful, in a way?

The Coin The Fox Awaits

I have started a small business, and my goal is to have enough regular customers by the time I graduate such that I don’t even need to jump into a corporate job after graduation — I can just continue my own business (Gold Fox Dev).

The sad thing is, I continue to see it more and more as a “dream” than a goal. With each passing day that I have yet to have a single client, the depressing dagger of defeat presses a bit deeper.

With each dollar I spend, each dollar that could’ve been spent on nicer food, new clothes, or in a perfect world I’d be putting *extra* money in savings. Extra, though, is something I lack. Rather, money is transferred from other subjects, such as food, to advertising.

Hope and Hell

I feel the two can be interchangeable. Just me? Hope is a beautiful thing, it’s really a big factor in what’s driving me to work so hard right now. I have hope in that this business will flourish. But it’s so painful when you feel the hope slip away. You’re left feeling emotions that are long in list and some indescribable; You’re left in your own tiny emotional hell.

If it can be so bad, then why not just… not?

Greed

I’m not just talking about money, but I’m talking about my own desires. For greed can be for fulfillment of the soul as well as the coffer.

I want, even to the point I almost believe it’s a need, to run my own business. I know myself the best, and I know it’s how I operate the best.

I hate schedules and work assigned by others. I like to pick and choose what I do and don’t. I love websites, and I love the challenge of the infrastructure, illustration, and actual website development. If a client was to come to me and try to purchase my services, I would accept the job. However, if someone came to me and told me I *had* to accept their payment and make their website, I’d hate the process significantly more. I’ll work 60 hours and be happy so long as I get to choose when I do it. I’d hate every minute of a 40 hour job. I’d know too, because I’ve been working atleast one since freshman year.

I know I could start my business after a few years in corporate, saving up money, and then going all-out once my business starts to accumulate a name and a few clients. It’s probably what will happen. But I’m impatient… I’m greedy. I want it now, and I’m willing to work 70 hours a week to make it happen…

Thank god my girlfriend, family, and friends understand and still love me, even if I choose to allocate my time towards the advancement of my business, instead of spending more quality time with them. I wish it was a more difficult decision to me, but I’m addicted to the dream at this point. I want it so bad.

Hubris

Perhaps my self-confidence in myself, that I know I’m really effin’ awesome at making websites, is what will be my demise. I feel I offer great services at insane prices. Which is also part of what I think drives me to continue, this confidence in myself. Is it fuel, poison… or both?

The Unknown Conclusion

Not knowing how this will end is driving me to the insane asylum, and registering me as a new intake. However, it’s also driving me to continue, to work harder than ever to make it work. I’m proud of how hard I’ve been working. It’s conflict, pain, and happiness here and there. A beautiful combination… as a result of not knowing.

The Power of “Difficult”

Over winter break I felt a lot of the word “difficult”. It’s not a pleasant feeling, but I’m not here to complain, I’m here to appreciate.

“If there is no struggle, there is no progress.” – Frederick Douglass

You hear this kind of blanket-statement so often that it really isn’t something you believe, rather, something you just acknowledge is believed. At least, this was the case for myself.

The Difficulty of a Stick-Figure

I own a website development business (technically it’s Digital Agency since we make more than just websites, but the only things we’ve made to-date are website), Gold Fox Dev. Since I make websites, I’ve had clients ask me if I could make their logos as well. Sadly, I have about as much illustrative ability as someone’s 7-year old child… I take that back, they still have more talent than I do.

I told myself that I wanted to make an Emblem, which is the actual art-bit in the logo (consider the “swoosh” is the Emblem in the Nike logo), and I wanted this Emblem to be for a fake organization that gives art supplies to impoverished families. I had the idea of wanting it to include a stick-figure, since that’s always one of the first things we draw as kids.

Boy. That stick figure kicked my *ss.

The Infamous Stick-Figure

Here’s some initial phases I documented as I went about creating this stick figure. Quit a large time gap between the third and fourth (final) image.

So, how do I feel? It was difficult, and frustrating, and fun, and somehow degrading? But the end result, even though I’m not satisfied, has left me knowing that with a lot of practice, I can make logos.

The Stick-Figure Kicks Everyone’s *ss

Maybe you can draw this in 30 seconds, but everyone has a Stick-Figure; Everyone does certain things easier, and struggles more with other things. No one’s perfect, and I’ve found that comparing myself to others can be really toxic… Comparing my work to other work though, can be exciting. I see other logos, and I see other website designs, and I see how quickly/well people do x/y/z and instead of criticizing myself, I’m now starting to see it for the difficult, but possible, journey that it could be. “I can get there. I just need to journey down that difficult path”.

So, yes Frederick Douglass: “If there is no struggle, there is no progress.”

The Value of Prototyping

I had a negative experience with Usability Engineering, but I believe this to be **strongly** because of the professor I had for it. After choosing to create lo-fidelity (drawings), mid-fidelity (monochromatic, simple diagrams; *roughly* close aesthetic), and hi-fidelity (accurate aesthetics) prototypes for a personal project… I realized not only is the creation of these prototypes fun, but also incredibly useful to understanding multiple aspects of your app:

  • The “feel”
  • What the audience prefers to look at, aesthetically
  • What the audience cares about, content/features
  • The different sections of the project
  • The main functionalities the tool/product/project serves.

More than anything, it gave me additional opportunities to consider the technical requirements of a certain functionality. For example, when making the login page I had plenty of time to start to consider… Well, how exactly do I want the login process to occur behind-the-scenes? This question wasn’t something I really asked myself until I started looking at login examples, and saw the OAuth 2.0 options, and immediately it was like getting pushed awake. “Oh yea… How do I want that to occur?”

I’m sure there’s more I learned from the development of these models that I don’t immediately recall as well.

Additionally, it feels *so* much more real with prototypes, and it gives a much greater (and more realistic) understanding of the amount of effort that will be needed in order to turn this idea from prototype to product. This alone will immensely help my habit of starting projects and not finishing them!

See the prototype on Figma. Or below in the embedded Figma diagram (which I hope will continue to work after post publication).

Keanu

An assassin in-training, whose far too cute for the role.

Deception Training; Actually Combat-Ready

I’ve been posting a lot regarding serious subjects (i.e. project’s technology stack, what an AWS Solutions Architect is, etc), and I think it’s time for a more fun blog post about my cat Keanu.

Keanu will wait for an hour under the couch until you walk by just to sneak-attack you, and then purr up against your leg so you feel you don’t have the right to be mad.

Keanu will wake you up by biting your fingers, sometimes for need of food, most of the time for need of attention (perhaps Keanu thinks your dead, and just wants to confirm if you are in-fact, alive).

Keanu will steel beer-caps and put them in the sink… Not sure what Keanu’s wanting from that, to scare us, to break our garbage disposal, to store away the beer-caps (and any other shiny thing he finds) in what he thought was as super-secret hiding spot?

Keanu will meow at the balcony door, wanting to people-and-bird-watch, and then after about 30 seconds come right back in… and then repeat this process about 4 more times.

Keanu will steal your chair as you make yourself another cup of coffee for the morning, and just pass out. What are you to do? How did Keanu fall asleep so quickly? Does Keanu just do this to be evil, or does he want to sleep where you always are? Oh Keanu… So now you have to pull up another chair next to your chair and hope the one who stole your chair isn’t woken up as you slide your chair a little bit away from the computer so that you can continue working.

Just realized this is starting to sound like a love-letter to Keanu, but think of it more as a “Keanu, why are you such a turd? Such a cute-cute turd.”

Definitely not a love letter. Definitely don’t love that cat.

Keanu will attack your feet as you try to sleep, making you paranoid about when he’ll just come out of nowhere (like a ghost/assassin) and strike.

AWS Solutions Architect

Interested in creating complex cloud-based solutions, while also balancing people-skills and programming? You will very likely be interested in becoming an AWS Solutions Architect.

An AWS Solutions Architect (AWS SA / “SA”) is responsible for (but not limited to) the following:

  • Understanding AWS Cloud Technologies at a deep level
  • Creating cloud-solutions that fit the 5 Pillars of the Well-Architected Framework.
  • Effectively translating complex concepts into easy to understand statements.
  • Delegating multiple teams to ensure safe and effective use of the cloud environment. (this is more for an AWS SysOps Administrator, but the positions can overlap at times, to my limited understanding).
  • Stay on top of bleeding-edge technologies.

There are quite a few benefits to being an AWS Solutions Architect, including, but not limited to:

  • $120k base-entry salary [1][2]
  • Work-from-Home as desired, typically, at least. (Information based from what I’ve heard from an official AWS SA personally)
  • Able to live within one time zone away from assigned AWS headquarter.
  • Stock-options
  • Great benefits
  • An entry-level position, with the caveat that you need to meet the high-demands of the position (note that most aws solutions architect job positions vary in their demands, quite literally visible on the job postings, what I’m about to post is what I personally deem to be the “typical” posting [3]):
    • Around 3 years of prior technical work experience (e.g. IT, developer, etc)
      • After talking with an AWS Solutions Architect who hires other AWS Solutions Architect, it sounds like most of the people who make the final decisions care more about your ability to take on complex problems effectively. They teach you people skills to a certain extent, and the 3+ years of prior technical experience typically isn’t a requirement if you show such technical-problem-solving abilities.
    • Experience with programming languages and paradigms
    • Ability to travel, amount varies, typical is about 30%.
    • Intermediate understanding of AWS resources
    • B.S. degree

References

  • [1] https://www.ziprecruiter.com/Salaries/Entry-Level-AWS-Solution-Architect-Salary
  • [2] https://www.glassdoor.com/Salary/Amazon-Solutions-Architect-Salaries-E6036_D_KO7,26.htm
  • [3] https://www.amazon.jobs/en-gb/jobs/1703388/solutions-architect

Development Workflow

In the beginning of the project, everyone will be working together to create deliverables that fall under the following categories:

  • Minor: A task that should take less than 2 hours.
  • Major: A task that should take less than 8 hours.
  • Epic: A task that should take less than 40 hours.

In addition to this, these tasks should have tags added to them. Tags will be more solidly established during this beginning-process, but some foundational ones are:

  • Progress Halted
  • To-Do
  • In-Progress
  • Completed

Lastly, tasks should have categories. Categories will exist depending upon if someone exists in the team to support a particular category (if there aren’t any website designers, there’s no need for that category). Here are what they may look like:

  • Back-end
  • Front-end
  • Design
  • SA

An example ticket, visible on Notion, may look like:

You can in the ticket title: there’s some information regarding what should be done, and there’s the ticket-id. Since this is a style-based ticket, this would be created by a website designer (if we get one), or by a front-end developer. You assign yourself tickets as you can, but by the end of the project, the development effort should be evenly spread. This identification is necessary, even if it’s not created yet. If you take on this ticket, but don’t want to start development immediately, copy the ticket id and paste it in as a comment where it would be created in the project. This is critical for speeding up development and issue-fixing.

There is a ticket-id naming scheme. It goes as follows (and must be followed): [yourInitials-functionOrElementName:filename]. I chose [lp-div.resourceWrapper:resource.css], as:

  • lp: my initials
  • -div: the element name
  • .resourceWrapper: optional additional information about the function or element
  • :resource.css: the name of the file. If there are multiple files this needs to be done for, or multiple elements, then use a semi-colon. For example: [lp-p;span;a.animatedUnderline:resource.css;survey.css]

Web Development Tech-Stack

Online AWS Environment Constructor, a 2021-2022 Oregon State University Senior Capstone project led by Lucas Pichette.

Front-End:

  • HTML5
  • CSS3
  • JavaScript ES6

Back-End:

  • AWS
    • Route53
    • S3
    • CloudFront

Possible additional technologies if time/availability permits:

  • AWS Lambda
  • AWS RDS
  • JavaScript framework such as Vue / React / Angular

Reasoning Behind Chosen Technologies

Front-End technologies are all standard to web development. Due to their established nature, every web browser and search engine understands how to use the information from it easily, meaning it’s very SEO-friendly.

  • HTML5: The standard for DOM creation, easy to parse by web bots, and easy to translate into a visible structure by the browser for the client.
  • CSS3: The standard for DOM customization/styling. Easy to translate by web browser into visible changes to the DOM by the browser for the client.
  • JavaScript ES6: The standard for user interaction in websites. Some interaction can be created without JavaScript, but for the most part JavaScript, or a child language of JavaScript, is needed in order to enhance user interaction.
  • AWS: Highly affordable, exchanging capital expenses with variable expenses. Furthermore, AWS is the most secure and reliable cloud technology provider in the market.
    • Route53: A Domain Name System (DNS). In our project’s case,it translates a Domain Name to an S3 Endpoint Alias. Typical DNS services don’t have this kind of service, and instead just translates Domain Names to Internet Protocol (IP) addresses.
    • Simple Storage Service (S3): A file storage system that allows for static-hosting of stored files. Ludicrously affordable, extremely durable, and extremely easy to use. One of the standards, if not THE standard, of AWS services. By using Lambda we can turn a statically-served website from S3 into a dynamic website with ease, and reducing costs drastically. No more LAMP-stacks with server-less architecture around!
    • CloudFront: A Content Distribution Network (CDN). Delivers content from S3 to edge-locations around the globe for caching, reducing serving expenses. You can invalidate cached resources as well, allowing for forced object refreshes.

The nature of the project is to deliver content as quickly as possible while being extremely easy to use. Nothing particularly crazy is going on in the background, in fact, in theory everything will be served to the client statically, and then JavaScript will be used to dynamically changed the content on the screen depending upon their input.