"I tried to look for a job out of my city, but no luck, I don’t know what’s the deal with coding interviews, but I bet they don’t work good. I’ve been rejected from"
...
Google Facebook Magic Uber Holagus (Mexican startup)
I'm not sure what draws everyone to places like this when there are ~many~ other companies.
Also does the article end abruptly for anyone else at "There are two possible reasons"...
Edit: After looking at your LinkedIn it seems like you've accomplished a lot (well done!), but you haven't had much "real" workplace experience - I would assume ~most~ companies would want some industry experience on a resume (I could be wrong)
https://travel.state.gov/content/visas/en/employment/nafta.h...
I wouldn't say that any company that ~ins't~ a large corporation only has the mindset of "ship fast/ship often"
I'm sure you're a very good coder; don't get me wrong. But despite what you'll hear, there are a lot of them out there. If you think you're the best programmer around, it just means you haven't looked very hard.
Remember, software is never an end but always a means to an end. A bridge isn't metal and concrete, it's something that connect places. Software is about solving problems, and sometimes creating new bridges where no one thought to connect before. It's all in the service of something. In other words, stop learning how to make the metal and concrete of bridges and look up from your computer and learn what you could connect with them. (Yes, get off of your computer. Turn it off. Go at least a week without looking at it -- try to go a month or two.)
Learn what your dad does, learn how the business is run, and then find efficiencies and ways to make it better using software. You'll be making money and opening your mind.
You're 26 and good at software, and you're ambitious. That's great. But take a break. Step away. I have a sense that what's stopping you is you. Change who you are and you might just find the way that was blocked before opening up.
Since you're asking, that's what I would do.
You could change his business to be modernized and sneak in some software development into it at some point? :) Just be wise about it, don't just break his company for yours haha, you might even learn a lot for your own business from and he could fund you once he sees how genuine your work is. Worse case you go back to programming with new business knowledge. Who knows you might even meet business minded people your age who could benefit your startups? Take a leap and if you don't like it after sometime, just plan to leave or reasses.
You have a path forward. Take it, learn from it.
When I was 10, I got into computers. You REALLY needed to be thick skinned back then as nobody got any support from anyone. If you expressed interest in computers, you were ostracised as a freak. I was bullied at school for it more times than I care to remember. However, I never let myself become a victim or give up. That's where true grit comes from.
I'l be honest and say I think the whole tech industry is over-rated. There are loads of good (great) people who start out young and do some amazing things. I think it's on a downhill slide. The same happens to any saturated industry.
Stay focused. Don't be a victim. Take the opportunities that come your way.
Best of Luck!
Reminds me of high school where I chose not to learn coding on the side since another kid almost got expelled for "hacking". Sometimes you have to really choose your battles.
I have similar but not identical experience. I was growing up surrounded by people who owned everything from family type business to SMBs to large businesses and it was totally natural for me to start working at my family's company anytime I was asked to do so.
I had hobbies too, I was programming, I was playing games, but it was routine for me to spent between 10-20hours/week with my family in our business. I don't regret any minute of that, because I have learned so many things - I gradually gained experience in f2f sales, phone sales, communication, working in team, basics of accounting, working with other people and I can continue. Later, I was even able to to solve some of the main problems with programming - www, eshop, soc networks, crm, etc. That all before the age of 23.
There will never be a better teacher than my father and grandfather, because family based business has many important advantages, just to name few: you are allowed to do mistakes and fix them without any harm, you are allowed to ask for help anytime you need without bothering someone, you are part of the team from day 0 and you are even allowed to lose money into some extend.
From my point of view, you are late, very late. You should have joined your family business around the same age you started with computers. Just go and jump on that track as fast as you can. I'm grateful for the possibility to discover the nature of running family based company and scale it to some extend.
Gained experience in different fields will definitely help you to create better and useful software. Sometimes I feel like devs around me see the technologies(programming languages, buzz-worded tools, AIs) like the most important thing in every project, but in the end, these are just instruments which allows us to create products with added value for real customers and be able to recognize what is added value which can earn some money, is the most important skill.
Apparently, you are able to create beautiful stuff. But none of them seems to me to be either finished or brings some added value. Go out of your comfort zone, it will help you to see the World from different perspective.
Also OP think of coding as your hobby as well, because it is. Sometimes it might be hard to turn your hobby into work.
E.g I enjoy playing World of Warcraft. And I'd say due to some of my achievements etc am very good at it. But I could never make it my workplace. Its just something I enjoy on my off-time.
I think the same applies to you. Go work with your father and don't think about your past that much but what you are doing right now. When you get home after a full day at work and you've made the money you need to live etc sit on your computer and code your game or your bot or anything that you'd like.
P.S I think it would be hard for you to find a coding job other than freelancing or getting a job with a massive company. I got a coding job and I'd say even me that am not as motivated as you are find my self blocked sometimes. Obviously you get blocked when you are working for someone, they will definitely ask you to do something you don't want or find right, and you'll have day to day tasks that are not pleasant. You'll find yourselfs sometimes having no actual challenge etc. So judging from your letter your character says that you wouldn't stay at a job like that and in reality most coding jobs are like that, the freedom you've been given is limited. So I think best thing for you is keep it as a hobby unless you find a job you like, and yes go work with your father, great experience and bond with your father as well through that. Remember our parents are not gonna be there with us forever unfortunately :(
But, don't give up coding. You will succeed if you continue to practice.
Don't just write code for yourself or as an attempt to start a business. Instead, join a major free source project that you would use and find interesting by fix bugs and then submitting the fixes. Continue to do this and if you are good enough and like to work on the project enough, you may become a core part of the team. Eventually this will help you build connections for other work. Developing yourself is often more important than developing a product for a business.
Give that 5 years, then will have more experience to guide your business ideas.
This isn't the path for everyone. Some get lucky and work on the right product at the right time. But, if you've given it your best effort, try something else. Doing the same thing over and over expecting different results is the definition of insanity.
I know that plenty of people aren't like that, but it is a real and possible outcome.
You may be good at writing software, but are you writing software that solves a problem for anyone? If not, you're going to be hard-pressed to find external validation.
You don't say what your family business is, but is there something there that can be made better -- more efficient, more profitable -- with technology? Some aspect of billing? Shipping? Inventory control?
I'm not suggesting that you acquiesce and go to work for your father if you don't want to. The fast track to misery is following the path that some else chose for you.
But at 26, you don't have a lot of years of hands-on experience in a profitable business. So your father's company may be a quick way to get your foot in the door and expand your skills for a while.
Read The Four Steps To The Epiphany by @sgblank, and The Art Of The Start by Guy Kawasaki. Zero To One is a good book, but it isn't as much about the "nuts and bolts" of actually building a business. TFSTTE is very much "nuts and bolts". It is, IMO, about as close as you can get to a "paint by the numbers" guide to building a business.
There is a newer version of TFSTTE, retitled The Startup Owner's Manual. It is also good and while it is, in many ways, "just" the second edition of TFSTTE, there's enough new content that it should probably count as a separate book. I'd actually recommend reading both.
The Lean Startup by Eric Ries.
Traction by Gabriel Weinberg.
The highest I've hit is 3,500 over a three-day weekend, and the experience was awful. I spent a week recovering.
When people are talking about moving fast an breaking things it does not mean to move so fast as to skip quality. They mean they are delivering new goods and old services can be torn down (or something similar enough).
A half uploaded you could have taken 15 minutes to proofread is a clear indication that you are more focused with quantity than results. You then expect us to see you as automatically deserving of a high end tech job. Is it possible that you did something, anything to give anything less than a perfect first impression in interviews?
If you must code take some of your many lines of code and put them on github and use that as portfolio. This is a strong way to make a first impression. Don't tell people you wrote a bunch of code, show them how awesome your code is.
If I were you I try to land a job at company in your town writing software. Even if it is one of those ever so hated insurance company jobs. You will be held accountable and forced to deliver. You will earn money. You will get at least some perspective you haven't had yet.
Then you can try again at doing whatever you like with a little cash in your pocket and no one breathing down your neck.
I applied to 37Signals back in 2008 or 2009 and my english was so bad that they won't even bother to reply (And they wrote a blog post shortly that they wouldn't even respond to poor communicators :P)
That wouldn't explain why the holagus guys wouldn't hire you, tho ;)
This is my advice:
1. Forget about going to a job you hate. I'm 36 right now and I wasted almost ten years of my life on boring jobs and now I wish I wouldn't. The tech sector has an age bias and the older you are you're less likely to get hired. True story.
2. Get involved in Mexico's tech community. Build things and show them to people. Go to conferences.
3. Work in a startup with coders that are way, and I mean way, better than you. If you don't live in a tech hub move to CDMX or GDL. I know that in GDL there are startups which are hiring pretty much everybody.
4. Don't be an asshole. I'm not saying that you are. But if you give that impression, people may not want to hire you. Please don't brag about how you were programming at 10 (we all were)
Lastly, I know some people in mx's and latam tech community, maybe I can help you get connected. Ping me at @soska.
-- And yes I know my english sucks too. But it used to be worse.
As for spoken communication, what I needed was a boost of confidence. In my last job I always avoided talking to people because I was too self-conscious of my accent and constant pauses for real-time-translating. Then, one day, a friend noticed it and said to me: "Dude, don't worry about your accent. I live in Manhattan, everybody has an accent here and it's no big deal." And I was like, "yeah". And just like that I started speaking more and slowly became better at it.
So, it was confidence for me.
Motivation is the wrong thing to go after. Discipline is the key. Building discipline to do the things that are needed will beat motivation every time.
It's always nice to have external support, but the best support you can build and keep is from the relationship you have with yourself.
Please provide either some sources or argumentation for such a significant claim.
Discipline to do what needs to be done will always beat constantly seeking motivation, because motivation implies a lack of it to begin with and staying that way.
Discipline for me is like making sure one takes a regular bath. Motivation is a temporary mental bath that constantly needs renewing. Discipline ingrains habits that bypass a lot of that.
Discipline makes sure to keep you in a position to perform and remain productive. In any hard task, great, aspirational, much of the things that need to be done are heavy lifting, mundane, critical and a lot of drudgery, not tasks anyone would be motivated to complete, and often the winner are those who can be disciplined to do what needs to be done.
They say time and learning from experience is the best teacher, I'm slowly beginning to realize this is true. In our case, talking about swimming, reading swimming, and watching swimming doesn't make up for jumping in the pool and realizing you don't need motivation to stay afloat in the water, only discipline to do what needs to be done to survive before picking a direction in which to thrive.
Some interesting reads that shouldn't be examined internally by an open mind and not one seeking social or external validation for a belief in something:
- A few weeks ago: https://news.ycombinator.com/item?id=12557335
- https://www.hotjar.com/blog/the-passion-fallacy
- http://www.nytimes.com/2014/09/14/opinion/sunday/learning-se...
- IQ isn't as valuable as self-discipline: http://time.com/12086/how-to-make-your-kids-smarter-10-steps...
As for the complaining about lack of support. I'm sorry, but you're being supported! You have a roof over your head and food in your belly. You have a computer and freedom of choice.
It may not be the support you want or imagine, but it's support. Don't forget that and don't take that for granted.
edit: By the way I didn't realize you were in Mexico at first. I only have experience with getting a job in the USA but hopefully what I wrote is at least slightly helpful.
The post, like the one linked here and apathy towards family/dad's business, shows a case of depression but the kind of skill OP has demonstrated through projects posted on OPs website shows that OP must have Bursts of mania. Mania is also demonstrated through OPs wish to get placed at companies like Facebook,etc due to heightened self worth.
Due to unstable mood, OP maybe having difficulty taking decisions and maybe subject to environmental factors dictating life decisions.
I would advice OP to take a break , not cause he needs to get away from a computer. I'm sure OP will do great things on a computer. But to evaluate mental health n well being. To try out things to keep a stable mood.
All the best Mr.Cabada . Hope this helps you :)
Glenn Gould especially. Check my previous comments for his mentions.
I feel closer to them and their art (especially music) than any friends or family. I hope one day I'll break into that 'sphere' of people but it's going to take a couple of lonely decades and that's ok, and they've made me feel okay with it. I respect the amount of time that goes into works of divinity. With respect to philosophy, I mean in the loosest sense, peoples personal systems of thought, especially those of idols have helped me. PG's essays, Stoicism, and Eudaemonia come to mind.
I'm a 33 year old programmer & my story's like yours, except I became addicted to researching before coding. Instead of motivation to monetize what I produce, I'm trying to learn how to actually produce. The "support" I got growing up embedded a deep fear of failure in me to the point that merely thinking about working alone on something paralyzes me. I've been unemployed for 2-3 years now & so I also have anxiety around simply applying for jobs.
I don't know if any of this applies to you, but I'm hoping it'll help.
Here's what I've learned through just the past year of struggling to recover from my addiction:
- I tend to take other people's advice more easily when I hear it in the form of stories about other people's experiences, though I used to think that if I talked about myself, I'd just be viewed as selfish/narcissistic. I'm still working on that bit of self-consciousness, so this first point's kind of a disclaimer for the rest, which will mostly be things about myself I consider relevant or citing things you've said about yourself.
- Nobody asks for support who doesn't need it in some way. You've said you grew up without it from your parents/community, don't have any peers, and you're asking for help here. I hope you'll keep working to develop a support system for yourself.
- I lived most of my life in a small town in Louisiana where the local values are very different from my own. It's really hard living in a place where the message "you don't belong here" is heard time & again, even if it's followed by something like "you belong in Silicon Valley or some place like that." I had to get out to separate myself from those messages (including any coming from my parents) so I could learn to think differently. I have to catch myself thinking in old ways & immediately follow it with telling myself something different.
- My parents have no idea what I need or have any business telling me how to live. It doesn't matter who's supporting me. I've thought for a long time that financial independence doesn't have to come before interacting with my parents like an independent adult. The problem was I quickly reverted back to acting like a dependent child when they tried to play the role of parent (and vice-versa) instead of any of us behaving like independent adults. Being assertive with them has been key to me regaining some sense of autonomy in my life, but it's been really hard. It means I have to set boundaries with them and not negotiate on them. An example: I told my mom I would no longer respond to her text messages as she gets upset when they're too long for her taste. The reason they're too long is her phone's font size is huge because she's choosing to not use her glasses. Instead of getting into a fight with her over what constitutes a reasonable text length, I just said "Ok. If this is how you'll be responding when I'm trying to communicate over text, then I'll stop communicating with you via text until you're able to take emotional responsibility for the decisions that make texting with me hard for you." (The book "Nonviolent Communication" has been AMAZING for me learning this!)
- I desperately need collaboration right now. It's not that I can't get into a productive mindset where my old ways of thinking don't plague me at every turn, but it's way more difficult to stay in that headspace when I'm not connecting with people. I don't know how to get it & wish I could give you a suggestion for this, but I'm in the same boat as you right now. (As I type this, it's occurring to me that maybe I don't need to connect with people over what I'm working on, as long as I'm connecting with them, but I'm not sure that's actually the case & don't feel like I'm in a position in my life where I can risk being wrong about that.)
- 20+ years of interacting with text on screens more than faces has led to a huge emotional disconnect in myself. I've only just started learning how to recognize more emotions than the basics of glad/sad/mad/afraid. Teenage years are when we're supposed to learn how to emotionally self-regulate, but I missed out on a good bit of that. Taking time away from information (computers, the internet, looking things up in books, puzzles, strategy games, brainstorming, asking people questions, and more) was required for me to get to a point that I was able to admit that I was traumatized as a kid & part of that trauma stemmed from how I interacted with my parents (neglect, emotional/verbal abuse). When I literally said to myself out loud "Ok. Let's assume the opposite. I was traumatized." I was immediately overcome with fear, anxiety, and sadness within seconds. That was the first step for me to start learning how to emotionally connect with myself & only then did I start learning how to emotionally connect with others. Maybe you've experienced some kind of trauma or maybe not. The point is that before I could truly emotionally connect with others, that block had to be removed. Maybe you don't have that problem, but if you do, I'd suggest finding the block & working to remove it because things become much easier then.
- Another side effect of not interacting with people: I didn't learn the value of human connection. It's difficult to describe, but there's a physical feeling that comes with solid connection. My chest feels light and warm when I'm able to connect. Connecting starts with me accepting and empathizing with people, which, again..."Nonviolent Communication" is my guide for that.
- Gratitude! Taking time every morning to make a list of 10 things I'm grateful for was REALLY helpful for me, as was learning how to express my gratitude to others in the moment beyond simply saying "thank you" ("Nonviolent Communication" taught me how to do that, too). If there's something I'm learning how to improve in myself that I missed an opportunity to practice, I'd add gratitude for that opportunity to practice to my next list. It helped me view the world as more welcoming & every "negative" interaction became a learning opportunity given to me by someone, whether they intended to or not.
- Trying to work with my parents on a project was a HUGE mistake. They didn't know how to respect me or my decisions, even when I was in charge of something. Ultimately, I recognize that trying to get into business with them simply served to strengthen my codependent relationship with them.
With entrepreneurship, it's almost entirely not about coding skills. You should find and solve problems people are willing to pay for. Customer development, marketing, sales, and all sorts of other people skills are key.
You're still young. It may seem to you like everybody else is an idiot – I've been there. However, it just might be that you're the one with a lot to learn.
In my experience though, you can get around the a-hole show stoppper also with time. If people see you are an a-hole and for some reason still continue to work with you and see you really provide value for them, then after some time they will support you (and also tell you what you need to stop doing).
> I’m a 26 years old “entrepreneur”
Apparently not....yet.
> I’ve written more than the equivalent of 32 Bibles (around 4M lines of code)
Sadly, nobody cares how late you stayed up or how many loc you wrote. They just care about how awesome/useful/reliable/beautiful/addictive your product is.
> My dad has always told me...I’m really pissed off with this one, I’d go back in time and fix it
Dude, you're 26. Fix it now. You've plenty of time.
> I should’ve... I should’ve
See above
> people are too closed-mind.....I don’t know what’s the deal with coding interviews, but I bet they don’t work good.
Stop blaming others. People didn't want your service, these places didn't want to hire you. Maybe it's their fault. But you don't control them so assume it's your fault and think about how you can improve.
It took me much too long to learn this lesson which now drives everything that I do: You are only as good as the value you add.
Bringing this back to your dilemma - "I have no motivation on continuing coding".
Do your products have users? Install Intercom or Crisp and find out. Talk to them and listen to what they like and don't like. Make them happy and more people like them will appear. You're not a coder in your parents house, you're a builder of things that add value to people. Instead of adding code day by day, add value.
You've written 4m lines of code. That's great but people have become wealthy from 1000 lines. What did they do different from you?
Answer that and you're on the right path.
PS: throw some of those older projects on Github and make them open source. That should help you find out if you're a good developer, plus it's access to a community.
At least for me getting that thing straight was quite important.
Mr. Cabada,
I believe the most impactful thing you can do is to stop blaming others and to start putting all of your energy into improving yourself.
Based on your writing, your site, and your LinkedIn, you are already doing a lot of improving yourself -- but you're also putting a lot of energy into blaming the rest of the world.
(1) An entire article that basically says "I'm awesome but the world isn't favoring me. Halp!" (2) comment: "I'm mexican, it's hard..." (3) comment: "fixed", a few times over, with no recognition of mistake and no thanks for pointing out the issue <-- granted, that could just be efficiency (4) one single "my bad", buried in an early comment thread.
Life is hard. Privilege is a real thing that we should systematically correct with each generation.
That said, you're wasting brain cycles (yours and ours) when you blame others. It's just not a very efficient activity and it does very little to improve you. If anything, it can shift your attitude the wrong way for the long haul.
Listen to feedback -- beg for feedback. Begging for feedback is not saying "fixed" -- it's rewarding the behavior of someone giving you feedback (i.e. Thanks! this is helpful). Don't get defensive. Internalize it. Be smart enough to filter out what feedback is good and what's just fluff. Learn your faults. Fix your faults. Learn your strengths. Better your strengths.
Good luck! (jk, it's more in control than you think. luck will have very little do with it. Attitude will have everything to do with it)
As for getting work. You just need any work that you can put on your resume that shows "commercial experience", rather than raw coding ability.
Have you considered Australia? We have a shortage of good coders, and it's not getting better. A lot of the coders that get interviewed are not great at all.
I've worked for one company that hired remotely out of Russia, and another that hired and sponsored foreigners, though you may need a degree to qualify for that, but I'm not certain. You might need that first starter job on your resume to attract attention before doing this, but it can't hurt to try.
Don't aim straight for Google/Facebook. If you're that good, you'll get there anyway, but in the front door right now might be tough until you've had at least one job, but you can always keep knocking until they open.
Also, that one coding job could be simply doing something specific for your family's company.
You could try A/B testing the recruiters. Find some jobs on job sites you might be interested in, but probably not. Contact them about remote work, figure out how they respond. Test out your cover letter. Test out how github code helps, how your portfolio helps. See how they respond to the idea of remote work. A guy I worked with, desperate to find coding work, spammed the local IT companies on linked-in, and found a sponsored job here in Australia.
457(sponsored) doesn't require a degree. Skilled worker visa does though.
How do you know that you were rejected based on technical merits? A software developer's fit within a team comes down to more than just technical proficiency. Do you work well with others?
I didn't necessarily want to bootstrap, but no one (outside of my business partner, wife & kids) ever believed in me or supported my efforts in any way...and for good reason, I was a classic underachiever until I was 25 or so.
I personally believe that success has to be your life's mission if you are going to be successful. If you know that success, no matter what (as long as it's legal, moral and ethical), is your mission - you should be able to stay motivated through almost anything. It's worked for me.
Note: Success can mean different things to different people. For me it is making a lot of money while doing what I love to do. That and great kids.
Don't take this the wrong way, but the attitude you give off in your writing comes off as kind of entitled. I'm honestly not sure that I would want to work with you. Even after you get a job you will still fail from time to time. I think what matters more is what you take away from failure and the only thing your writing says is: "Woe is me! The world is cruel".
Perhaps taking a critical look at why you were not hired will help you to learn how to correct any perceived deficits those companies say in you? Also network! Even if you live in the middle of nowhere IRC/Google Groups are a great way to talk to like minded people.
I think maybe the author is a bit too optimistic about everything. Building a successful startup isn't easy. It's extremely hard.
When his game had 100K users, he didn't recognize it at the same, but that was actually a once-in-a-lifetime opportunity for most people. I haven't had such an opportunity yet and I've been programming since I was 14. I've also done it all; online games, web design, ATMEL microcontrollers, content management systems, software developer tools...
You just have to focus on an area and work on it for as many years as it takes.
You realized that. You are intelligent like many others in this industry. You've understood that you had potential and now you've got the feeling that you wasted it. Otherwise I can't explain that all your writing is directed towards your past.
I get that you feel sorry for yourself, but this won't help you, it'll lead to a miserable life.
The solution is simple: Start to live your own life. Pack your stuff and go. And when I say it, I mean it.
Stop building these bots if you don't earn money with them. You can start later again if you have companies that want to pay your for this. Start asking for advice for your landing pages, your own website, Hivee and talkbot look like they have interesting content, but it's very inaccessible (e.g. Talkbot: would be a great chance to show the features instead of opening the mail client).
If you have experience doing web development, native app development, AR, NLP, ML and even Hardware/IoT, you are absolutely able to get a job that is paying you a rent and a lot more. Maybe your home city is not right to get a job there, maybe not even your home country. But you really don't want to waste your life feeling sorry for yourself.
So go out and seek opportunities. Use Github and show your projects. Talk to business owners, ask them if you can work for them and search for opportunities to implement software that help them and charge them for your support. Learn to do invoices, seek a mentor who can help you with your tax filing. -- you're not going to build your own life if you're not even able to learn how to get money.
Stop calling yourself a founder: say that you have some projects, but don't sound like a douche bag - having a business means getting revenue. Show people your projects and they will understand that your work can help them. Whining about missing support from people who don't know code is only the absence of creative ideas and valuable projects that even laymen can understand. Work a week for your father and you'll see how inefficient his processes are: improve them, you have the skills. -- When I was 12yo, I was crying once because nobody in my family understood my coding hobby. After I wrote some helpful tools and earned some money, they've realized that this computer stuff is good for me and supported me.
Regarding job interviews: The best way to get hired is to build trust and relationships. You don't have to do whiteboard interviews if you know the right people. I'm not suggesting that this works for Facebook or Google, but there are more than those 5 companies you've listed.
And if nothing works, make a nice CV, write some blog posts and case studies of your projects, create accounts at upwork, craigslist and similar pages and connect with other people through the internet.
So, back to your question: "How do you keep motivated if nobody supports you?" You start to give a f#?k about other opinions and simply hustle, we're not entitled to anything. Stop blaming other circumstances and gain control of your life. You may want to be the highly gifted man who talks about his businesses while living at home or you start to do the real thing - your choice.
1. Lots of projects don't really mean much. More can be worse, as it (potentially) shows an inability to focus on a task. Instead, reduce it to a few core projects. List what technologies they use, what problems they solve and how you solved them. Ideally, upload them to github so that people can see the source code.
2. Move. You're going to have to take the plunge and believe in yourself. Especially if visas are involved, it's far easier to hire someone locally if you have the choice. To be considered for a visa for a common job like programming, you would need to be absolutely amazing.
3. Aptitude. As someone who's hired over a dozen people in various tech and supporting roles, aptitude and team fit are just as if not more critical than actual technical skill. There's no point hiring the greatest programmer in the world if they aren't going to be a good fit or if they can't adapt to different processes. Good programmers are adaptable because they're able to change languages and environments yet carry over their skills in the process.
Good luck finding your path, don't forget to have fun along the way!
Most of the people that do well tend to have a different attitude. They assume that success and failure is in their control (to a limited extent of course). They also tend to do work that they find fulfilling regardless of how much money they make and whether other people shower them with praise or not. In short, the motivation is intrinsic. The success then seems to happen on its own. Not to say that luck is also not a factor but it's out of your hands anyway so focusing on that aspect is wasted mental effort.
Anyway, it sounds like your environment is poisonous, but you can't leave because you don't have money, you don't have money because you don't have a job, and (as far as I can tell) you don't have a job because you're not applying to enough places and you haven't studied properly for coding interviews. Take 2-3 months to compile a large list of companies (50+) and to study for interviews. I know, I know, the typical interview format sucks, but study for it anyway. Then get a job and move somewhere less depressing!
If you want to eventually make money on your own, you'll need to change how you look at business. First things first: don't overestimate the importance of code. Almost all the interviews on Indie Hackers from people making <$1k/mo say, "I haven't done much marketing yet, but I'll get to it one day." And almost all of the interviews from people making >$10k/mo say, "I spend most of my time marketing." There are a few lucky people who've found success without marketing, but you really don't want to rely on luck if you don't have to.
Also, make more posts in Ask HN or on the Indie Hackers forum and let us know how you're doing. Lots of people are happy to provide feedback, and maybe this will help you feel less alone!
Think the interviews are like dates, you have to impress them with your skills, but it is very hard you can do it in your first date in years. You need to get the mind set, you probably need to learn the skills. You can be an awesome developer that if you don't know how to explain it the other person it is not going to know. Communication is important, empathy, charming. It is not only about your CV, it is about you and the image that the other person creates about you.
As a side note, you have a lot of projects, too many in my opinion. I think you should get a project and keep working on it for more time, because you learn a lot of things from small projects but keep learning more when the project matures (maintain code, refactorization, keep adding features, etc).
I think you have emotional baggage here that's preventing you from using the resources that are available to you. First of all, you don't sound like an entrepreneur, you sound much more like a hacker (in the good sense). But you use the word entrepreneur which tells me that you want to make money, but you're not developing a relationship with your dad (who can teach you about running a business) and you're not selling anything (which is the essence of being an entrepreneur). I have gone through some of the same things. I didn't want to work at a big tech company because I was worried about loosing my freedom... but that turned out to be an unfounded fear, once I got over it, which took eight years. And I was older than you before I moved out of my parents' house.
Are you scared that you'll "sell out" and see your dreams vanish? Are you scared that you won't have enough time or money to do the things you want to do? Are you jealous of the wunderkinds of Silicon Valley, the people who went to Stanford and MIT that are making waves in tech?
Yeah, that's normal. It doesn't go away just because you get a job at one of the Big Five tech companies--speaking from personal experience here. It doesn't go away just because you create a startup company--in fact, it usually gets worse. Again, speaking from personal experience.
Take an inventory of what your resources are, and how you make money, where you can move, who you can meet. Take some time to figure out exactly what you want. All your life you will be stretching your resources until you can get what you want.
Maybe you can move and find a business cofounder somewhere who will take advantage of you. Maybe you can work for your dad and reach out to him... if you can convince him that the cool things you're doing are really going to change his life, and not just shuffle money around in Silicon Valley, then you can convince other people too. And if he can convince you that the world of business has something to offer too, well, that could be good lesson.
Again, take my perspective with a grain of salt. There are a lot of smart people on HN but like all humans, we only give advice through the lens of our personal experiences and biases.
Now if that does not appeal to you for some reason you can choose to do something else, but the chance of making money will be less, not zero, but less.
You can go down two roads if you want to do programming; work for somebody or start your own. The first option has the highest chance of landing you a decent paycheck. But don't go for the "Google's" of the world. They pay very well and that is why you will be competing with the best programmers on the planet. Hard fact: You are (probably) not that good. But hay none (with the very few exceptions) of us are, and you don't need to be to be successful. If you want little competition for a good position, find a company which employs programmers but with no "brand". And if you really want to have no competition; they have to make something dull! :) After your first job getting the next one will be much easier.
Finally starting something yourself you have to have tremendous drive. Like you would not believe. Something you hear from time to time about making a start-up is "Starting a company is like eating glass and staring into the abyss." Not fun! I have made my own company and it is something you learn a lot from, mostly about yourself and you earn every penny the hard way and risk loosing it all.
But in the end you have to choose what is best for you. It is your life! As for support find people online or IRL who does the same thing as you. Start-up communities, hacker spaces or any other place where there are people who can inspire you.
Hope this helped and good luck. :)
That said, I looked at your site and it's impressive. No doubt you can build stuff.
The only problem I guess based on this is that you can't commit to a single project. I mentioned above that a lot of Internet related startups started without charging anyone any money, but you should remember that the founders of ALL of the above companies focused 100% of their effort into their single project to get to success.
Again, this is not to say quantity is bad. Actually printing out all kinds of apps like you is 1000 times better than people who never ship because you probably have learned much more than those guys. Plus if you keep going without giving up, you will probably hit a jackpot someday.
But I think quality is also important. At least try to focus on a single project for a while. I have a couple of friends who are like you, they are all creative and competent developers. But they don't like to feel the failure so they end up spreading out their energy on multiple projects simultaneously, just so that they can say "ah that project? It was just for fun, I could have succeeded if I put my full effort into it". Of course they don't say that and probably won't acknowledge it if asked, but I know that's what's going on in their mind, because I feel like doing the same thing all the time, I try to push myself to really go all out on something, so that I can later say I at least tried my best.
You can pay an accountant. They're not that expensive.
My advice: don't take your Dad's offer, yet. Move to the valley. Get a job at a random startup, or big-co. Hell, get a job at a random ass company as the role you want. Provide business value for money for a year then keep interviewing.
Also, based on your portfolio, If you are willing to move to the bay area, I'd phone screen you this week. We'd get you a visa.
Huh, what?
But you're still young at 26 with lots of experience. I didn't even really start my "real" career until about that age.
Moved to California would sell it, but ran out of money. So, I got a gig selling computers. Wrote code in my spare time. Then I got a gig selling software. Designed a better version in my spare time. And then my Boss invested in it. And then we failed at selling it. And then got a new gig writing software. And then another and another.
Then, at one gig I stumbled upon how to make a tool cheaper and better. That turned into a startup. Became a CTO. Had a little success. And then onto the next thing. My old Boss became a friend. So, he invested in the next thing.
In the midst of all that, there were some dry periods. I remember not eating. I remember flunking a job interview after spending my last $100 for a cab ride to get there on time. It felt like: what's the point?
Making a product is not the same as solving a puzzle. I'm an entrepreneur. That is very different from being a software engineer. An engineer is usually forward chaining from tools and patterns. An entrepreneur is usually backward chaining from goals.
I learned a lot from my Dad. I'm glad I worked for him. And I'm glad I moved away.
Could be beneficial to do some more things than just computer, though, just for simple well-roundness and insights into how other facets of life work. Your parents' business is probably a big deal for them and they want it to continue, which doesn't mean you absolutely have to but it's going to be hard for them to let it go, especially if it is a rather successful business.
Maybe just take a normal job for a while? It shouldn't be that hard to get one with your portfolio, and it could even help you relocate. Working at a normal job and doing well could give you some confidence. Or contracting could fit you better, perhaps.
Either way, this is far from catastrophic, as the tone in your writing suggests. 26 is very young and it's not like you haven't gained any knowledge or skills during that time.
> Is it now the time to make money? I think I’m way off... I should’ve been making money since I was 14 years old, I had an online game that reached over 100,000 registered users
Such shoulds do not exist in this universe. That sounds like it may have been a missed opportunity (hard to know for sure how that would have went, really), but that's about it. Often such opportunities do not exist at all. That's not the only thing you've missed, our brains can only work so well, we will miss things.
1. you should distinguish yourself as either a copy paste coder, or a genuinely articulate engineering guy who loves to churn original stuff.
2. if #1 is true, then you should continue to pursue coding as hobby and help your old man in putting his affairs in order by using your skill set.
3. if #2 is true then 1. are you positioning your self correctly? 2. are you reaching out to right set of hiring managers? 3. are you able to effectively communicate in your own mother tongue about your skill set? forget English, clairvoyance could be be exhibited in your language as well. 4. did you analyze why you flunked your interviews, was it communication or technology? 5. are you a guy who starts 20 different things or projects and complete very few. 6. do you have a github page to showcase your technological prowess?
After you analyse your self, ask question, why your brain is so adamant and thinking about taxes etc? could it be way to escape for not accepting that you are not a good engineer?
Your father has given you food and education with his EMPIRE and he is still running it successfully, i would say since he is still supporting you.
Very few of us are luck to have old man setup a running business, if you are not doing any thing right now, sit with him, help him in optimizing his business with your skills, trust me in bad days 1 in hand is better then 2 in bush. Ask him to pay you salary for your time so that you feel independent and lookout for good opportunities simultaneously.
I agree with aasarava's comment regarding entrepreneurship, but something that hasn't been mentioned here is that even if you make something people are "willing to pay for", who's to say someone else isn't making it better than you? Or earlier than you? There is no deterministic formula, everything has a degree of chance and doing what HN comments and their reading recommendations say only sharpen that chance. You do need to take their input, but failure is inevitable. Naysayers and their discouragement are inevitable. Bad shit is inevitable.
So you will face bad days, but finally, you have to make the decision to go forward. Or, you have to make the decision to change course. This is the answer to your main question, you have to keep yourself motivated, even if nobody supports you. You should decide deep down whether something is worth suffering for or not, but that decision has to be internal, as your motivations have to be. I'm not saying you should be completely delusional and deny feedback from reality, but even if you are doing the right things, you will fail and you have to hold yourself up through that.
That's how "success" works. You keep trying through failure and eventually, you'll monte-carlo onto the right spot.
Also, I would definitely recommend reading Robert Greene's book called "Mastery". It talks a lot about how to go about building a career and is a great read.
If I could recommend a practical measure; consider revising your portfolio. No one cares or has time to visit every one of the projects you've listed. And yet your most important ones are given the same weight as your lesser ones. Even worse, the design of the portfolio is not only unflattering visually, but exposes poor implementation choices. I'm on a university network and it took 30 seconds to load the portfolio. Even if you're on a slow ISP, the effect is exacerbated by how slowly the small thumbnails (which are hundreds of kilobytes each) progressively load.
Those all lead to a bad first impression. Edit your portfolio down to your best 5-6 projects. You don't need more than that to show the depth of your experience.
If you are genuine and talented, things will progress fast and you'll get more and increasingly interesting opportunities to grow as an engineer and a human being. But you must not let yourself be scared from taking on responsibility for your own life.
Who gives a shit what your dad thinks about stuff he doesn't know Jack about! He may be disappointed that you don't follow in his footsteps, but he doesn't own you. Don't let him gaslight you into thinking your are a failure. Once he sees you succeed he'll change his mind anyway.
Or employers are looking for things other than raw coding skill?
If that's the case, then that's why you didn't pass the interviews. This "theory" is not just important because a big part of it really works and improves code quality, but it is also a common basis for team work. E.g. maybe yourself you always wrote only functions in C++, never used classes. But for recognizing the structure of another person's code it is quite important to see classes. Few people can think in functions only because university teaches using classes and objects so heavily.
There are also languages you learn in university that seem like coding classes but actually aren't. E.g. learning UML is not about architectural fantasies of people who have a hard time coding, but it is a graphical language to communicate ideas with. In an interview it is quite helpful to know such languages because it helps you express yourself faster to other people who speak it. Also if you don't speak it, interviewers might not find you "intelligent" enough. That is of course wrong, but think about how you feel about people who don't speak your native human language well. It's just human nature to be like that.
And if you just want to start making money out of your coding, check out: https://www.reddit.com/r/Entrepreneur/ and https://www.reddit.com/r/freelance/
As long as you don't make more than $2k a month you can probably pipe your bills and taxes through your fathers company if he allows it.
Also, if your life is continuing to be “wake up, computer, eat, computer, computer, computer”, maybe start broadening your horizons. Take up another hobby or a job in an unrelated field.
You deserve nothing. Anything more is a bonus.
Also, why not work with your dad part of the time? Or at least help him out with the technology in the business. From what I've seen you have the programming and design skills. However, from your post it does seem like you lack the business skill set. You can either learn from him, or by working at a company. You're lucky you have a good resource.
How often are you applying to jobs? You have the skill set and the market is good. It shouldn't be hard to find a job in your situation?
Also, family is the most important thing and your parents don't get any younger :).
"How can I believe in something?" - what does it mean? What do you want to believe in?
It seems that you really enjoy what you are doing and your parents have no problems with you living with them (they have been doing it for 26 years). What is the problem? You said that you have been living on your own for 7 years, were you making money by yourself?
If you are disappointed that your parents "don't believe in you", when you do nothing useful for them, while "consuming resources", you should move away, or get used to it. Sometimes you can not change people.
You wrote that taxes and business is a pain. I have to agree, I feel a sharp pain in my stomach if I think about those things. What people usually do in these situations is to team up with somebody else with complementary skills, so you need a sales / marketing / getting things done type of companion. (however if you find some business that you really like and got some initial cash out of it, the you should outsource all this pain to a $really_good accountant)
If joining the family business sounds like boring for you, then don't do it. Do you live with your family? You could demonstrate that you have something else on your mind by moving out, going abroad or something else, you know, something more visible other than writing code.
Finally, recognize how lucky you are that you live in the Bay Area. I probably would have succeeded by now If I was born there. (yes, big IF). Don't feel bad because those companies passed on you, there are tons of alternatives and you are not really unsuccessful if you make $150k+ and with your resume that should be minimum even if you are a terrible negotiator. So keep up the good work and push it hard :)
Take a break. Think about what you really want to do, and how support from others is necessary. The great founder myth obscures how everyone needs support and encouragement from others to keep going.
You're not too old. Don't compare where you are with where you 'should' be, because I think you have an unrealistic image of where you should be. Any success you have now won't live up to that image, and you'll beat yourself up again and again. You gotta break out of that cycle.
Your parents probably see how unhappy you are, and are trying to guide you to a path where they think you can be happy. They're probably wrong, but I bet they want the best for you and are trying to help in the ways they know how. They're probably frustrated themselves and all that, but go give them some thanks.
You're gonna do okay.
If you want to run a business on your own, stop to jump on every train passing by. Get a deep understand of one thing, no matter if it´s a specific programming language, a problem you would like to solve or maybe indoor navigation / AI. But focus on a single topic at a time, and get an expert within this field.
e.g.: If you are an indoor navigation expert, just thing about problems you could solve with indoor navigation. Do indoor navigation freelance jobs on upwork. Build relationships, go to meetups, join the community, and simply focus on that one topic for at least 2-3 years. if you always jump between technologies, ideas, fun projects, gaming, ios Apps, Bots, whatever - you will never be successful, no matter if you work for a company or if you work for your own business.
Each day; at least once, I try to read/think about something which makes me feel totally worthless. It could be anything, about how there are people out there building really awesome stuff, conducting research in various STEM fields, or producing fantastic works of art, just anything good, really. Elon Musk's Mars mission would be a great example.
Realising this fact makes feel really, really guilty inside, and I know that I am not contributing enough to this world. That's all the motivation I need to get on with my work.
This stuff may sound a little cheesy, but it works for me :)
I'd also suggest placing less importance on your individual background. No one in my family understands a thing about software programming. I found it on my own and had no one to "support" my interest in the subject in the sense that you're talking about. If you love technology and software, then that's the most important thing. Be thankful that you've found enough of the right situation to develop some skill in something you enjoy. Also be thankful you live in a world that values those skills. Even if your immediate world doesn't seem to place much value on programming, I can assure you that the world at large does.
Don't think that the point of being a developer is to score a job at a big, famous company. There are so many random factors that go into the interview process at a large corporation that you can't feel too bad when they don't pan out in your favor. Also, it's even true that the lives of corporate employees are not always that enviable. There's often a lot of dumb organizational crap that you have to deal with and it can be hard to stand out and develop your career when you're just an ant in the army.
Bottom line, if you're a smart, creative, productive person, you can find a way to make a contribution to the world that people will value. Just keep trying. As a young man, you've still got some time and you shouldn't feel overly pressured to attain immediate success.
Finally, your technical interview algorithm/problem solving probably needs work, I would either study for a month+ and improve this area (a good resource would be Cracking the Code Interview), or join a startup instead.
I personally think you'd get a lot out of a startup, you'll learn about what it takes to run a business and have a lot of ownership in what you build.
If i focus, i plan in my head what i want to do and imagine the results. I stay more motivated when i make visual progress. This has always worked for me and i created a lot of big projects on my own this way. Downside for me is that its too easy to focus too much on product and less on market research, marketing, and sales.
Working on that.
But how can we tell if your portfolio doesn't (easily) show off your... code?
I had 250Ks of lines of code on my own when I started my own business. That was enough for me as the code I had created worked for me. 40 Millions? A ridiculous thing, impossible to maintain for any human being. I would get rid of most it.
If I were you I will start learning metaprogramming and learn to make your software work for you instead of the other way around.
With metaprogramming you could decimate your lines of code and be happy.
Learn to enjoy life, go fishing, go swimming, go surfing and meet new people. There are no excuses , you are an adult and can do it, there are very inexpensive activities. Don't worry about being broke, so are birds and dogs or most people in Kenya, and they are pretty happy all day.
I had to learn sales, basic marketing,taxes,basic sex-understanding women(very important), extremely easy compared with programming but you have to do it. You could delegate it later when you make millions so your fear makes no sense to me, you are just fearing the unknown.
Very few people out there are financially independent but most people can get by working for companies. Most of the people here at HN dream on universal income so they could stop working "for the man".
It is clear to me that you value freedom over everything else. Me too. It is amazing being your own boss when you learn how to do it well.
If I were you I will do this: 1-Start making money out of your software. Anything counts. USD 200 fo a month? Great. Easy if your software is worth something.
2-Work for my father using my knowledge on software to improve his business, but make it clear to him that you will get out on your own when you can.
3-Learn a lot from your father. It is going to be extremely useful for your own business and your relationship could improve.
4- Double the income of your small business each month, or at least put this as an objective.200->400->800. Ask your father for advice on business.
5- When you make enough, jump ship to your own business.
It sounds like you have grinded long enough and are due for something positive to happen.
YC apps are due tomorrow. If I get selected I'll interview you for a role at our startup. We are working in the energy efficiency space. www.rebatebus.com
This hit way too close to home. I'm sure computing skills have made me a better person in the long run (logical reasoning, resource planning et al). But I also wish I spent more time working on equally important aspects of my life - starting from those soft skills that make the difference in interviews.