Let's celebrate failures & grow.
For me the thing that helped the most was the /r/stopdrinking sub on reddit. Reading people's experiences and techniques from all sorts of groups and books, and reading about the triggers and follies of their relapses helped me a lot. Also a place where I could talk about problems related to the sobriety was nice.
If you live in a bigger city or another you may want to look for a craft soda shop. It can be helpful when you go to a friend's where they drink. You'll have your fancy soda so you don't feel left out when they get their fancy beers. Also my 3 go to drinks for bars and such to not feel left out or another are: a mock mojito, ginger beer with a splash of cranberry juice, or a roy rogers(coke with grenadine). In that order. A lot of places can't make a mojito, some places don't have ginger beer or they have super low quality ginger beer, but everywhere has grenadine(which is pomegranate syrup not cherry...) experimenting with mocktails and stuff at home may be a good thing for you depending on what your relationship with alcohol was like.
Also last year for my soberversary I wrote an article on my sobriety and experience in tech if you want to give it a read. A lot of my points above are expanded and there's some good discussion in the comments. https://dev.to/samuraiseoul/alcohol-and-developer-culture-19...
Lastly, if you want to talk or vent or have questions feel free to reach out to me either on here, or using the contacts in the article I linked to above.
I will not drink with you today, good luck and good job on the ten days!
I was drinking to excess in the past few months. Didn’t make it home one night. It’s way more trouble than it is worth and I plan to change my trajectory.
After this, I built a script that did a backup once a day and made sure I had to go through some extra hoops to connect to the production database from my own dev machine.
All in all, this was a good learning experience.
Though I had an AMI created few months back and it took around 15 mins to get latest code working but yeah I learnt my lesson.
But again I think this is a bad ux from AWS where you can directly terminate any instance without any prompt or warning.
I hope they change it some day!
All of this is predicated on the idea that you know exactly what changes you need to make, exactly what state the database should be in afterwards, exactly how to verify this, and also how to check for unintended side-effects.
I suppose the real trick is to avoid having to do this kind of thing in the first place but, as well all know, sometimes that's just not possible.
(12'503'450 rows affected)
My larger failure: I was hired as a contractor/consultant by a major media company earlier this year to help the team develop some cloud based software. I was hired to improve their testing karate. When I started, I was constantly being blocked; all my ideas were rejected and the team kept reverting to they way they had always done it. After 1.5 months the teamleader threw me out. Another team leader was happy take me, there, things were doing great, but I struggled to refactor the mess of TypeScript-AWS-Lambda-Cloud-Crap in a meaningful way.
Not all of it was my fault; the situation there was horrible. But I believe someone more experienced than me, or just someone who doesn't get as emotional as quickly as I do could have handled the situation way better. I feel like a failure.
I am frustrated by the situation, because while it was going on, I felt that I was doing everything right. Not sure what my lesson is.
Mel Robbins is the one to credit for this, there's more information here: https://melrobbins.com/blog/the-5-second-rule/
I'm going on a bit of a tangent here but this statement highlights some big problems in our industry. To me, being hired as a contractor/consultant means being hired to a job which satisfies some very specific requirements, not to be a butt in a seat on retainer to perform any immediate task which happens to come up.
As a contractor/consultant it seems the best approach would be to demand specific, well defined interfaces and use cases and to provide a solution which adheres to those interfaces and satisfies those use cases. If done right, your solution should be verifiable with acceptance testing. If the solution you provide meets those requirements you've fulfilled your end of the contract. The client is free to do whatever they'd like with that solution based on other criteria not in the contract. Based off your work, they're free to hire you for more work or not.
All this to say, don't get down on yourself. It sounds like there's an expectation mismatch between you and your client. It sounds like what you were expecting is closer to what I've described and what the client was expecting was another body to be on retainer for an hourly rate.
Take management consultants, their main job is mostly to go in and fix other managers messes and possible educate them so it wont happen again or get them replaced.
Software consultants can often have very similar roles, a company have a problem with producing software, they take in a consultant to fix the issue because they themselves don't know how, the consultant comes in and fixes the issue and in the best case educates your workers so they can handle these issues themselves in the future. This is what a company typically wants when they hire a consultant to fix a problem, not a person who only solves already well defined problems.
Example: You have a new cloud based solution but prod is often broken, you hire a consultant to flesh out your deployment strategy to make it more robust, he comes in, creates a basic deployment strategy and shows your team how it works and how to add more tests to it, then he leaves. Production failures go down and your team is now stronger as a result. This is an ideal software consultant.
Of course you also have "consultants" who are just normal employees with less legal rights, those are more like what you are talking about.
It's most important lesson is that there are no evil people which sounds trite but when you read the rest of the book you get the point.
I've read it quite a few times over my career.
Cant help poor management a month and a half is not enough to get any idea of a persons abilities or help them fit in.
> but I struggled to refactor the mess of TypeScript-AWS-Lambda-Cloud-Crap in a meaningful way.
Any one would be on tilt after the team leader situation, don't worry about it, if it doesn't work out here, there are other places to work, it's just a job.
In startup failures: didn’t listen to my gut feeling and let my cofounder pile on more features and quibble about the design for a year before validating a single feature with a potential customer. We didn’t make it with that one...
The growth is realizing that sometimes variance in the data means that really cool model/code you want to write isn't useful, and there's always a trade-off between elegance and utility (if the two aren't in fact opposites)
I suppose the lesson learned is avoid working in a vacuum of a project for long stretches and instead ask for a variety of consult from colleagues early and regularly.
After a few hours, and help of a colleague, we figured out the issue. I wasn't using the companies wired connection but instead was using the much slower wifi..
Updating DNSSEC infrastructure for a bunch of zones we manage. As part of that update I added extra DS* records at the parent zones. We were using SHA-256 and since our new signer generated SHA-384 signatures as well I included them. All nice and standard. Our tests were all good. dnsviz.net said everything was good, but... It turns out the version of Unbound that was included in older versions of Ubuntu and Redhat can't handle SHA-384 DS records and instead of ignoring them like they are supposed to simply fail validation.
Naturally those obsolete nameservers are in use by fun people like Comcast who proceeded to drop lookups for the entire zone. This particular zone was the major commercial zone for a small country ie. co.tld. Around a million subdomains.
Fortunately it this was a subdomain inside a country so we could get the SHA-384 signatures dropped at the parent quickly, but yeah tracking down the problem was ... Lets just say it was a bad day.
I wonder if I can put "I broke the internet" on my CV?
* English for everyone who doesn't speak DNSSEC:
DNSSEC is kind of like SSL but for DNS. A DS (Delegation Signer) record is a hash that goes in the parent zone so that resolvers can verify you are using the correct DNSKEYs. Its kind of like X509 certificates in reverse.
DNSSEC is VERY complicated and brittle with many ways to hurt yourself.
ICANN that wonderful organization that requires us to have TLSA records for our RDAP servers even though browser support out the box is zero.
It's no more or less secure than being full-time nowadays since I've been made redundant 3 times now and all because of money issues.
Its not a total failure; I have a steady career with great benefits that I can retire from in ten more years (total of 20) with a pension. I've learned to focus on my core competencies which has of course catapulted my progress in the selected field. I miss my side projects but I know now that I really can't do everything at once.
I'm a fairly active gym-goer, but I have incredibly bad eating habits, so instead of losing, or just maintaining weight, I've been slowly gaining it.
This combined with my general shyness and low confidence, has caused me to just cancel social events, and stay home. And of course eat fast food to compensate. I'm struggling with sleep, and I'm at a point where I don't care much for work anymore (I've been arriving late, and leaving early for the past few months). I realize I'm borderline depressed, and my best guess is that my weight is the major cause of this.
I'm 34, have a GED, have a bankruptcy, do not have a degree, do not have some sort of skill where I might be able to get around not having a degree like some sort of CS skills, I basically make a little less each year due to inflation and increase in insurance costs not being higher than the tiny merit based increase my employer gives, I've never had a relationship as an adult, I'm repeatedly denied jobs because of lack of degree and/or my bankruptcy and/or the fact my job doesn't really transfer to anything else and I've been doing it for 13 years, I can't afford to even contribute enough to my 401k to get the full employer match.
Even someone, with considerable means that told me thier success is purely due to luck (and obviously through chances they've been given by mentors), told me that they are sorry/find it unfortunate that a degree is treated as a de facto dues card... yet the past 2 companies they've ran, require degrees for their entry level work and when I flat out asked for any job that could give me new experience, asked to take a chance on me, I got an "I'm real busy right now, but I'd love to work together some day".
I could try and get a degree, but I don't test well and while I'm quite intelligent school was always difficult for me. So taking out tens of thousands of dollars of loans and spending my free time doing something I'll almost certainly hate and/or be frustrated by, just to bury myself in debt for the second time in my life and graduate around 40 to compete against 20-22 year old people for entry level jobs in a new field with my fancy piece of financed paper... doesn't sound very smart, does it?
In literally hundreds of appplications in the past 3 years I've had 3 interviews, 2 of them declined and the 3rd I declined when they told me the starting pay was a 5$ and change less than I make an hour now and less than 4$ above minimum wage. Doing roughly what I already do, just for freight on ships instead of planes.
Basically my life is a complete failure. If I dropped dead today my mother, that lives with me, would notice and honestly that's probably it. I'm a wholly replaceable cog in a machine.
(obligatory disclaimer: not suicidal, just honest and mostly defeated).
I anticipated being in your position when I was younger and my technique has worked repeatedly. I'm about twice your age and was never denied a job due to lack of a degree. That includes a stint as a full time employee at the original Really Big Tech Company.
My path has always been the same: get really good (top 80%, not top 1%) at something most people aren't good at. That way I can get a job regardless of my requirements. Back in my day that was assembly, systems programming in C, and the Windows API. Obviously not where you want to be today.
As I see it, you have some great resources. You're willing to be a little humble, you have a place to stay, you've got brains.
Have you considered contacting a few recruiters to see what they're looking for, then taking the time to acquire and/or sharpen your skills? These days I'm guessing it's something like C#, Python, maybe Go, but I'm spitballing. Point is, you still have plenty of time to get super strong at something. It may take a year, but it'd be better to earn $75K in 2 years at a job in Minnesota than languish at a dead end gig now.
Another reason to get excellent at something is it imparts a confidence that makes you more attractive. I'm fat and ugly but I pay attention to people. Being a good programmer and a rewarding listener meant I never, ever had trouble meeting awesome women
My very best to you. That can't have been fun to share.
I've no interest whatsoever in programming. I tinkered enough back in the day on MUDs and in a programming vocational class in high school that I know it is absolutely not for me. Even hammering out some really simple QBASIC games from scratch was incredibly frustrating for me.
As far as recruiters in general, I tried to use one a few years ago. They got my an interview, at a company with 4 employees in the US where I was told during the interview "IF we hire you, we do not provide insurance, my wife works at Eli Lilly so I am covered under her insurance" and it was a significant pay cut to do the same thing I do now and when I told them in the interview I would not be open to an offer I never heard from the recruiter again.
From my impression recruiters mostly want programmers or people with MBAs for placing in lower-level corporate positions, at least these are the sorts I've found in Google queries but perhaps I just don't know what I should be searching for.
There are a zillion recruiters out there, but I'd respectfully suggest that your best bet would be to listen to what they need, not worry how one got you a particularly lousy offer. Most people are bad at what they do.
I'll not bother you again but I wanted to know you're heard, and not completely alone.
I have my religious pursuits and what not but by failure I mostly mean I have no meaningful connections. All of my friends are married and/or married with children, I don't have much family left alive, I've got my mother living with me until she dies which could be tomorrow or might be another 20 years which puts a bit of a damper on pursuing romantic interests and at my age most women are divorced with multiple children and don't have much free time and aren't really open to the idea of pursuing something where someone's retired mother would be moving in with them.
Yes I've got a comfortable place to sleep and food to eat and what not but my job is something OCR & 'dumb' AI will eventually largely automate, I have no intimate (in a non sexual sense) connections like I did in school because everyone is busy with their families now, I've just got a house plant which has entirely overtaken the kitchen bar and is now spilling over onto the floor and my stuffed animal Bun from my first Easter that I tell good night every night as he sits on a book shelf in his dotage.
My legacy, as it stands, is a blog that will disappear 1-12 months after I die and a frail old man of a purple anthropomorphic rabbit.
At my previous job - a small firm - I spent 8 hours actually working, each day. At my new job I am doing bureaucracy all days long, and very little actual work. Sometimes I come home without actually having had any real work done for the entire day.
I flipped out after maybe 3-4 weeks, because Not Doing Actual Work turns out to be extremely stressful for me. I felt guilty for not achieving anything.
But no one cares. This is "normal" at my new job. I brought it up with my boss and told him how I felt. I also told him that, I can not stay at this job for too long, since it will in the long run be really bad for my career. If I don't write code, I will eventually become bad at it. Weirdly, he said that he understood and thought that more of my coworkers need to realize this, before it's too late for them.
So now I am planning my escape. I am a bit worried that only working for this company like 8-10 months will look bad at my CV... I have not decided how long I should stay.
Don't worry about it. If your entire CV were full of jobs where you've spent < 12 months (contracting aside), it would a red flag. The odd one here or there doesn't matter: everyone has a job that doesn't work out/isn't for them from time to time.
(Also, I too have worked for a megacorp - as a contractor - and it, quite literally, nearly drove me off the rails. I lasted 8 months. Who knew that getting next to nothing done, and being paid for it, could be so stressful? But it really is. You're not wrong about it being bad for your career either. I don't have loads of data, but I have found that developers who've spent too long in that kind of environment don't do so well in our selection process so, if anything, leaving after a short time will only be a positive for your career.)
The only problem is you now have the second phase only 90% completed. Here comes phase 3 ...
You built a forum, that's great. If you set out to build a forum, you succeeded. If you set out to build a community, you just wasted a bunch of time on doing something only loosely related at best.
So the question is, what did you actually set out to do? If you are considering this a failure, then you can turn it into a success by releasing the forum software for others to use.
I've done exactly this. It was a really good game engine - sprites, animation, LUA scripting, and everything. But once I had it running the original inspiration for the game was gone.
I learned a lot in the process so I don't count it as wasted time.
More recently,I built a my own static site generator like everyone else and their dogs. I guess I really never finished it but it is feature complete enough to do exactly what I need even if nobody else is ever going to use it. Like the gp's forum software, that is a kind of success.
The payment platform's API's `updatePlan` function had an optional flag for `reactivateSubscriptionAndBillImmediately` with default value of `true`, as it turns out.
I had to stay up till 6AM writing a script to detect all of them, refund their money, send an apology email with some free credit, and cancel their subscriptions, and also write a note to my cofounders outlining the situation so they could crisis manage while I was out cold.
After which I wrote an angry email to the billing platform (probably harsher than they deserved given I didn't test their API appropriately on our dev instance). To their credit, they promptly changed the default. They were a young company and apparently not that many clients had used that API endpoint before.
It resulted in some very angry customers threatening to cite us to various business practice enforcement bodies around the world, but all in all some floor-sweeping profuse apologies and prompt action laid concerns to rest and no harm was done.
Because it was a "simple" package, we did not have any deployment system ready, and deploying was just SSH/SCP commands that created a directory with the package version and upload my dist. I forgot to bump the package version, and ended up wiping a working and in-use package. The problem is that this package can only work up to a specific angular version (which wasn't set in the package.json, so my build installed the wrong one), therefore the only thing that our applications were producing was a blank page.
And because I had wiped the original package, I had no way to know which angular version we needed, and we had to find a cached version to get it, by reading the angular license comment in the minified code. The shittiest 5 mins of my life, even though I'm sure no one noticed it.
What I learned from this : don't speak with someone else while deploying, huge focus loss.
PS : The company is an ISP.
I know because I was there :) I should have died a few years ago, but didnt. Not giving a fsck and also being adventurous is a nice combo.
I don't know how to approach the next two years. I don't wanna work in industry at least for now and enroll in a MS program.
The person that I chose was a close friend that I’ve worked with before, but deep down I knew he wasn’t really entrepreneurial material.
In the end, he accepted, just to turn around and say “no” when we got the term sheet to sign (“it’s just too much work for me”). The investor aborted the offer.
I’ve made a bad choice because he was my friend and I valued that above the business parameters. It was a terrible mistake.
However, I have now started a Youtube channel for vlogging which is one of my old loves. I had a vlogging channel in 2006 and stopped because of bullies and life getting in the way. Feel like I'm getting my creative side back which has been a revelation for me.
Now we have a lot of useful and legitimately needed functionality and unscalable system.
Make sure that you always measure and present the numbers of your systems abilities along with new product features to the management.
It is a very tricky balance. Hard to master. Communicate!
I couldn't devote all the required time to it so I've stopped it now.
Partner in tow, I am working on something else though.
The MVP was promising tho
A master approaches an apprentice, the master has a software engineering project for them both to work on, and tells the apprentice to make it clear when they were ready to start.
Weeks pass and the apprentice never says anything, but just hacks away at their own machine.
The master asks them why they aren't ready, and the apprentice replies, "We'll be ready once we've customized vim/emacs into a useful editor. But don't blame me for the delay, you have just installed stock vim/emacs, you haven't even started your customization", the master replied "I've already finished".
Then the apprentice was enlightened.