>I really think that all of this DeFi stuff is playing with fire. If these tools scale large enough, it's easy to imagine breaking the right link in the system at the right time to cause catastrophic failures.
Substitute "software" for DeFi. Every single day we're playing with fire through low quality code and bad security practices. DeFi just exposes the real financial costs and consequences of terrible software development. How many countless dollars and hours and data have been lost through bad code?
Go simpler and go cheaper. Why not do real-time processing for all of 2 minutes. That's about the length of an elevator pitch and shouldn't cost so much.
Or limit the number of beta users there can be.
Or work some freelance jobs for a few months and save up the cash and during that time pitch to investors. As you progressively have more cash you can hire an engineer to part-time hack on cool demos or to give you the opportunity to increase the number of beta users.
The best part is the "simplest thing possible". They actually didn't do that at all. I hate to dog-pile on this team, but damn, 100k spend in a month isn't simple at all!
Ha, I'm re-reading The Lean Startup and this paragraph seems like a contradiction in terms of what an MVP is:
We decided to build an MVP based on our best estimates and test the market that way. The goal was to launch something in 6 months and test if the demand was there; and if it wasn’t, we’d only wasted 6 months. We chose to optimize for getting to market quickly rather than worrying about how much it would cost.
Contrast it to what the Lean Startup principles say:
The Lean Startup methodology has as a premise that every startup is a grand experiment that attempts to answer a question. The question is not "Can this product be built?" Instead, the questions are "Should this product be built?" and "Can we build a sustainable business around this set of products and services?"
So instead of doing what a lean startup would do, they did the opposite. Let's see what they could have done instead...
"How many customers will actually use it?"
- Lean startup: create a signup page with a mock up or landing page and a few buttons that work and every potential behind a "coming soon" screen
- Their approach: actually build the whole product and then launch it and see who's interested
"What is it all going to cost?"
- Lean startup: As little as possible to discover the insights we need to iterate and evolve the product
- Their approach: well we already paid the salary for our engineers and we've given them six months, so what's half the salary+benefits of X number of engineers?
"What should we charge for it? Is it going to cover the infrastructure costs?"
- Lean startup: experiment on costing and pricing as you go along
- Their approach: give away the product for a 30-day trial at a high cost to ourselves! Unbelievably expensive customer acquisition costs.
And now I guess I've truly learned why product managers exist. Someone let this crazy experiment run for six months. You're saying in six months you couldn't spend one month finding the simplest/cheapest ways to test these various hypothesis?
$100k customer acquisition spend is insane.
The whole post is just a lesson in contradicting what an MVP minimal viable product is.
Even when we were building v1, the team knew it wasn’t the ideal architecture. Before v1 even launched, there were plenty of conversations in our Slack about whether we should port Octopus to Linux and run it on Kubernetes, or see if we could run it on Windows within Kubernetes or use Nomad by Hashicorp?
Lol, engineers always want something fun to work on and sometimes it turns out to be a great idea. But they porting software for an MVP? Why not evolve the new product so that it generates more revenue or reduce the costs in some other way instead of talking about porting and rewriting?
If you're at an established company that has money to burn, go ahead, read the whole blog series. If you're trying to create a new startup, whether it's a product or service, avoid this article or read it as a warning. When you've spent as much as a decent engineer costs in one month...something's gone off the rails.
The conclusion is sound, the assignments reinforce learning through multiple and repeated usage of the various skills needed to complete them. The lectures and notes and readings are there to give a foundation and to be a reference to some extent. However, it's difficult to say that the only useful part of these courses are the assignments...
>The best way to learn is to do your own experiments. Once understood, that understanding lasts a lifetime. Facts can change, but the governing rules, if deciphered, won’t.
I recommend to all software developers that they join the ACM (Association of Computing Machinery). This gives you access to computer science papers which are the foundations and the governing rules. There's also access to Safari Learning which gives you access to the latest books and video courses:
It costs a few hundred bucks a year and I've learned more in reading random CS papers and having access to great books and video courses than paying for many courses.
>And when you start contracting as an independent , you will make a whole lot more.
This is true and more true if you're freelancing for US dollars. That sweet sweet conversion rate from USD to CAD works very well. But again this is why Europe is a better choice, Euros to USD or Euros to CAD whenever you want to travel is also a nice conversion rate.
I have slowly been transitioning to full remote work and I have been contracting for a while already (I am in Canada). I think I have a good opportunity in the coming months to transition to a remote engagement with a US company. Any insight with the best approach to do that? I am aware of the different freelancing websites but I'm wondering if there is strategies that can accelerate the process. In my particular case, I normally do six to one year contracts (with renewals and an engagement usually lasting for a couple of years) so would be looking for something similar. This would be for senior development role.
Salary ranges are still the same since a decade ago even though cost of living has gone up.
My first job as a full-time dev was $65k rent was $1500 or thereabouts, I'm sure there are first-time devs making $65k now. Even though rent is now $2000 at least for the same place I was living at.
After tax income is $49,190 (https://simpletax.ca/calculator) and rent went from $18,000 to $24,000. As a percentage of after-tax income that's going from 36.6% to 48.8%. The rent would have made me poorer if I hadn't changed jobs!
Yeah this is the way to go. European internet/cellphone plans are also cheaper than in Canada. So for freelancing or working at a company, it's worthwhile. Plus you can travel more easily around Europe when you're within an EU country.
- Canadians are happy to accept whatever wages they are given (the "smart" Canadians move to the US to get higher salaries)
- immigrants to Canada are happy to accept whatever wages they are given
With those two factors, you're not going to make a lot of money in Toronto unless you're working a US company (Google, Amazon, and so on) and even then it'll be less than US counter-parts.
Berlin is a better choice because you can easily travel around Europe and there are more markets. It's also a faster flight back to India if you're visiting family.
>However, once a Canadian citizen, there is a possiblity to get transferred to a Silicon Valley arm of a US company from Canada (using the TN visa) and hence receive a higher compensation.
This is what I'm talking about. The employer will dangle this prize in front of you for as long as they can and will continue to hold off on promotions and keep your salary the same for as long as possible. This is why Canadian salaries remain low, because there will be another sucker that comes along and will also be offered the same "we'll give you a promotion in a few years!" or "we'll transfer you to the US soon! very very soon!" line and they'll accept it.
>How would you compare between the two countries for building a career in tech for an immigrant?
Is immigration required? Because if not, all you need is a good internet connection, a good computer, and knowledge lots and lots of knowledge to distinguish your skills from others and get the higher freelancing rates.
This is changing. I work with Canadian colleagues at a remote-friendly company, and they make the same salary as the folks in NYC and SV, taking conversion into account (most make >200k CD). I also know that Shopify pays very well. Canadian tech is catching up in compensation terms, and the dominoes are going to start following as demand picks up.
Would you care to share which companies you know that pay equal salaries? I'm close to 200k CAD in total comp working in Vancouver but that's still around 40% less of what colleagues in the States are making.
My question for you though is, is it much less? Americans have to save way more money for retirement than Canadians. I bet your fully loaded costs are close.
I believe the last time we ran the numbers it wasn't that drastic. The mandatory retirement saving in Canada (Canada Pension Plan) is quite bad, can't really be maxed out beyond a very low benefit, and is almost criminal for your beneficiaries if you die before retirement. It is certainly than nothing, but definitely not better than taking the same money and placing it in a tax sheltered index fund.
I hear this a lot - most of the time its just people happy making >100k not realizing the Canadian dollar has dropped a lot, and just how ridiculous US salaries have become in the last 10years.
> This is what I'm talking about. The employer will dangle this prize in front of you for as long as they can and will continue to hold off on promotions and keep your salary the same for as long as possible. This is why Canadian salaries remain low, because there will be another sucker that comes along and will also be offered the same "we'll give you a promotion in a few years!" or "we'll transfer you to the US soon! very very soon!" line and they'll accept it.
After 3 years of being a permanent resizent you can apply for citizenship, and getting one is pretty easy if you work in tech. Companies don't really have that much of leverage on you, especially in comparison with US with a dangling carrot of H1Bs and green cards.
Supply and demand. If you're going to compare salaries, look at the number/density of tech companies in the area and the value generation. SV corporations setup offices here in Toronto, but the pay doesn't match up because it doesn't have to. Competition for talent is not as fierce.
There are single buildings in SV that host more "elite" software engineers than other entire cities (how many thousand engineers at a single location like Google/Apple's HQ? What native equivalents does Canada have? It used to be RIM/Blackberry, but now its what, Shopify? The scale matters.)
You're misattributing quality of wages to people being ignorant of their own value, but what you should be attributing it to is plain labour economics.
Yep. I was given an offer to work for Microsoft in SF, ended up having visa denied (no post secondary), so sent to Vancouver instead. 75k CAD drop in salary. & Vancouver isn't cheap
Reflection isn't required; keys in JSON are strings, and there are basic data types that are supported (strings, numbers, booleans, arrays, and dictionaries which are more of the same).
What's wrong with writing "initializers" which are serializers/deserializers? If you're looking for automatic file format to C++ class object, why settle for JSON (whether it's this library or JSONCpp) why not use Thrift or Protocol Buffers?
This exactly, sometimes you have to use something not because it is the best option, but because it is what your team is using, or because the ease of use is worth the performance drawbacks.
Substitute "software" for DeFi. Every single day we're playing with fire through low quality code and bad security practices. DeFi just exposes the real financial costs and consequences of terrible software development. How many countless dollars and hours and data have been lost through bad code?