{"Announcements"}
-{"This page documents all of our organisation's announcements, in reverse chronological order."}
+{"Blog"}
+{"Welcome to the musings of a transfem software engineer!"}
{posts.map((post) => { returndiff --git a/package.json b/package.json index b265737..9b42c8a 100644 --- a/package.json +++ b/package.json @@ -3,9 +3,9 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "next dev -p 3001", + "dev": "next dev -p 3003", "build": "next build", - "start": "next start -p 3001", + "start": "next start -p 3003", "lint": "eslint src --max-warnings 0" }, "dependencies": { diff --git a/posts/de-googling-myself.md b/posts/de-googling-myself.md new file mode 100644 index 0000000..9ed8b2a --- /dev/null +++ b/posts/de-googling-myself.md @@ -0,0 +1,53 @@ +--- +title: "De-Googling Myself" +date: "2024-05-14" +summary: "How I shifted my entire online presence to more privacy-focused platforms" +--- + +Recent life events have made me more cognisant of my digital footprint and online privacy. So much so that I'm paying for one of those services that sends data removal requests automatically on your behalf. But over the weekend I realised... how much data am I still giving to the tech giants? So I sat down and spent many hours moving away from those platforms. + +## Stepping Away From Microsoft + +I had moved from Windows to Linux a month ago, but I was still using a relatively recent acquisition of theirs: GitHub. Now, sure, the privacy concerns of having access to my (99%) open source projects are definitely much smaller than giving a company access to my search history, entire internet history, or even my phone. + +But still, I knew there had to be a better option. So I moved all of my repositories over to CodeBerg - which had quite a few attractive aspects: + +- It's FOSS! +- It's run by a non-profit +- They seem very privacy focused + +They had this pretty slick option to import a repository from GitHub, using a PAT to copy over everything including issues and pull requests. I tried that for a few repos, but with a fairly extensive open-source history I quickly hit rate limits. I'm a rather impatient girl, so I decided to go the nuclear route - wipe my local .git directory, re-initialise from the main branch, and push the changes to the new remote creating a fresh history. + +I didn't bother to preserve my old archives, either - nuked those entirely. It felt oddly liberating to unload four years of development history, and I have to say my notifications have become vastly more manageable. I do worry about diminished contributor activity, but on the flip side that'll free me up to focus on more paid work. + +## Removing Google + +Google was an entirely different beast. I had used my GMail account for years. I had so many accounts that were OAuth sign-in through Google. There was a LOT to migrate. + +Step one was to decide on a new email provider. I had some pleasant experiences with Migadu for custom domain emails, but the limit on number of messages you could send/receive was concerning with how many different client inboxes I manage. With the help of the De-Googling subreddit, I landed on Proton Mail - trading a cap on send/receive for a cap on the number of email aliases I could set up. + +But because Proton Mail supports the + trick? I could turn an alias like accounts into an infinite number - and that's exactly what I did. When going through every single account in my password manager, I decided to give each of them an accounts+platform email so that I could track where some of the random spam emails came from (and know who's selling my data). + +Once I had all that done, I created a personal calendar in Proton and set up my work calendars as imports just so I could see the events. Proton offers drive storage as well, albeit with a significantly smaller limit than what I had through Google One. But it worked for my essential files - I just had to give up on the 500 outfits I had for my old VTuber model. + +Finally, I set up FreeTube to give myself a way to continue consuming random YouTube content without letting YouTube see all of my activity. + +## But what about work? + +Yeah, okay. Three of my clients still have me using GMail addresses. There's only so much I can do about that, like... forwarding all of my emails from there directly to my Proton inbox, and syncing my calendars to Proton. + +But still, sometimes I have to sign in to view a shared Google Doc. And we use Google Chat in one of my roles. So I run those exclusively through private Tor windows with Brave. It's certainly not perfect, but I work with what I've got. + +## Don't you have an Android? + +I do. Which, I was totally ready to flash GrapheneOS on it. Or heck, even just root it so I could toss all the Google bloat. But it turns out the Samsung Galaxy phones with the Snapdragon processors can't be bootloader-unlocked (at least not yet?). Which make both of those pretty much impossible to do. + +I can't afford to go out and buy a new phone right now (donate to me please), and wouldn't know what to get even if I could. So I made the most of what I had and used a debloater tool to force-uninstall the stuff I didn't want. It's still there in the system files, and will come back if I do an update or a factory reset. But then I'll just remove it again. + +And none of my Google accounts are signed in on my phone anymore (which has the added bonus of not bringing work with me everywhere I go!). + +## I know none of this is perfect... + +I'm not a privacy expert. I'm still doing a lot of research, refining my approaches, figuring out what "privacy-focused" apps are actually not. + +So if you have a suggestion for how I can better lock down my stuff, while still keeping communication channels available for folks who want to commission me or contribute to my projects, please feel free to drop a comment! I'm always happy to learn new things! \ No newline at end of file diff --git a/posts/freelancing-is-hard.md b/posts/freelancing-is-hard.md new file mode 100644 index 0000000..60e45aa --- /dev/null +++ b/posts/freelancing-is-hard.md @@ -0,0 +1,55 @@ +--- +title: "Freelancing is Hard" +date: "2024-10-12" +summary: "The struggles of a self-employed software engineer." +--- + +One of my clients put my contract on pause this month. They don’t have any work for me. Thankfully, I run a very heavy workload specifically so things like this aren’t quite the blow. But that’s not viable for many people (and arguably unhealthy for me). + +> ✨ I know I make it look fabulous… + +…but the life of a freelancer is full of challenges and risk. + +## Sourcing Clients + +Arguably the hardest part of being a freelancer (at least, from what I see a lot of people struggle with this step) is finding people to pay you. + +I know it is a bit of a dead horse at this point, but networking is really key here. Most of my clients have come to me through my network. + +But networking isn't about trying to find a job, or getting people to refer you. It's about adding value. For example, volunteering in the Hacktoberfest community created a connection that led to my role at Deepgram. Moderating Rythm created an opportunity to build their community tooling. + +Open source contributions can also be a great way to network. But this is only effective if you commit. Making drive by contributions might seem tempting, but isn't really going to leave a mark. Having consistent, quality contributions to a specific project over a long period of time not only showcases your talent, but gives you important experience working in a team environment. + +## Losing Clients + +The reality is, no matter how hard you work, you’re going to end up parting ways with clients. Maybe the project they had you working on is complete. Maybe they no longer have the funds to pay you. Heck, maybe you just weren’t meeting expectations. Whatever the reason, it does happen. + +Unfortunately, at least in the U.S., you don’t have much of a safety net. You aren’t eligible for unemployment benefits, you’ll have a hard time proving an unjust termination… So really, you need to have your own safety net. Whether that’s a significant amount of savings, or even an adjustable workload that can handle the loss (I, for one, tend to do around 80-100 hour weeks so there’s never a shortage of work). + +However you choose to handle it, being a freelancer can very much be “feast or famine”, and you’ll want to be prepared for that. + +## Financial Concerns + +Aside from having a solid nest egg to fall back on, there are a few other financial concerns. Taxes are arguably the biggest one. Here in the U.S., you are the employer. So you are required to pay both the employee portion and the employer portion of income tax (“self-employed tax”). And there are penalties if you do not pay it early. Which means you have to keep accurate books of your income and estimated tax liabilities. + +But there are also other concerns. It’s rare (perhaps even unheard of) that a company will pay into a pension or 401K for an independent contractor. Health insurance is typically not offered - you’ll need to source and pay for your own. And all of these can add up. + +On the plus side, you get to write off business-related expenses! And depending on how you structure your business, you may be eligible for additional perks like a business line of credit. + +## Running a Business + +Being a freelance developer doesn’t mean the 100 hours of work I do is always code. There’s a lot of time doing business-related things. Marketing, so that I stay relevant and fresh in potential clients’ minds. Content creation (like this blog!) to generate passive income as well as providing evidence of my knowledge and expertise. + +And, of course, there’s social media. Maintaining an active presence on as many platforms as possible, to ensure clients can see and find me and know how to contact me. None of this is paid, either - heck, sometimes I pay. It’s just part of the investment you make into running your own business. + +## Isolation + +Remote work often seems glamorous. Avoiding a commute, wearing pyjamas all day… But there’s a lot you miss out on when you aren’t in an office environment. I, for example, never really had the same opportunities to connect and socialise with colleagues. + +This becomes especially more true when you’re a freelancer. You might be on a team where you’re the only developer. Or you might work directly for a client with zero technical experience. And all of that can leave you feeling somewhat isolated. It’s essential to find other ways to connect with your peers. Such as programming communities on Discord. + +> 💡 I don’t share my story to scare you, but rather to educate and empower you. + +There are a significant number of content creators and influencers who will pitch this as the greatest thing ever. And it is pretty bloody nice. + +But freelancing is not all sunshine and rainbows. It’s certainly not a path to “easy money”. If you’ve read the challenges I’ve shared, and you’re still interested, that’s great! I wish you the best of luck. And if you’re feeling more comfortable with a traditional W-2 role, that’s great too! All that matters is you make an informed decision that will bring you the best life. 💜 \ No newline at end of file diff --git a/posts/i-did-it-and-you-cant-too.md b/posts/i-did-it-and-you-cant-too.md new file mode 100644 index 0000000..e82a3b3 --- /dev/null +++ b/posts/i-did-it-and-you-cant-too.md @@ -0,0 +1,39 @@ +--- +title: "I did it, and you can't too!" +date: "2024-08-09" +summary: "Going from my first line of code to my first job in 7 months." +--- + +"Become job ready in 6 months". "Learn to code in 90 days". If you've heard statements like this from various tech influencers, you're not alone. That seems to be the selling point lately - how to go from 0 to job ready as fast as possible. I actually did it - I went from my first `
{"This page documents all of our organisation's announcements, in reverse chronological order."}
+{"Welcome to the musings of a transfem software engineer!"}
{posts.map((post) => { return