You wouldn't call $5/hour folks on upwork "business owners". We're basically doing the same thing, selling our time for money.
730 karma · joined October 5, 2014
You wouldn't call $5/hour folks on upwork "business owners". We're basically doing the same thing, selling our time for money.
For me it's been very profitable.
> Here's something pharmacists, account managers, farmers can afford: 3 bedroom, 2 bathroom houses near where they work.
I can easily afford that. Most software engineers I know can afford that.
> We can't. We're asked to live in apartments in Jersey and commute 45 minutes to Manhattan every day.
I don't live in NYC. I work from home or from an office 5min away from my home.
> Or we work remotely and are expected to take a smaller wage
I work remotely and earn more than most engineers in SF. I save 300-400% more.
> where the company can't wait to get big enough so that it can force us all to move.
I've never experienced this.
For ambitious introverts like myself, remote consulting/contracting feels like the best option.
A childhood buddy of mine moved to SF last year and got a job at a big corp downtown. He manages to save around $3,000/month as a senior developer with a ~$200k salary. No children, living with a partner who works as a teacher, and they're both quite frugal.
I work as a remote contractor from a small European town and am able to consistently save way more than that. I was saving more than that even in the past while working as a sub-contractor through platforms like Toptal.
How big of a salary would one need in order to save > $100k/year in SF (Single, small rental apartment, no car, average middle-class lifestyle)?
You're comparing two very different fields.
What makes for a world-class software engineer is the ability to consistently deliver business value.
Learn about your company's market & business strategy. Be reliable. Effectively communicate with the non-technical stakeholders and be the bridge between technology and business goals. Make sure they're aware of pros and cons of every development related decision. Get used to saying no and pushing back on some of their ideas. Don't write code to solve problems that can be solved by an excel spreadsheet.
Your main goal is to build a successful business, writing clean code and using cool tech comes in secondary.
A high-grade self-managing team of two specialized in mapping out, designing, and delivering complex custom-built web applications on time.
We work with both established companies and passionate entrepreneurs to help them polish their ideas, turn them into state-of-the-art working products, and bring those products into the market.
We have a lot of positive experiences working with non-technical founders and guiding them through all stages of the product lifecycle.
Reach out and let's discuss your current challenges and future plans to see whether we're a good fit.
Read more: https://codetree.co/
Get in touch: ivor@codetree.co
Sample passion project (2015): https://movieo.me/movies
Preferred tech: React.js, es6+, webpack, npm, Yarn, Ruby on Rails, Elixir, PostgreSQL, Redis, Elastic, AWS, Capistrano, Docker
We have a lot of positive experiences working with non-technical founders and guiding them through all stages of the product lifecycle.
Read more on http://codetree.co | sample project (2015) — https://movieo.me/movies
---
Location: Central Europe
Remote: Yes, since the beginning of our careers
Willing to relocate: No, but we can visit early and often
Email: ivor@codetree.co
---
IVOR REIC | FRONT-END, UX DESIGN, CONVERSION
Tech: HTML/CSS, Javascript (ES6+), React, Vue, d3, Webpack, npm and more
---
VEDRAN MARCETIC | BACK-END, DEVOPS, SYSTEM ADMINISTRATION
Tech: Ruby on Rails, Elixir, PostgreSQL, Elastic, Docker, AWS and more
---
Read more on http://codetree.co
If you feel unable to find clients try platforms like codementorX. It's a relatively simple way to start earning triple figures and building your technical/communication skills.
I understand that these are outliers as most techies in my country make $30k/year doing java/php cubicle type work, just like most people in the US probably make ~$60k, not $400k as HN would sometimes have you believe.
However, most people (in any profession) are relatively content and not very good at what they do. If you think you're better than that and have evidence that backs your claims — you can definitely earn a lot more.
- What kind of product are you building?
- How large is the project?
- How many developers are working on it?
- How experienced are the developers?
- How is the project being managed?
- Are there any hard deadlines?
- What is the budget? Burn-rate? Runway?
- Is the product established or are you just building the MVP and trying to validate market demand?
A two-person development team building an MVP with ever-changing requirements won't have the same workflow as an established company with a large development team and a bunch of existing users.
Of course it's optional. Tests are optional too. There are many projects and situations where trading code quality for development speed makes sense. Especially when you're building MVP's, experimenting, or trying to validate market demand.
It's also often not worth it on small to medium sized projects where only one person is working on the codebase (think 3-person project: designer, front-end dev, back-end dev).
Larger projects with multiple people working on the same codebase are a completely different story. In those cases code reviews are valuable and highly recommended but still optional. The only thing that isn't optional is delivering a working product.
Best practices == great, dogma == not great.
In 90% of the cases one of the parent components. Sometimes redux when the component tree goes super deep, or for things such as currentUser.
> How about if you want to make your component's state persistent (particularly when the component is external to your project)
What do you mean? Give me an example.
> Also, what do you do to generate state dumps for error reporting?
I don't generate state dumps for error reporting.
Using Redux just to simply set and get data on every page is an overkill.
For the majority of applications making API calls directly from the component and storing data in the comp state is the way to go.
This is coming from someone who used redux excessively in the past.
Looks like one of those things you have to use for a couple of days before coming to a conclusion.
I agree 100%. For most projects clean code comes secondary.
Moreover, what is clean and what is sloppy is extremely subjective. If the code doesn't produce too many bugs and is understandable enough for others to modify, great. That's all you need.
From my experience, the correlation between writing clean code and delivering business value isn't a thing. I would even go so far to say that people who really care about writing clean code often tend to ignore business goals. Additionally, I've worked with a few clean code/TDD enthusiasts whose output very often contained bugs.
NOTE: This is my personal and VERY anecdotal experience from working on mostly small to medium sized projects (up to 100k LOC).
Yes, many developers are good at math but I'd say that's mostly correlation, not causation.
NOTE: This is my personal, anecdotal experience.
Rimac Concept One (the old model):
- Acceleration: https://www.youtube.com/watch?v=eT7KKxoAvvk
- Presentation at Stanford: https://www.youtube.com/watch?v=1FsrgJ66wUw
Rimac Concept Two (the new model, they plan to build ~150 of them):
- Geneva motors show: https://www.youtube.com/watch?v=XvjvYzzBh-k
- Company website: http://www.rimac-automobili.com/en/
What was the initial bid of the Indian company that ended up costing $6 million dollars?
Stories like these make my blood boil. And to be fair it's not just Indian companies. There are plenty of EU/US based dev teams that consistently fail to deliver and the company still keeps paying them.
I wonder if management just can't deal with sunken costs or if someone is trying to steal money from their own company by making under-the-table deals with the development team.
I've had a couple of clients that dealt with "cheap" teams and wasted years of their life trying to get a product up and running. Taking them on felt like rescuing abused puppies from a shelter. Their eyes would light up every time they witnessed a working feature, no matter how simple it was.
So far we have a history of delivering on what we promised (knock on wood), and we make sure to communicate that there is a very high chance that we will be the last team they will have to hire to solve their problem.
There's one more thing... A couple of years ago we created a passion project (https://news.ycombinator.com/item?id=8547351) that experienced quite a lot of traffic. I'm not sure how much influence (if any) this had on our ability to find clients, but a few of them did tell us how cool it was.
We took some time to create our consultancy website and make sure we're communicating our value and principles at least somewhat effectively.
It also helps having satisfied past clients who will speak well of you when someone calls them up.
We don't really do any speaking, blogging, traveling to conferences to network, or anything like that. I just advertise on a couple of websites like HN who wants to be hired, for hire subreddit, angel list, startupers.com, etc to let people know we're on the market looking for a new project. We usually find someone who is a good fit within a couple of weeks.
We are also involved in the local tech community and in the past we would get some projects through word-of-mouth, but those were at lower rates near the beginning of our careers.
You could also try platforms like codementorX and moonlightwork until you manage to connect with someone yourself.
Im generalizing a bit here but if you write code it's relatively easy to find full-time long-term engagements. On the other hand if you're a strategic consultant you're going to spend most of your time blogging, networking, searching for leads, and selling.
$20k/week rate is nice but if you only bill 1 week per month you're still making the same annual income as a $5k/week software contractor.
The only difference is that you spend most of your time selling while the contractor spends most of their time engineering.
Like someone else in this thread said — pick your poison.
Here's what worked for me as a remote consultant who lives in a small central european country:
My partner and I currently position ourselves as "A high-grade self-managing team of two, specialized in mapping out, designing, and delivering complex custom-built web applications on time".
I suppose we might fall under the authors category of predictably positioned "opinionated developers".
Our ideal customer is a non-technical entrepreneur who needs someone to help them polish their idea, turn that idea into a high-grade working product, bring that product into the market, and start making traction and revenue.
I noticed that many entrepreneurs, especially non-technical folk, have a very difficult time building their first product — especially if it's a relatively complex piece of software. Most contractors are focused on using cool tech or writing clean code instead of helping people build successful businesses.
Our selling points are pretty basic: Learn about your client's business, be reliable, communicate effectively, deliver a great product on time. If needed also help with additional hires, validating PM-fit, marketing.
It's nothing revolutionary, but the fact that there are so many uninvolved developers on the market makes it very easy for us to find long-term engagements. The clients are happy and we're able to charge San Francisco-like rates. Just last year I put $1XX,XXX into my savings account.
We're in our late 20's so there's a long road ahead of us. Who knows, perhaps we'll get bored with programming in a couple of years.
But people should know that you CAN make very good money while still writing code most of the day.
Also, take the doomsayers in this thread with a grain of salt. Some developers have bad experiences in their career and start thinking that all non-technical folks are just soul-sucking vampires, while often in reality they themselves are the source of the problems.
I would say that your main function is to effectively communicate with the co-founders and be the bridge between technology and business goals. Make sure they're aware of pros and cons of every development related decision. Get used to saying no and pushing back on some of their ideas. Your main goal is building a successful business, writing clean code and using cool tech comes in secondary.
A high-grade self-managing team of two specialized in mapping out, designing, and delivering complex custom-built web applications on time.
We work with both established companies and passionate entrepreneurs to help them polish their ideas, turn them into state-of-the-art working products, and bring those products into the market.
We have a lot of positive experiences working with non-technical founders and guiding them through all stages of the product lifecycle.
Reach out and let's discuss your current challenges and future plans to see whether we're a good fit.
Read more: https://codetree.co/
Get in touch: ivor@codetree.co
Sample passion project (2015): https://movieo.me/movies
Preferred tech: React.js, es6+, webpack, npm, Yarn, Ruby on Rails, Elixir, PostgreSQL, Redis, Elastic, AWS, Capistrano, Docker
We have a lot of positive experiences working with non-technical founders and guiding them through all stages of the product lifecycle.
Read more on http://codetree.co | sample passion project (2015) — https://movieo.me/movies
---
Location: Central Europe
Remote: Yes, since the beginning of our careers
Willing to relocate: No, but we visit early and often
Email: ivor@codetree.co
---
IVOR REIC | FRONT-END, UX DESIGN, CONVERSION
Tech: HTML/CSS, Javascript (ES6+), React, Vue, d3, Webpack, npm and more
https://www.linkedin.com/in/reicivor/
---
VEDRAN MARCETIC | BACK-END, DEVOPS, SYSTEM ADMINISTRATION
Tech: Ruby on Rails, Elixir, PostgreSQL, Elastic, Docker, AWS and more
https://www.linkedin.com/in/vedran-mar%C4%8Deti%C4%87-472363...