In 2014, I built some tools to make it easier to automate AWS and Google Cloud deployments. I did the following:
- Applied to devops jobs on Angelfish, target companies with 10-20 employees
- Passed their phone screen, learned about the particular automation problems they had
- Offered them a SaaS subscription with a promise to set up a working solution in my product for their problems.
- Explained that subscribing to my service would be much cheaper than hiring me.
Most declined, a few were offended at my bait and switch, but 3 of them became my early customers and used my service for years, eventually taking over and maintaining their own solutions.
I think identifying the right customers- other startups with VC cash that were too small to have too much red tape and had big problems without tools and staff- made this work in the early days. It was a blast working on this stuff back then.
Really cool. Several jobs ago, I used cffi to create bindings to a library that controlled a camera's pan/tilt/zoom motors. Those were used to implement a test suite that validates the cameras in the manufacturing facility before shipping. The embedded developers also found being able to use the cffi bindings in the REPL really useful when prototyping changes. Python is a really useful tool for these kinds of interfaces.
There's been dozens of HN threads about this article, and it taught me much about the mechanics of making something that grows out of essentially nothing http://paulgraham.com/ds.html
I think you've perfectly characterized why I love listening to Dan Carlin. He's masterful at personalizing history (even ancient history) and challenging you to ponder how you would act under the same circumstances.
I think this form of thinking, when approached with an open mind and a little imagination, is a wonderful antidote to the knee-jerk group-think that dominates today's discourse.
Go comes with thread sanitizer, which you can enable with go test -race ... If your unit test exercises a race condition, this will blow up your test with stack traces of the data race.
It sounds a bit like Coyote, which also looks very useful for C# applications.
Neat to learn about thread sanitizer. It sounds similar to another tool from Microsoft Research called Torch (https://www.microsoft.com/en-us/research/project/torch/) which automatically instruments binaries to detect data races. Coyote is similar in some ways but different in others. Coyote serializes the execution of the entire program (running one task at a time), exploring one set of interleavings and then rewinding, and then exploring another set of interleavings, hoping to hit hard-to-find safety and liveness bugs. In addition to finding concurrency bugs in one isolated process, we use it to find bugs in our distributed system by effectively running our entire distributed system in one process and having Coyote explore the various states our system can be in. It sounded mind-boggingly cool when I first came across this way of testing distributed systems through Foundation DB (https://www.youtube.com/watch?v=4fFDFbi3toc); we're emulating this kind of testing in our distributed system through Coyote. And unlike Foundation DB which had to develop their own variant of C++ to be able to do this kind of testing (kudos to them for doing it), Coyote allows us to do it on regular C# programs written using async/await asynchrony and benefit from decades of Microsoft Research in exploring large state spaces effectively.
I grew up in South Florida and when I visit my parents, they are horrified when I insist on walking the quarter mile to the Starbucks in the corner. It's definitely a part of the culture here.
You're lucky you have retail that close. Many US residential neighborhoods are planned in such a way that you can't buy a can of coke within a mile of where people sleep.
Another way to look at it is that you'll be a new CS graduate with some good practical experience under your belt (many CS graduates can't say the same). I guess you would be in a similar category as other peers that do internships, though IMHO if your company does as well as you expect it to, your experience is much stronger. Maybe you don't even need the job after all?
That being said, focus on getting your degree. That piece of paper has a good deal of intrinsic value.
At the beginning of a startup, there are no "big tech decisions" per se, only a whittling down of your problem space and target market. If that can be done with zero technology, all the better.
What gets to be called a "startup" is highly debatable, as some billion-dollar companies have still been called "startups". However, you will only get to be faux-CTO if you get in really early, or start one yourself. Best of luck!
Another early assumption about the internet and computers in general is that users were going to exert large amounts of control over the software and systems they use. This assumption has thus far been apparently invalidated, as people by far prefer to be mere consumers of software that are designed to make its designers money. Even OSS is largely driven by companies who need to run monetized infrastructure, though perhaps you don't pay for it directly.
Given that users are generally not interested in exerting a high level of sophisticated control over software they use, how then is the concept of a user agent AI/filter any different at a fundamental level? It probably won't be created and maintained as a public benefit in any meaningful way, and users will not be programming and tuning the AI as needed to deliver the needed accuracy. I don't think AI has yet reached a level of sophistication where content as broad a range as what's found on the internet (or even just Facebook) can be curated to engage the human intellect beyond measuring addictive engagement, without significant user intervention.
Hopefully I'm wrong, as I do wish I could engage with something like Facebook without having to deal with ads or with content curated to get my blood boiling. Sometimes I do wonder how much it is Facebook vs. human tendency under the guise of an online persona, as both are clearly involved here.