As others said, you're on call 24/7, but you can make it easier on yourself. My philosophy:
- Keep everything as simple as it can sensibly be. Obviously this will depend on your application but if you can, you're better off having a simple docker compose stack than a complex k8s cluster (as an example), if you don't really need it. This will make it quicker to fix and get back to your vacation when you need to.
- If you can afford it, pay for cloud hosting and other services (like backup services, Route53 domains with certificates etc). Their SRE efforts are going to be infinitely more capable and available than yours are.
- Use password managers and secure them well. Make it so that you could lose your laptop and be up and running again within 30 minutes of buying a new one.
- Keep your development process consistent and documented. I develop everything inside a Docker container and use the same application/service template for everything. Again, this makes it much faster to troubleshoot and bug fix on another machine if required. I do all my development on an EC2 instance using VSCode Remote SSH + Containers so I can connect to the same environment from any machine. This also means if I need to fix something from somewhere with spotty internet, I only need SSH access and I have access to 10Gb internet etc, so uploading new images and patches etc is not affected by my location.
All these things probably cost me a few thousand dollars a year (tax deductible) but to me they are worth it for the peace of mind and the few times I have had to fix something in a pinch, it has more than paid for itself.
For me it provides enough structure without being a super opinionated framework. It handles route and doc generation based off your models and controllers, but everything else is up to you, which is perfect for me.
You sound similar to me; although perhaps I am a few years further on in my career.
I don't think there's anything inherently wrong with what you're describing. All of my promotions/progressions in my career have come from being willing to go the extra mile and work on/learn things outside of my role. Sometimes this involves working early/late/on weekends. Unless you're a true prodigy or have an exceptional management structure around you that gives significant experimentation/learning during your normal working hours I feel this will always be the way. Either way, it sounds like you have a healthy work/life balance.
I think if you intend to have a long career in your industry (or indeed any industry) at some point you will experience burnout(s) in some form. Accept it for what it is and learn how to handle it. It may take different forms; for me I generally notice that I get distracted a lot (and get frustrated with myself for it). Sometimes the solution is time off; sometimes it's changing companies/roles (especially if you're early in your career it's likely you'll outgrow your current company/team at some point).
Much like exercise, you'll learn the signals your brain/body is giving you over time; they'll be unique to you. You'll probably get it wrong at some points to. The key is acting on those signals early. I write letters to myself about how I'm feeling in those moments, and then revisit them when I'm struggling. It's been extremely useful for remembering how I felt previously and knowing when to step off the gas.
But the short answer is no, I think you are working the right amount.
That sounds like a disappointing attitude from their legal department, but if it's a big company I can see that they don't want to get into those sorts of discussions.
Only you will know the stakes and what you're willing to risk; most judges in the UK are fairly pro-employee and take a dim view of big corporations overreaching their rights (but please don't take this as absolute fact!). If you're not a senior employee and you're doing something like I mentioned in my previous comment (making a game in your spare time), I would personally not worry.
If it's your big idea for your future business and you want to work on it in evenings and weekends, then I would want to be rather more cautious.
As someone else has said, it is quite a standard clause. I have had it on most of my contracts, from memory.
I sought an employment lawyer's advice on this once (as part of a larger question). The scenario is heavily affected by common law. I am guessing (as this is HN) that you are working in technology. The way it was described to me is that if you work in, say, banking, and you make your own banking app on the side, this could be argued to be "in the course of your employment". If you made a video game however (or something else unrelated to the business), the law is likely to side with you.
My best advice is to be transparent with your (potential?) employer (assuming you have nothing to hide) and let them know what you do outside of work hours and see if they will amend your contract suitably. If not, spending £250-300 for an hour of an employment lawyer's time is worth it and is likely to resolve your question.
Not an M1 user, but my journey was Windows only for a long time, then moved to a company that required me to work on Mac (and write software for Linux). I then left and started working for myself and bought an entry level 13 inch MBP (2017 version).
As a general non-development computer user (i.e. using standard office/productivity apps), I really enjoy working within the Apple ecosystem. As others have said, if you work within the ecosystem the way it was intended, it's a very positive experience. If you try and fight it, or treat it as Windows/Linux, your experience will be less positive (similar to if you try and treat Gmail as if it were Outlook). I'm a big user of multiple desktops and gestures.
For development, I actually use VSCode in remote SSH mode (which is absolutely incredible). I have a reserved t3a.xlarge Linux instance running in AWS which I basically do all my development on. It's backed up once a day using AWS Backup. Disclaimer is that I do this through my company so I enjoy a significant tax break on all of this (as a business expense). I can imagine that you might not want to spend your own money to do this.
For me, this means my development environment is hermetically sealed and I don't get any clashes between my user applications and development applications. I also write a lot of x86 specific software in CPP which runs on Linux. Moving between developing on MacOS with Clang (I always had problems with GCC on MacOS) to Linux with GCC was tricky. The eventual move to Arm by Apple would make this even harder.
As a general rule, I try and favour cloud services as much as possible and keep minimal data actually on my machine. I like the idea that I could throw my laptop under a bus and be up and running again very quickly (I basically need a browser, a terminal, and LastPass - any other apps are a bonus). Again, for me the driver is that if I don't have a functioning machine, I can't work and can't earn money. I don't particularly care who has my data (within limits).
Again, I have a specific set of circumstances and use cases but this is my experience.
I think I have to agree with OP here. To me, Teams is more of a failure of product management/design and corporate culture. It was more of a move to add value and subscribers to the Office365 platform than an attempt to build a world beating chat/conferencing platform. So many of its users simply use it because it's included in their Office365 subscription, whereas with Slack, Zoom, etc they'd be paying $8+ a month per user.
While the development effort, skill, and time, that goes into building something like Discord is certainly significant, I feel it's certainly something Microsoft could have built given their resources and technical aptitude. What you can't buy is the inspiration, ideas, and culture that make something like Discord happen.
If it follows the inspiration and ethos of tools like Github and VSCode, I'll be really happy. Given Microsoft's shift in attitude over the past few years, I really hope that's the case.
I've just turned 30 and I used to do a lot of cardio exercise. Over the past few years as other things have taken priority, I cut back. I'd try to do something every day but would often miss days and the workouts would be short and poor quality.
After getting (fortunately mild) COVID I was worried about cardiac issues when I resumed exercise. I decided to buy an Apple Watch to monitor my heart rate and use the ECG functionality.
A few months later, and the big thing I have learned about myself is how well I respond to "gamification" of habits. I now HAVE to close my exercise rings every day, and it's immensely gratifying to track my overall health improving - I did not realise how out of shape I really was. I'm sleeping better, a lot more productive, my mood has increased significantly, and overall I feel much better in myself.
It's also lead to me using other "habit forming" apps (I use "Streaks" - https://apps.apple.com/gb/app/streaks/id963034692) to change things I don't like about myself and generally become a better person.
Overall, I've learned a lot about myself and how I'm motivated.
These are typically junior bankers working on M&A/IPO deals. The ones working on the desks/trading will have much more moderate 45-60 hour weeks with little/no weekend work.
The salaries sound high - but bearing in mind that you will need to live within very close proximity to the financial centre of the city (London City, Canary Wharf, Wall Street etc) you do not end up with much spending money at the end of the month.
You may well have a comparable salary as a relatively junior FAANG developer with a lot less effort.
I use VSCode for 95 percent of my development and I couldn’t be happier. I use IntelliJ for the other 5 percent (which is just Groovy scripting for a particular product).
For the way I work, it fits very well.
- I write nearly exclusively a mixture of CPP and Typescript. Particularly in projects which mix these languages (and for Typescript as a whole), I have not found anything better.
- I use the remote SSH feature heavily. I have a bottom of the range MacBook Pro but I use a reserved t3a.xlarge instance in AWS for all my development. It’s blazingly fast and I know that if my laptop was to explode I could be working again in 5 minutes (which is important to me being self employed)
- Any software that I ship to clients I ship with a container configuration. Even if they do not use VSCode themselves, if they have a problem they can spin up my exact development environment and run tests, step through debug etc.
- GitHub settings sync seems quite useful although I have not needed to use it yet.
However, VSCode weak points:
— Terraform support is awful. Hashicorp seem to have completely broken the related plugins since they took over maintenance of them.
- The CPP debugging experience is not as rich as full Visual Studio (which is fair enough). I occasionally miss things like the memory window.
- Keep everything as simple as it can sensibly be. Obviously this will depend on your application but if you can, you're better off having a simple docker compose stack than a complex k8s cluster (as an example), if you don't really need it. This will make it quicker to fix and get back to your vacation when you need to.
- If you can afford it, pay for cloud hosting and other services (like backup services, Route53 domains with certificates etc). Their SRE efforts are going to be infinitely more capable and available than yours are.
- Use password managers and secure them well. Make it so that you could lose your laptop and be up and running again within 30 minutes of buying a new one.
- Keep your development process consistent and documented. I develop everything inside a Docker container and use the same application/service template for everything. Again, this makes it much faster to troubleshoot and bug fix on another machine if required. I do all my development on an EC2 instance using VSCode Remote SSH + Containers so I can connect to the same environment from any machine. This also means if I need to fix something from somewhere with spotty internet, I only need SSH access and I have access to 10Gb internet etc, so uploading new images and patches etc is not affected by my location.
All these things probably cost me a few thousand dollars a year (tax deductible) but to me they are worth it for the peace of mind and the few times I have had to fix something in a pinch, it has more than paid for itself.