213 karma · joined February 25, 2015
Previously 20+ years as a developer, manager, and architect in the software industry, including 12 years at Atlassian.
Twitch - https://twitch.tv/mrdonbrown
Twitter - https://twitter.com/mrdonbrown
GitHub - https://github.com/mrdonbrown
YouTube - https://www.youtube.com/channel/UCmIIOHKgJnGQruIVD_Zx71g
Agreed on skills not being static. Of course, with the way the internet works, I don't want them to be too dynamic either :)
[yup, my project :)]
Regardless, I recommend capturing in 4k, and running that through OBS so you can zoom/crop the image for ideal framing, optional of course.
[1] https://i.imgur.com/4JPIHx1.jpg [2] https://www.twitch.tv/mrdonbrown
[1] https://caddiebuddy.com/teleprompter-for-ipads-androids-and-...
[1] https://github.com/sleuth-io/code-video-generator [2] https://youtu.be/e21hJnB9J5k?t=44 [3] https://obsproject.com/
It uses Manim [2], an animation library commonly used by Math teachers, and adapted it to code walkthroughs. Just comment code as you do and it generates a video for it. I've been using it to generate visuals for youtube videos [3] with some success.
[1] https://github.com/sleuth-io/code-video-generator [2] https://github.com/manimcommunity/manim [3] https://www.youtube.com/watch?v=e21hJnB9J5k&t=2s
By making it automated, the dev can immediately start on a new task and the deployment can go out quicker, meaning the next dev can start on their deployment. Therefore, I see it as helping preventing costly context switching and therefore, improving efficiency.
Automatic deployment takes it to the next level where it becomes so easy to deploy that the dev starts fixing things they would have previously ignored because it was too painful, annoying, or time consuming to deploy before. A typo here, a refactoring there, and now they can fix, push, and go back to what they were doing within minutes, but do so with the confidence they won't break things. It is kinda like the difference from when CI takes 3 minutes to 10 minutes. It isn't much but that longer time means you alt-tab over to reddit or whatever, forget what you are doing, and now that task takes orders of magnitude more of wall clock time.
The most common seems to be auto-deployed to staging or a dev environment, with some sort of daily or weekly process for promoting to production. One company built a Slack-based approval process using +1 or -1 reactions, and another has a zoom meeting where every author has to attend and is walked through a checklist before the release is approved.
My team also had a manual approval step to production, which theoretically meant the dev would check logs, dashboards, and alerts before approving, but in practice both with us and teams I talked to, that is followed about 50%-80% of the time.
What we built into our product, Sleuth [1], is a way to automatically promote staging releases when the staging release was determined to be healthy and soaked for a minimum amount of time. This allows the 80% case to simply flow through to prod without developer babysitting, whereas we can easily interrupt the process with a -1 reaction in Slack if it needs more manual testing. I think this is the ideal - the common case is the code flows but you still have an easy way to interrupt the process when the change needs it.
[1] https://www.youtube.com/channel/UCmIIOHKgJnGQruIVD_Zx71g