Short version: after Covid, we realized we didn’t care about “stuff” and we wanted “experiences”.
After Covid lifted, even though it didn’t affect anyone fatally in my immediate or extended circle fatally. It did make me change my perspective and priorities.
In June 2020, my youngest (step)son graduated from high school and decided to work and not go to college. I made it clear to him and his mom since he was 9 (when we first got engaged) that I would find a way for him to college. For all intents and purposes they were my “sons”. I had planned to cash flow his college expenses. But after asking him repeatedly, he assured us he didn’t want to go.
The same month at 46, I fell into a fully remote role at $BigTech and assigned to a virtual office that meant a significant pay increase.
In 2022 my wife and I both decided we wanted to move to Orlando for a change of pace and decent weather all year.
We found what we thought was a nice condo and learned it was a unit in a condotel. An arrangement where we own the condo unit. But could only stay there 6 months out of the year. The rest of the year it was rented out like a room in a hotel and we got half the proceeds.
My wife then had the brilliant idea of us “nomadding” for the other 6 months (actually 7 from March through October).
We sold our cars and now we take Uber everywhere when we are traveling and use SixT and do monthly rentals when we are home. We fly from city to city in the US and stay in midrange hotels.
Everything we physically own that’s not real estate fits in four suitcases. It would be three. But I have one packed with my “business clothes” for the occasional corporate trip
My wife is deep in the fitness industry and before we go to a new city, she reaches out to instructors in that area to take and guest teach classes.
When we are “home” we pay one fee that covers all utilities, internet, access to a gym, a lake, and multiple large pools, three restaurants and a convenience store onsite.
We threw out everything and downsized from a 3200 square foot house in the burbs of Atlanta to a 1300 square foot condo that was the same price in 2022 that our house was in 2016. We rent our house out to our son and two friends
ChatGPT is already “smarter”. I can ask ChatGPT for the answer to my very specific problem and it can answer it snd give me code.
For instance, I needed to write a simple script that gave me all of the roles containing a list of policies where you can specify multiple policies from the command line using “-p” multiple times.
If I look it up on Google, I get this response which is close enough
Of course I could write the entire thing myself just by looking at the boto 3 docs.
But instead I told ChatGPT
“ Write a Python script that returns a comma separated list of arns of all AWS roles that contain policies I specify with the “-p” parameter using argparse”
Then I told it, “that won’t work with more than 50 roles”. It then corrected the script and used a paginator.
Yes, I had to know enough to recognize the bug. But I count have written or modified a Python script that fast and I write boto3 based Python scripts all of the time.
I definitely could have told it that the first version wasn’t returning all of the results and it would have corrected itself like it did and added a paginator
When I was younger at my second job between 25-34, we all had more money than sense (not anywhere near what we can make today) and it was a combination of men and women. We were all single, hung out at each others house, went to strip clubs together (yes the women too) went on overnight trips at cabins together. But as we got older, and settle down, we became more of “coworkers”. I keep in touch with a couple of them once or twice a year.
At my third job between 2008-2012, I keep in touch with one guy that followed me across two more jobs until 2015. We try to meet along with one of my coworkers from my third job at least once per quarter.
I also met my second and current wife at my third job. But I can’t honestly say whether I would have tried dating her if I hadn’t known that the company we worked at was about to go under anyway.
I had a Slack group where I kept in touch with 5 of my coworkers from my 5th job between 2014-2016. But that died off.
When I go back to my home state, I am going to try to connect with my former CTO and a couple of other people from my 7th job (2018-2020). My former CTO reaches out to me every now and then and we talk. I owe him, he gave me a chance to lead their “cloud native initiatives” and hired me even though I had never opened the AWS console at the time. But he thought “I had some good ideas” even though he knew I had just watched a video and went through a certification training.
Now that I work remotely at AWS in the consulting department, there isn’t anyone I consider a “friend”, but one person who I worked with from the time they were an intern when I was their mentor.
The “team” I work with changes dynamically based on the project.
I stayed at one company too long from the time I was 25 until I was 34. By the time I left, I was very much an “expert beginner” - I was doing old school VB6 in 2008 (discontinued in 2001) and C++/MFC/COM programming (ask your kids). But at 34, I had developed soft skills and knew how to talk to business people.
From 2008 - 2018, I both modernized my enterprise dev skills and learned how to solve business problems. I also got lucky and always seemed to get connected to managers, directors and CTOs who were new to their company and needed to solve business problems. Most of my “interviews” were casual semi-technical but mostly about process/development improvements even as I stayed hands on.
By 2016, I belatedly discovered “the cloud” when the company I worked for as dev lead wanted to “move to the cloud” and they hired “consultants” who were really just a bunch of old school Net ops folks who knew how to do “lift and shifts” duplicating and on prem architecture to AWS and of course costing more. As I learned more about AWS, I knew I could bring a unique set of talents as someone who knew both the infrastructure side and the development.
I found a job at another company where the then new CTO wanted to pivot the company to being “cloud native” and sell access to micro services to large health care companies.
I talked through my proposals after listening to him and I led the effort over the next two years.
Then at 46 a recruiter from Amazon Retail reached out to me about an SDE position. I was not interested in being a software engineer at any large company, not interested in relocating “after Covid was over”, nor was I interested in doing the leetCode/DS&A monkey dance.
She suggested I apply for a role in cloud consulting “application modernization” (really just software development + devops using cloud services) in Professional Services that was fully remote. I had the tech skills, the project leadership experience and the customer facing experience from working at small companies. My interview was all behavioral besides a little AWS techno trivia as part of the initial screening.
So in reality, I just fell into a specialty where companies are more interested in my ability to solve business problems than reversing a binary tree on the whiteboard.
You should always outsource any part of your business that is not part of your core competency and doesn’t give you a competitive advantage - ie “the undifferentiated heavy lifting”.
I worked at companies as a software developer from 1996 - 2012 that had to manage their own infrastructure. But today, the only company that I worked for back then that would be managing their own infrastructure today is the one that has mainframes and hardware that handle the backends for lottery systems across the US.
By 2012, there was a slow shift to the cloud.
I first was exposed to how large enterprises worked in 2017. I was hired to lead two green field implementations. But at the last minute they decided to “move to the cloud” neither they nor I knew anything about the cloud. They hired consultants and a Managed Service Provider. Of course the internal IT department was vigilantly defending their turf and the “consultants” were old school Netops folks who only knew how to “lift and shift” and duplicate an on prem infrastructure and all of the red tape to the cloud and of course it was more expensive than just using a colo.
I spent the next six months after the decision was made studying AWS and getting a certification not because I value certifications (I don’t). But it gave me a guided learning path to know what I didn’t know. It did open my eyes to what I wanted to do - work with companies - specifically developers and operations to show them how to actually take advantage of cloud and not just do lift and shifts - ie true “Devops”.
I left that company and went to a small startup for two years where I learned everything I know about “cloud application modernization” and then ended up in Professional Services at AWS.
Until I started working with large enterprises and government organizations from the consulting side, I never appreciated the concerns of large enterprises and how they aren’t in the “tech” business and it does make sense to outsource that knowledge - not to ProServe we don’t do that type of work - to external partners.
As far as VMWare, as silly as it sounds on the surface. Companies actually use VMWare to manage hybrid infrastructure on the cloud and on prem as a “single pane of glass”.
Because VC funding is by its nature a Ponzi scheme hoping they can throw enough money at a business until it looks like it might be a viable profitable business to the “bigger fool” in the future (“$x is a gazillion dollar market. If we just capture 1% then we can be worth billions”). That “fool” can either be some other tech company that acquires it and let’s it whither (and the founders post a message about “our amazing journey”) or the public markets.
The retail investors don’t have any desire when the stock market is tanking to buy stocks in money losing former unicorns. The investment bankers who organize the IPO also won’t see the initial “pop” that allows them to make a quick profit.
Of course the employees who sacrificed real compensation in cash or RSUs in a public company in lieu of statistically worthless “equity” come out on the short end as the companies repeatedly delay an IPO waiting for the “environment to improve”.
All this to say, if you want to be a founder, go for it. But unless the startup you are thinking about has enough funding to compensate you as an employee at market value in cash, skip it.
There's a free short course on Udemy somewhere from Peter Barker who is a professional voice over artist. That's worth looking up - there's a section that covers correcting and improving a lot of common speech problems, from stuttering, talking too fast, mumbling, and how to improve the resonance of your voice. Might be worth a look.
Disclaimer: I work at AWS in Professional Services take my bias as you will…
I’ve been developing professionally for over 25 years and 10 years before that as a hobby. My goal has always been to solve business problems. Infrastructure is just “undifferentiated heavy lifting” to me. At my second job over 20 years ago, we sold hosted storage because we had to and we had to maintain our own SAN, infrastructure, databases, 20 or so application servers, DB servers, etc. That wasn’t part of our core business. Today, a company would never do that themselves.
I went from belatedly opening the AWS console in 2018 for the first time, to rearchitecting my previous 60 person company’s entire architecture to be “cloud native” and “serverless” so we could effortlessly scale as we moved into selling access to our microservices to large health care systems. Being able to scale came in handy in 2020 when there was a little worldwide pandemic. They were acquired 6 months after I left for 10x revenue. They weren’t concerned about “cloud lock-in”. My CTO who championed the charge to go all in on AWS - and is still very up to date technically - is in his 50s.
Two years later, I got a job at AWS. There is nothing magical about the concepts of learning AWS. Most of the services are just hosted versions of well known open source tools and the rest are conceptually the same as I have done for over 25 years. I didn’t get my job because of the vast knowledge I had about AWS from 2 years working at a 60 person startup (please note sarcasm). I got it because I knew how to lead development and deployments and do “application modernization”.
I spent half my loops discussing how I had used Hashicorps Nomad, Consul and Mongo to create a master data model at a company that didn’t use AWS at all.
There are plenty of people who are hired in my department who have no prior AWS knowledge. But are subject matter experts in their domains.
I’m 100% sure that if I applied for a similar role as mine with MS/Azure or Google/GCP they wouldn’t be deterred from hiring me even though I know nothing about either.
If using Alpine, looks like docker-registry is the needed package and /usr/bin/docker-registry serve /etc/docker-registry/config.yml is the command line. Next to last link has information on the config file.
The Department is not aware, however, of any court that has found that a defendant possessed monopoly power when its market share was less than fifty percent.(30) Thus, as a practical matter, a market share of greater than fifty percent has been necessary for courts to find the existence of monopoly power.(31)
The porting strategy depends on what you are trying to accomplish. If all you want to do is not have to install a desktop app on each PC, just use something like Citrix.
But I had to do something similar with an ancient PowerBuilder app.
1. write a COM wrapper over the entire app using something like Active Template Library.
2. Then you write a C# REST API on top of it that interacts with legacy app over COM.
3. Write a web interface that calls your REST API.
4. Write integration tests that call you’re API and make sure you get the expected results.
5. Record request/results from users using your web interface from step 3.
6. Slowly start porting the business logic from the MFC app to a native .Net app
7. While you are doing #6, run your test from #4 and run all of the requests from #5 and compare them to your new code. If you notice some use cases that you missed, add them to your test suite.
In 2008, I was 35 and had let my career, skills and salary stagnate. I had been a company for almost a decade mostly writing a combination of C, C++, Perl, and VB6 programs for backend processes. I finally woke up, did a career reset and pivoted toward “enterprise development”.
Fast forward to 2016, I was married, with a step son who was a freshman, tired of working on yet another software as a service CRUD app at my 3rd job since 2008 as an IC, and jumped on an opportunity to be a dev lead at a medium size non software company.
I thought the next step was to either stay a hands on dev lead/ “architect” and just muddle along for the next 20 years, go into management, or go the r/cscareerquestions route and “learn leetCode and work for a FAANG” and move to the west coast.
Neither sounded appealing. Then management decided to “move to the cloud”. I didn’t know anything about AWS at the time and saw how much the “consultants” were making and that opened my eyes. If these old school netops folks could pass one certification, click around in the console and make. $200K+ a year, imagine what I could do if I knew AWS from the infrastructure and dev ops side and I knew how to develop and architect using all of the AWS fiddly bits.
It took three years and teo job changes in between, but I really like consulting. It’s the perfect combination of development, high level architecture, customer engagement and you never know what you will be doing in three months - or in what language.
These past three months have been amazingly good for me.
1. I was able to get out of the hellhole of my loud noisy open office that was a mix of developers, QA, project managers and customer facing pre-sales and post sales implementation managers.
2. We had a pay cut that caused me to run a Hail Mary and apply for a fully remote job at $BigTech in the cloud consulting division. I now don’t have to worry about an open office for a few years.
3. My relationship with my spouse has gotten even closer. We’ve found a balance between time together and our alone time. Luckily, we have enough space in our house to go to our own corners.
4. My wife was a part time fitness instructor before Covid and had a full time role in the local school system. During Covid, she turned her study into studio and she is now teaching classes online making pretty decent pocket money.
5. Because of Covid, I really didn’t want her back working in public again. Now with my new job we can easily afford for her to stop working and with her side business she will still keep herself busy.
6. Completely separate: we already converted another bedroom to a gym, our workouts didn’t miss a beat.
Let me tell you a story about the risk of not jumping ship as opportunities become available.....
I started working in 1996. I got a job as a computer operator based on an internship I did the year before. It was my gateway to get into the Big City from the small town where I graduated from. I developed a system by myself as the only programmer that they used to create a separate department that double the size of the company.
I left there after three years because there was nothing left to do and went to another company. I got a $33K bump between salary + bonus which was a lot for me back then.
Over the next 8 years as my salary went up by a paltry 3% a year and bonuses were cut, I made a grand total of $4000 more in 2008 than I made in 2000. On top of that, I became an “expert beginner”.
I soft skilled my way into another job in 2008, that paid only $7K more, but I knew I would be able to take advantage of the job to update my resume and hopefully survive through the recession.
I muddled my way through the recession and when the company folded, I got another job relatively quickly in 2012 as a for what was all intents and purposes a mid level enterprise developer making about $10K more. But again, I was interested in building my resume.
2013 - $2000 raise
2014 - $1500 raise
Of course by now I learned my lesson from my experience between 2000-2008 and I had learned how to do resume driven development and build a network.
I changed jobs again and this time got about a $25K raise. I was now at the bottom of the (relative narrow) range of what a senior developer can make.
2016 - no raise
Again, not being stupid enough to stick around, I left and had a choice between working at a non software company as a dev lead working on two greenfield projects - perfect resume building opportunity - or working as just another SASS CRUD developer. I chose the team lead position - with another $15K pay bump.
A year and a half in, the company was bought out by private equity and they said that they “don’t want to be a software company.”
Changed jobs again, in 2018, vertical move in pay (only about $5K), but by now, I had been exposed to “cloud consultants” and knew where the money was locally. I took a job where the newly minted CTO wanted to make the company “cloud native” and integrate more tightly with AWS. Once again, a perfect opportunity to gain experience and build my resume. I leveraged my theoretically knowledge about AWS, my experience as a team lead, got the job and got experience with all of the AWS fiddly bits. Over the next two review cycles (2019,2020), they kept me at market rates as I learned more and I was quite happy.
Then Covid hit - with an across the board pay cut that wiped out my salary gains since getting the job because it was a “shared sacrifice”.
A recruiter from BigTech emailed me about a fully remote role. Why wouldn’t I take a stab at it? Making “FAANG” money, fully remote, and in a low cost of living area.
In none of the interviews, did my short tenure at jobs since 2008 come up and they made me an offer shortly after the interview.
Right. Once you hit a certain feature set (certain clock speed, core count, hardware shaders, minimum RAM, RAM speed, storage speed and capacity) everything after that becomes much smaller improvements. You won't see doublings of the numbers anymore, instead you'll see much smaller percentage increases that, while important in the long run, aren't going to impact users significantly.
So you initially got some major bumps (0%, 50%, 33%, 50%) then it starts slowing down until the jump from 6S to 7 (about 33% again), then it's just creeping up each year. Core count makes a major jump from 7 to 8. But after the 8 there really is no major improvement in the CPU itself (with respect to these raw numbers) so most users won't see a major difference between them on that front.
(NB: I took these numbers from Wikipedia, I'm assuming I read them correctly as I just threw this together in a couple of minutes. There's probably a mistake or two, and I skipped some versions like 5C, XR, and 11.)
There seems to be a misconception that you can only run 10.5 and later in a VM, but you can actually run OSX 10.4 Tiger fairly easily. This is the non server version. [1]
I was able to import almost everything from my old PPC computers. It's not completely virtualized because is using Rosetta and can not use Classic OS apps. But it is still extremely useful, and way faster than my PPC computers ever were.
My CTO often asks me to implement a feature to do X and make it “generic enough to handle future use cases”. My answer is always the same - either give me at least three use cases now or I am going to make it work with this one use case. If we have another client that needs the feature in the future then we will revisit it.
Of course, there are some features that we know in advance based on the industry how we can genericize it.
GateKeeper is becoming onerous for Mac developers who maintain free applications, who don't want to pay a yearly fee to Apple. Telling users a program is damaged because this fee is not paid and moving it into the trash is now the default.
This is a free prefpane that can hide the cursor anywhere via hotkey or idle timer. It's fairly popular. I've written and maintained it since 2007. Try running it in Catalina. http://doomlaser.com/cursorcerer
> ... just like how most good candidates aren't on offer.
I know this is a minor statement (and not really important to the advice otherwise), but I liked this discussion that there can be various reasons why good candidates would struggle to find a job:
https://danluu.com/hiring-lemons/
Back around 2008, he would come to my house and love watching movies on my TV connected to my Mac Mini running Front Row. The original Apple remote was a thing of simplicity and beauty.
I moved on to a Roku box running Plex and he still liked it, but it was more complicated, easier to misclick something and he would struggle to get back. He eventually got the hang of it. But by then, his hearing was declining and he kept having to juggle multiple remotes to turn the sound up and down.
Fast forward to 2017, we had a Roku TV with one remote to control everything and it made life a little easier. He could navigate the different apps and find enough to keep him entertained.
So I bought him a 49 inch TCL Roku TV ($350) and then the problems started.
- I have gigabit Ethernet up and down, reliable WiFi that never drops below 200Mbps and wired Ethernet throughout the house - my internet connection is reliable. They live in a small town with 50Mbps cable internet that’s not reliable. There is nothing so frustrating as having your video cut out in the middle and having buffering when you’ve been use to cable for the last 40 years.
- Data caps - we don’t have them, he does. He never had to worry about data caps when watching video.
- signing in. For some reason, the video on demand channels that he can get via his cable login keeps making him re authorize. That means he has to go to a computer or his phone to activate the channel - he’s not going to do that. I ended up just deleting all of those channels. He never had to do that with his cable.
- searching. The search interface is alien to a cable user.
- I signed him in to my Amazon Prime account but he’s afraid to use it because he doesn’t want to accidentally buy a movie since Amazon mixes in free with Prime, for rent and movies you have to purchase.
- if he logs into Netflix with someone else’s profile he sees a different set of movies. Once he watches all of the suggested movies on his profile, he thinks that’s all there is. He doesn’t search for other movies.
If he does want to switch to cable, he has to switch to another connection (even though it’s clearly labeled as cable) and use another remote. We use DirecTVNow for cable, it’s just another app.
Edit:
Did I mention that my Plex server that I signed him into doesn’t have 5 9s uptime. If it isn’t running when he wants to watch a movie, he will avoid it for weeks. No matter how often I describe the difference between Plex - that runs on my computer - and Netflix.
I wouldn’t say they explicitly “lied” that would imply that they were all being intentionally dishonest. I think many of them thought they knew more than they did. I see this not only from people who are just starting out, but also from people working at BigCo.
Putting my developer hat on. I interview a “senior developer”
They say on their resume that they have “used AWS”. Come to find out that all they have done was remoted into some EC2 instances.
They say they have used a certain CI/CD platform. I ask them have they set a pipeline up from scratch. They say no - someone else did it, we are expected to “own the whole stack” including setting up our own pipeline for our microservice. Not a deal breaker. That can be learned in a day. We have plenty of samples they can copy from existing pipelines for almost every scenario.
They put down databases they are experienced with. I give them a scenario and I ask them to model a table schema with it. They can’t do it. They are usually handed a table schema by the “database developers” [sic].
So finally I start working my way up to the actual development and I realize that because they were just a cog in the wheel at BigCorp, they never got a chance to design or write anything from scratch. They never had the joy of creating a brand new repo and doing a git commit with the message “initial commit”. Not horrible, but at a small company, you don’t get any handholding. You’re expected to work directly with the semi-technical product owner or even the end user if you’re senior enough. You are the Directly Responsible Individual.
So now, it’s demo day. The “senior developer” is demoing his code to management who is asking him questions and he melts under pressure or he gets defensible about “his code” and interrupts the CxO.
I want to know his temperament before I hire him.
I know people are going to say it’s not “fair” to expect that from a developer. I’ve had to learn every level of the stack. At some point you can’t call yourself a “senior developer” if you don’t know anything about the underlying infrastructure for your code or how to deploy it.
The next pushback I get is that J don’t remember what’s its like being a junior developer. Six months into my first job I was told to write a distributed data entry system that was going to be used to create a new department in the company. I had to sink or swim by myself - this was over two decades ago.
George Hotz once mentioned in an [1] interview; Managing people just another abstraction in making software. You can think of people kind of like an IDE that you can use to create things... I thought it was an interesting way to view management.
Short version: after Covid, we realized we didn’t care about “stuff” and we wanted “experiences”.
After Covid lifted, even though it didn’t affect anyone fatally in my immediate or extended circle fatally. It did make me change my perspective and priorities.
In June 2020, my youngest (step)son graduated from high school and decided to work and not go to college. I made it clear to him and his mom since he was 9 (when we first got engaged) that I would find a way for him to college. For all intents and purposes they were my “sons”. I had planned to cash flow his college expenses. But after asking him repeatedly, he assured us he didn’t want to go.
The same month at 46, I fell into a fully remote role at $BigTech and assigned to a virtual office that meant a significant pay increase.
In 2022 my wife and I both decided we wanted to move to Orlando for a change of pace and decent weather all year.
We found what we thought was a nice condo and learned it was a unit in a condotel. An arrangement where we own the condo unit. But could only stay there 6 months out of the year. The rest of the year it was rented out like a room in a hotel and we got half the proceeds.
My wife then had the brilliant idea of us “nomadding” for the other 6 months (actually 7 from March through October).
We sold our cars and now we take Uber everywhere when we are traveling and use SixT and do monthly rentals when we are home. We fly from city to city in the US and stay in midrange hotels.
Everything we physically own that’s not real estate fits in four suitcases. It would be three. But I have one packed with my “business clothes” for the occasional corporate trip
My wife is deep in the fitness industry and before we go to a new city, she reaches out to instructors in that area to take and guest teach classes.
When we are “home” we pay one fee that covers all utilities, internet, access to a gym, a lake, and multiple large pools, three restaurants and a convenience store onsite.
We threw out everything and downsized from a 3200 square foot house in the burbs of Atlanta to a 1300 square foot condo that was the same price in 2022 that our house was in 2016. We rent our house out to our son and two friends