Building DynoWizard [1] - tool for designing single table DynamoDB tables.
I first used DynamoDB 8 years ago and have been designing single-table schemas heavily since. For me, the best way to create drafts was always pen and paper (and then excel/confluence tables), but in reality it's a process (based on The DynamoDB Book) that can be automated to an extent.
Decided to build an app while on paternity leave. You define entities and access patterns, create (or get suggested) key and GSI design, and generate code for access patterns (TypeScript and Python), infrastructure (CDK, CloudFormation, Terraform), and documentation you can share with stakeholders.
There's more I want to build beyond the MVP - things around understanding and validating designs that you can't get from a chatbot - but for now focusing on the core.
If anyone wants to try it out, sign up for the waitlist on the landing page. MVP should be ready in the next few weeks.
1. Treat it as a stream - you can't catch all of it as there is so much info, just catch something interesting, read it, and don't stress out if you didn't catch something else. There will always be something else to read.
2. Most of the sources you've mentioned are push-based - i.e. someone else is pushing this new info onto you (newsletters, youtube, podcasts, news). This increases FOMO. Instead, try to implement a pull-based approach and only seek and read info that is relevant to what you want to learn, read. It's a lot harder than it seems, but my guess it's harder due to default.
Last year, I re-tried[1] the experiment of not using the internet for entertainment for a few months, only for work and life admin. To catch up with news, I subscribed to a paper-based weekly newspaper. If there is something important in the world, you will find out about it, someone will tell you. But this will help a ton with anxiety and mental health.
The other thing I realised - when I listen to podcast and go into info overload, I get burned out a lot quicker. Listening to podcasts while working is the worst. I removed all podcast subscriptions and only started adding those that I want to listen + limit when I listen to these episodes.
This looks cool and I would definitely use it as at the moment manually type "Act as ..., this is the context, ... etc" to improve the responses.
Side note - this is a single page with a few paragraphs, why is it 1.4MB in size (300kb gzipped)? It's just insane size for the amount of functionality it provides.
Google Wave, there were some features that were amazing like splitting messages in their own threads to branch off some ideas and keep conversations on track.
I was in the same position when I started working at the first company.
They just continued to pay the same salary after I graduated.
Until you reach senior level, the best strategy for maximising salary is to switch to better paying jobs every ~2 years.
Also, I assume you are from Latvia as you have LV in your username - 1k is waaay to low. I have friends making 3.5k eur a month. You can find mid level positions that pay more than 2k/m
Notion. Their browser plugin saves the page content + keeps the link. It's been really useful as I can find the recipes quickly on my mobile when cooking.
I'm Oleg, maker of McPiper. I've built it to help me monitor GitLab pipelines. While coding I don't look at my emails and I was missing failed pipeline notifications.
McPiper is macOS app that lives in the status bar and when a pipeline fails it will highlight it in red and will show the notification.
Let me know if you have any questions or comments.
I also plan to add GitHub Actions soon. Let me know if you like to see any other CI / CD tool.
Had similar experience a few years ago.
After 5 years startup failed.
Turns out I've gained a lot of valuable experience during those 5 years since start-up usually means moving faster - you learn more.
Honestly, just find some recruiters - I know everyone hates them and says their industry should go away, but with them I found a gig within a week.
But since you know how to code you'll be fine, you have valuable skills.
This is the advice I can give to anyone who has a side project. Get to the point where you can show something to the users and just start adding stuff.
Even if it's just two lines of code or changing the favicon - still worth it. In practice, it's harder to do than it sounds, but I've been doing it for some time and it's been going great.
In reality, you won't have millions of users on day 1 no matter how great your product is. If you start small and keep adding stuff you will have more success.
In fact, the biggest challenge for side projects is marketing and not the tech or infrastructure.
However, it also depends on the goal - if you want to build the project that makes money it's completely different story to experimenting with tech. In the end, you get the experience.
For example, a few years ago I managed to build an overengineered CDN product that compressed images on the fly (almost on the fly). I shipped the project and it even worked great for testers, but I didn't get to the point where it makes money, so I shut it down as with half unfinished features as it was taking too much time.
While building it I managed to learn Go, improve my AWS skills, plus some other tricks. Now it sounds like a great investment even though I feel that I haven't completed the project.
Most likely you won't be able to estimate project accurately. I've co-founded a digital agency, and after 5 years we still can get 100% accuracy.
But here are few things that will impact the accuracy:
- how familiar are you with the technology
- how quickly the dependencies change (tech dependencies).
- how technical your project manager is - you will likely to spend more time in the meeting explaining some trivial stuff if PM isn't technical.
- how many visual design revisions you need to implement during this estimate
- how big is the task - if it's bigger than 2 days your accuracy drops.
My advise is to keep the tasks small, no more than 2 days (3 days or 20 hours max). And total phase smaller than around 200 hours. You also need to make sure that everyone is on the same page - if there is no good communications your estimate might need to be revised during the development phase.
Even if you implement the same project the second time - it still not guaranteed to be faster than the first project.
We did an internal hackathon at LETO a few weeks ago and our team did Elevate app - a gratitude journal. Joe did a blog post on our thinking behind it.
Would love to hear some feedback on the app, and let me know if you find any issues.
Android version in progress, should be in Google Play end of this week.
I've tried using Anki but found it too confusing. Most features are overkill for what I needed, plus I always forgot to revise.
Earlier this year I build a side project to tackle this problem. I've added email notifications, made interface really simple. Only left what it is - spaced repetition app - Endue (https://endue.me/). After a month of using it, I actually implemented an add-on - Telegram bot, EndueBot (https://telegram.me/EndueBot).
Telegram Bot is super useful as you can revise without leaving Telegram and most of my cards don't require audio or images, it's text mainly. It only takes few minutes a day.
I've been using it for the last 6-7 months, and it helps me with dev cards. For example, if I'm doing a project and need to google some error or explanation on config option or whatever, I add a card after I find an answer. So next time you have this problem instead of googling you just recall it from your head.
There is Messenger version in progress, I should finish it later this month.
guys, I think you over-estimate what this tool does. It's not a saas or something to be integrated with projects.
The only reason I've made it is to avoid creating random strings every time I need them. In the past few months I've done the following at least 5 times:
1) run ipython 2) run the following code:
import os
import hashlib
print(hashlib.sha512(os.urandom(128)).hexdigest())
The problem that it takes unnecessary time to do it. `curl -L r.ger.lv` is way simpler and faster for the same result. In fact, it's exactly the same code that's running on this site :) It's a small tool so you have fewer excuses to leave `SECURE_STRING = "TODO_CHANGEME"` in settings files.
I did this tool mainly for myself, thought I'd share it, maybe someone finds it useful.
I first used DynamoDB 8 years ago and have been designing single-table schemas heavily since. For me, the best way to create drafts was always pen and paper (and then excel/confluence tables), but in reality it's a process (based on The DynamoDB Book) that can be automated to an extent.
Decided to build an app while on paternity leave. You define entities and access patterns, create (or get suggested) key and GSI design, and generate code for access patterns (TypeScript and Python), infrastructure (CDK, CloudFormation, Terraform), and documentation you can share with stakeholders.
There's more I want to build beyond the MVP - things around understanding and validating designs that you can't get from a chatbot - but for now focusing on the core.
If anyone wants to try it out, sign up for the waitlist on the landing page. MVP should be ready in the next few weeks.
[1] https://www.dynowizard.com