1,671 karma · joined January 27, 2009
I have done so myself, on both ends of the experience/skill spectrum. As a junior it was because the tech was exciting, and the cool kids were doing it so obviously it was the Right Way to do things. As a senior because I'd been a part of the scramble to scale short-sighted systems in a startup that had found product/market fit and didn't want that pain again.
Turns out you can build the most scalable thing and people still won't flock to your product. And you wasted all that iteration and learning time.
E.g. Would love to bring joy to people by making a game without thoughts of optimizing monetization. Or form a non-profit in various areas. Or spend years on open source software solving big hairy problems.
But for now I'd rather the kids eat well, be able to travel the country for sports, and enjoy a comfortable life.
It's expensive (time and money) to build apps for multiple platforms even if you use cross platform toolkits like React Native. The tooling just isn't there to make it easy enough to share code between platforms and create compelling products. It generally doesn't make business sense.
I'm working on this problem. Leave a reply and I'll invite you to test when I launch. ;)
But they have a very different approach. Proprietary language, components, etc. I wouldn't want to be locked into their ecosystem. That's typical with game engines, but not with web and mobile applications these days. Even Microsoft has gone full open source. I wouldn't use LiveCode as the basis to build a company on.
I'm building the open version. Made for startup teams and indie hackers that want to make world class products on top of the open source tools they would probably use anyway.
We build an open source and non profit news organization that's a combination of Wikipedia and Genius. The goal is to be a destination that people can trust to provide more than one side of a story and separate opinion from fact. It scrapes news, has an AI that organizes topics, human editors to make sure things are organized properly. It surfaces articles and videos that are meaningful contributors to the topic based on heuristics and editors. We markup biases of authors. Show when articles are making claims that lack evidence. Build a fact checking regime that is open and obvious. We don't do all the news, just pick a few hot topics each day, like Digg.
It has a website, mobile app, probably a podcast.
I imagine the non profit has a sister DAO where good contributors are rewarded with a new token we create. Use NFT's for badges. Various other options.
Currently looking for people who would want to collaborate on some of the open source pieces that are needed.
Short term I think the right place to start is to build an open source toolkit leveraging NextJS + React Native to create a single project for all platforms.
Long term imagine an IDE (VS Code Extension), hosting, backend ecosystem, marketplace for themes and plugins, a simple opinionated project structure for building things that run on web, iOS, and Android to start. Eventually probably Desktop too. Based all on open source tools to avoid vendor lock-in.
You should also be charging _at least_ 2x your desired "salary" rate for your own time, more if you can pull it. E.g. if you made $100k/yr that works out to about $50/hr full time. Charge at least $100/hr. You'll need the buffer for taxes, healthcare, finding new clients, liability insurance, un-billable hours (e.g. writing quotes), etc.
If you are good at estimating, try to get fixed bid contracts rather than time and materials. They'll be more flexible and you won't have to be as meticulous with your time tracking. The projects are usually more interesting as well. Hourly contracts are often more like staff augmentation.
A good way to get work if you need to bootstrap can be to subcontract. Research and reach out to other, larger, consulting agencies. They're always looking for subs. Even the bigger ones like TEKSystems and RHI will take on subs (well, at least they used to, I haven't looked recently).
I would plan to work billable hours at most 75% of the time you want to spend working. The rest should be running your business. Marketing, fishing for your next client, networking, handling your business affairs.
Bring on subcontractors if your marketing/sales efforts get you too much work. This is easy profit if you can pull in the work. You should establish a network of trusted people to send subcontract work.
You probably want to use a pass-through LLC as this is a high margin business and you'll want to take profit sharing rather than salary to avoid double taxation and also want the liability protection of LLC. But talk to a good CPA in your area.
Companies should trust the people applying based on their resume and ability to talk about what they have done in the past or how they would approach real world problems (organizational, interpersonal, technical). Maybe have them write some small bit of real world code using libraries and frameworks they are familiar with, while they are alone without anyone watching [key|pen]strokes.
Maybe I'm lucky but after 20 years in the industry shipping products to consumers I've never ran into a Software Developer or "Engineer" in the real world that couldn't get things done in a normal working environment in private industry (now in government, don't get me started). Some are slower, some are faster, some can handle bigger problems, but I have no idea how to reliably filter for that in an interview having tried many things.
The "OMG this senior person can't write FizzBuzz on a whiteboard or while videoconferencing and knowing someone is watching your every keystroke so they must be a horrible programmer" approach is just wrong.
I've only ever failed interviews where I had to solve problems or write code with someone watching (virtually or in person). Let me be alone and give me a product to build, though, and it'll get done. Customers will love it and it will be great. See: resume and products in the wild. The Math-oriented abstract tech interview is missing out on all the practitioners that care about the product and can build reliable maintainable systems in a team environment.
These days I'm primarily management, though, so I get to set the hiring guidelines. Yay!
It often pays to do business locally with smaller businesses for situations just like this. They're a bit more "human".
In personal experience... We use Gitflow for our software that ships on our IoT device where we do monthly releases and multiple weeks of QA/reliability testing. Of course, this is coupled with a slow rolling canary release process -- nobody wants customers to be forced return a device due to a bug that can't be fixed over the air.
We also use it on our mobile app and it works well. Again, this is a situation where we have to have multiple versions in development simultaneously. One in "release mode" doing critical bug fixes only as it goes through QA and internal in-home acceptance testing and one for "v-next".
Some 20 years ago we used to do roughly this same process for releasing software on CD's. But, no git back then so no "Gitflow"...
We don't use it for various services and internal tools that can get by without such rigor around versioning. Just simple branch -> PR -> automated test -> merge to master from PR -> automated test -> deploy.
Use the tool/process with the least overhead that manages what you need managed.
We were acquired last year by a multi-billion dollar public company (Middleby) that owns other premium kitchen brands such as Viking and TurboChef. The whole company is staying together and we have some exciting projects planned.
Our career site isn't up to date but we are hiring various web, mobile, platform, embedded engineering, and Linux engineering roles. We are primarily looking for Mid to Senior level Engineers with at least two years of experience. If you have less than two years of experience please provide references to projects you have completed (boilerplate coding school projects don't qualify).
Extras: 401k, lunch, cash bonuses, stock
Email: jd+jobs@brava.com