It's also how I say that there isn't really a useful problem that decentralisation solves. After all, most git users use git in a centralised way.
1,894 karma · joined November 28, 2009
I have eight years of C# experience, but I also work with a range of languages, namely Ruby, Python, TypeScript, Scala, and JavaScript.
It's also how I say that there isn't really a useful problem that decentralisation solves. After all, most git users use git in a centralised way.
Finding work there was a dream, and while there weren't many roles available, they were usually great quality roles. Finding candidates was also great, and all of them were solid candidates that met the basic bar of "can you write some basic code in a language of your choosing".
To be honest, it felt like SO went downhill when Jeff Atwood left.
Obviously, I'm one person out of many, but a quick Google search indicates that I'm probably not the only one that felt stupid updating today.
I distinctly remember reading something that said 60% was the minimum threshold required to ensure that the virus spread as a greatly reduced rate.
Before lockdown, I had already been looking for jobs. Since then, I've been rejected pre-interview by a handful of companies, and have bombed out of a handful of interviews at the final stage.
I was also made redundant a few weeks ago, so I'm nearing the point where I need to find myself a new job.
Despite that, it's been weirdly nice to sit at home, on my own, and simply learn again. Obviously, I'm freaking out about being out of work soon, but I'm hopeful that the stars will align and at least one company will offer me something.
I'm glad I did, because literally every job I've applied for has had some kind of Codility or HackerRank style test - even bog-standard developer jobs have asked DSA-style questions. Yesterday, I was asked a Dynamic Programming question for a full-stack developer role at a bank.
It seems like these kind of interviews are becoming the norm, so I'll probably spend the rest of my furlough time working through DSA courses, grinding LeetCode, and doing daily Codility tests for different companies.
I'm not sure where you're based, but I've heard of Usher's Syndrome after hearing a talk from someone named Molly Watt, who also has Usher's Syndrome. It might be worth dropping her a line, as in her line of work she might be able to either give some advice, or point you towards someone in your situation that can help.
I've recently been furloughed, and I think that redundancies aren't too far away. There aren't many companies hiring in my area at the moment, and if I'm going to move it's going to be for a big company, so I'm dusting off the CV and am applying to some Big N companies.
A recruiter recently reached out to me, and I've got an interview with one Big N company coming up soon, so am using my new-found free time to study and, at the very least, be a bit more employable at the end of this pandemic.
I think the biggest problems many are going to face aren't related to the illness itself, but the effects of self-isolation and the outcomes, such as:
* Dealing with your loved ones getting sick or dying - online services to talk to others that are suffering or going through tough times would be good.
* Boredom - putting that "empty time" to good use by building your skills.
* Loneliness - providing a platform to utilise existing or new social networks to make people feel that they aren't alone.
* Volunteering - one of the biggest hit areas is going to be in elderly care, and to be honest it wouldn't be unsurprising to see care homes shut down and relatives being left to look after their relatives. Anything that can help people in these situations would be welcomed, whether it's supplies, stuff for people to do, etc.
* Aiding remote workers. For many, remote working is an alien concept, so if you've got experience in working from home in an optimal way create an in-depth guide to help others.
* Small gym relief funds - many gyms or martial arts schools have shut down, and many practitioners rely on teaching as their sole form of income. Building a relief fund for those small businesses would help tremendously, on the basis that it can be "paid forward" in the future through private lessons, online instructionals, etc.
This might sound dark, but as others have said, it feels like the government would rather see the country overwhelmed over a short amount of time, compared to a prolonged battle where their failures in healthcare will be highlighted.
I won't pretend to be a virologist, but one thing I will say is that it is wishful thinking to assume that the elderly are going to go into lockdown as the rest of the population builds an immunity. There is a level of arrogence and entitlement, mixed with regular doses of misinformation, that will ensure that the UK public will "keep calm and carry on" throughout this entire mess if there is no enforced lockdown.
To be honest, with Brexit looming and uncertainty around a possible election, I've spent the last year preparing myself for a recession. Over the last few years I've noticed a few businesses in Bristol contract their operations back to the capital, and salaries for software engineers overall have dropped, so I've largely been preparing for what I thought was the worst-case scenario:
1. A bad Brexit, lots of uncertainty, job losses, etc.
2. Increase in price of essential goods. We have a cupboard full of long-life essentials to last a few weeks, so we definitely won't starve. We're lucky enough to have enough room to store things in bulk, so we don't need to panic buy - and quite frankly I don't see a point in buying a ton of stuff I might not need when there are loads of people that will definitely need it.
3. A quick access fund with enough money to last me and my wife a few months, if needed.
4. In the long-term, increasing my skills in case I need to find a new job in short notice.
Many of these steps will help for Coronavirus, but a concern of ours is what our "worst-case scenario" looks like with a Pandemic AND Brexit.
For daily use, it's fine, but it's awful for local results or anything that requires a map or directions.
I'd say that most software engineers are ultimately powerless to improve software beyond a certain point because doing so would cost more than their employer is willing to spend.
Given enough time, any software engineer could make a reasonably solid product/service that would stand the test of time. Most projects are run on a deficit of either time or resource, and as a result we end up with cut corners.
I love tmux, but I prefer vscode to vim, and I'd rather just keep tmux as the place where I keep all my terminal panes/windows. A lot of people look at my tmux screen and assume that I'm using vim or emacs.
The government has always wanted to control the state broadcaster, and a decade ago people would've fought tooth and nail to keep the BBÇ alive. The decline in quality has been slow, but obvious from all sides, from sport coverage, to factual output, and most notably from the news and political front. Those people that would've fought for the BBC years ago are now those that want its funding removed entirely, and in my opinion it's a master-class in control from the Tories. The left have been played hard by the BBC.
You're absolutely right in that it's not an iPlayer vs Netflix debate. It's an output issue, and that output has been eroded over 5-10 years.
Most European countries have a professional football players union, and their contracts are owned by the club, and not within a monopoly like with American sports. The same goes for referees, coaches, managers, etc.
Again, the amount of money these people are paid can be very high, and while many players don't use the union for things like negotiating pay, they rely on the union for other types of representation.
I still believe that #csharp on freenode is the main reason why I pursued .NET as a career choice. As far as channels go, they were by far the most helpful when starting out, and they never made me feel like an idiot for not knowing something. Most importantly, the channel was alive. There are so many channels out there with hundreds of users online and zero conversation.
The other day I tried to join a Rails IRC channel to ask about Action Mailbox, and when I saw the quiet channel I decided to ask a question and lurk. In 24 hours, the only messages sent were from people looking for help, and then leaving.
What I miss above anything else is helpful people. It's what drew me to IRC, it's what initially drew me to Stack Overflow, and I'd wager that it's what drew many people to HN. IMO, the medium itself isn't anywhere near as important as the people.
> Writing non-trivial software that is correct (for any meaningful definition of correct) is beyond the current capabilities of the human species.
This is the one point I somewhat disagree with, and it leads to one of the things I believe about SE - it's all about perceived risk. Mission-critical systems work well because the risk is well-defined, and it's usually "people will die". In business, managers are happy to break rules when the perceived risk of it biting them in the ass is low. Small budget? Skip the tests, click around on deploy to see if it works, and ship it. Not enough time? Deliver a minimal product and build the rest later when we have the budget.
There are two examples I often use for this - Panera Bread and Pipdig. The former leaked millions of customer records, ignored the press for a few days, and got off with zero consequences. Pipdig did even worse, they did backdoors and DDoS code to attack competitors in their WP themes/plugins, and when called out they lied, hid the evidence, and then went back to selling themes to unsuspecting bloggers with zero consequences.
Both sides likely knew what they were doing was wrong, but the risk of getting caught was minimal, so why not break the rules? It probably saved them a ton of money in the long run.
> Being aligned with teammates on what you're building is more important than building the right thing.
I've no idea why so many of you are up in arms about this. It isn't about bowing to managers, or being a punching bag for others. It's about making concessions as a group to define what you need to build, and the best way of doing it.
> Peak productivity for most software engineers happens closer to 2 hours a day of work than 8 hours.
I'd stretch this to say that "on average". Some days I'll get 30 minutes of stuff done, some days I'll fly through work for a solid 8 hours.
> Thinking about things is a massively valuable and underutilized skill. Most people are trained to not apply this skill.
This is so true it hurts. I'm currently working on a project in an agile structure, and it's going like many agile projects I've worked on in the past. Agile is used as a buzzword for "fuck planning, just write user stories and be done with it", all while team mates bitch and moan about spending too long in "planning" meetings. The second we took the time to actually have these meetings and plan out our backlog, we made key decisions and discoveries about how things work, what edge cases we need to think about, what doesn't work from a user perspective, etc.
> How kind your teammates are has a larger impact on your effectiveness than the programming language you use.
Over the years, I've always believed that empathy is the best skill you can have in software, and that is often paired together with kindness. An empathetic team is often a kind team, and when empathy is a core part of a team it highlights areas where certain stakeholders don't share that trait.
One of the reasons I like BJJ is because it's hard. There is no substitute for time on the mats, in the same way that you cannot become a good software engineer by simply graduating from a top-tier university or by reading every book on the subject.
I don't want to take anything away from your comment, because it's absolutely right. It's just a nice lesson to consider that you can perceive something, and it not being the case.
I switched to DDG a few months ago, and quite frankly I can probably count the number of times I've needed to switch to Google on one hand, and nearly every time it's been related to looking up directions via web search and expecting Google Maps to open up. DDG and Bing are largely good enough already for standard web search. The standard has probably been there for a while, so I would argue that web search is largely down to experience right now - and DDG/Bing have Google beat here.
With that being said, I doubt the average person has even heard of DDG, and probably never uses Bing unless it's set up by default. If there was ever a time to market Bing and DDG as viable Google alternatives to the public, it's now.
Stack Overflow wanted to create a wiki of questions and answers, when in reality all initial users wanted was a dedicated programming Q&A site that would answer their questions. The wiki aspect was a side goal of this.
Today, Stack Overflow has the answers to many questions, and due to the similarity in many questions already out there it is incredibly difficult to get an answer without some level of gatekeeping - whether it's from the users/moderators, or from the system itself trying to stop duplication.
IMO, Stack Overflow has failed at being a wiki, because they refuse to allow duplicates. If I were in charge of Stack Overflow, I would actively encourage duplicates, and build the Q&A system around merging duplicates over having one definitive answer. Sure, maybe the world doesn't need 50 different perspectives on how to get a Mongo collection out of Meteor, but a smart system would turn those individual contributions into one master question, asked by 50 people, with numerous answers that work in certain situations, or specific versions. Until SO consider this approach, I can only see the distrust towards them growing.
Gandi has never explicitly said they never had their own backups, just that they don't offer backups as a service. It's entirely possible that they did have backups, but couldn't recover/restore them.
IMO, the blame lies solely with the CEO, because he is still to retract his statement regarding snapshots not being backups (despite their site selling them as backups to the end-user), and for not accepting the fact that for someone controlling business data that creating backups AND regularly testing them via restores is 100% essential. Culture trickles down, and if the CEO only accepts blame and not the reason for the blame then it's a sign that they won't learn from the problem - and that's the biggest red flag you will ever see in ANY business.
I can only see one way back for them that won't taint their reputation completely. They need to:
* Post a full post-mortem of what happened, how it happened, how they fixed it, and what they're going to do to ensure it never happens again.
* Issue a full apology for the problem. Accept full blame, and accept (including the CEO on Twitter) that Gandi failed to follow accepted industry standards.
* Sit down with the engineers that work at Gandi and hear their grievances. While I doubt that their engineers knew this would happen, I'd be willing to bet that there is at least one person there that had raised the lack of off-site backups and no recovery mechanism. That person needs a promotion, and whatever resources needed to fix Gandi.
* Issue a full refund to those that lost data - not a small discount, as already reported. A discount is a kick in the teeth, whereas a full refund is the start of a real apology for failing the customer. If you go for a meal at a restaurant and find broken glass in your food, the first thing the server will do is give you a full refund, no questions asked, regardless of how expensive your parties order was. Gandi need to take the hit, and live to fight another day.
https://twitter.com/andreaganduglia/status/12151991477012316...
While I appreciate that there are real people behind these companies that are probably having a really rough time right now, the criticism that Gandi are getting as a company is justified - and if Gandi are truly a "no bullshit" company they need to put something out to their customers asap.
My first review was a total waste of time, but I only learned this after my second review. In my first review I was given an "average" rating, because my technical knowledge was high, but some of my projects were late. Most of this was out of my control, and was down to the fact that I refused to work in my free time to make up for shoddy project management. I was also told that I could apply for a mid-level promotion, despite already being mid-level. I played ball regardless, and got my "promotion" and pay rise.
My second review was "outstanding", and I learned that my job title, at least internally, was now senior-level. While I was a better developer after 12 months, the only thing that had changed was that the manager that did my last review had left and my new manager liked me. The only constant was the managing director, and when I questioned what made the company decide I had gone from junior to senior within the space of a year they couldn't give an answer. Despite being given a nicer job title, more responsibility, and more money, I was annoyed at how stupid the process was.
A day earlier, one of our best developers was given a poor review. The manager didn't like him because his project was grossly behind schedule. This was no fault of his own, and he was being punished because he took on a very hard project and was ignored when he requested that we start from scratch due to the issues with the initial build. His review wasn't a reflection of his skill, because skill-wise he was way above everyone else there. His review was down to how liked he was, and whether he played "the game".
I've been a developer for a decade now, and I can't name a single review that was worth my time, because ultimately the outcome has always been obvious. I always try to be positive and to show empathy where possible, and for around 6+ years that approach has always given me solid reviews. The technical side has always been largely irrelevant, even when working with languages/tools that are new to me.
In contrast, Java hasn't changed all that much over the years, and I wonder if an approach of taking the more useful features from C# and ignoring some of the others would be a good approach.
I often wonder how Java developers feel when they look over at C#, and see a language that has exploded in functionality over the last decade, all while Java has mainly optimised the JVM and slowly added features.
It's easy to set up a standard cert through Azure, but if you want to use Let's Encrypt there's a whole dance you have to go through to get there, and for many people it's not worth the time and they'll happily pay a bit of money to make it a few-clicks thing.