I share what I'm doing (almost) every day
When I started I thought I was going to be able to record this course in 3 months. It's been almost a year 😅
After 700+ videos I'm on the final stretch and eager to start recording my next courses:
A reflection on the https://softwareengineeringboss.com/ platform.
TL;DR
The frontend was super easy.
The backend was super hard. Tech isn't ready.
The platform is coming offline. Going to use Gumroad instead.
Later, when I get the tech working for me instead of against me, I'll revisit serverless functions.
The frontend was built with Gatsby, React, and Styled Components. BDD with Cypress and Cucumber folded in very nicely. Even though I have around 50 components, everything was easy and straightforward to build. I could have had hundreds of components and everything would remain well organized and easy to change, i.e. scalable.
The backend, on the other hand, is composed of just 3 simple functions. One to create a stripe checkout session, one to receive a webhook from Stripe when the customer buys a course, and one to give the user access to all the courses he has purchased. Albeit simple, building these 3 functions was an absolute pain.
They can only be accessed by logged-in users and they need access to SSM secrets to access Stripe's API. Amplify does not offer us a way to get this context locally for local testing and it doesn't allow us to upload the functions and test them in the cloud quickly either. The cycle time for "change and test" with Amplify was about 8 minutes, which makes development extremely slow.
I've tested serverless and they do provide a way to quickly upload and invoke a function in the cloud while getting the logs in real-time, which is great. I think Amplify should adopt this. But the trouble with serverless is that it also forces us to learn all the low-level complexity of CloudFormation templates, which defeats the purpose of using such a framework.
So, because serverless functions remain hard to develop, and I want to roll out these courses sooner rather than later, I will pivot.
I will focus on getting the courses out and use Gumroad as my platform. And when I find a way to implement BDD and short dev cycles for serverless functions, I will revisit them.
PS: I've considered a full-blown express server, but the costs of development and the server don't justify it. I might as well use Gumroad for now and jump to serverless later.
Master VS Code (https://www.softwareengineeringboss.com/) was updated. Part 1 contains everything there is to know about VS Code. Even if you've been using VS Code for some time, I'm sure you will learn some neat tricks you didn't know VS Code could do. In part 2, I show you how to massively improve your developer experience to the point of flow. After this section your code editor will be a well oiled machine you can rely on to help you with your work instead of fighting against it!
Today:
Next:
I've noticed a few embarrassing issues:
The frontend is finally live at https://www.softwareengineeringboss.com/
You can purchase my course to help you greatly improve your Developer Experience (DX) to the point of flow.
Next:
Thank you to my awesome cousin João Guimarães for the logo. If you're looking for a Design Director, he's your guy.
Today:
I was conflicted between starting with a great UI or shipping something subpar and iterate later.
I've realized that I could ship something I felt was subpar and leverage my perfectionism as pressure to iterate and improve on it as fast as possible.
As part of this introspective process, I've also integrated learning and teaching about UI design and animation into my course. It's going to be a future module. This way, when I get to it, I'll learn it and teach it.
Tomorrow I will be deploying my (far from perfect) UI.
Today we had a power and internet outage for the whole day.
I took the opportunity to get outside and recharge.
Next up:
Next:
I've researched the best animation libraries:
I've learned to use anime.js and creating the exact same animation as before was about 10x faster.
Other libraries I looked at:
Lottie
Framer Motion
Velocity. js
Popmotion
GreenSock JS
AniJS
Mo.js
Vivus.js
Vanilla-tilt.js
Typed.js
AOS
Bounce.js
KUTE.js
Scroll Reveal
Howler.js (for audio)
Today:
It's getting better but I still don't like this animation:
The animation is subtracting from the UX due to poor performance and text jitteriness.
I wanted a high-quality animation above the fold.
Good idea. Not sure about the execution. Feel free to leave your opinion: https://imgur.com/b8Ca5Fq
Next: