As a full time software engineer, I am wondering if I need to work on my profession, learn new areas such as ML or start implementing my simple ideas and publish them in my free time and at the weekends. Improving my skills on software engineering gives guaranteed value slowly over the years while starting with small apps gives better foundation to do my own startup company later.<p>Can you please give me you feedback/comment from your experience, which helps me to decide which way to go.<p>Thank you :)
In my experience, you learn useful things faster when running your own company, compared to working for someone else. Pretty much by definition, you tend to specialize when working for someone else. You can get unusually good at a certain thing, but you miss out on other things that you could be learning. The thing you specialize in gets boringly easy (from the perspective of what is good enough for the employer), and everything else remains a black box.<p>As a software engineer, the challenge is learning sales, and the art of distribution in general. If you don't want to do sales, avoid B2B software startups entirely, because that is pretty much always the bottleneck unless you are doing some kind of fundamental innovation.<p>I don't know anyone who was so good at technical things that a market formed around them and their technical skills, where I know several people who basically knew they wanted to start a software company, started it, slogged in obscurity for 6-12 months thinking product was the most important thing, and then either gave up and got a job again or learned sales in order to survive, and then after another year or so had a business with more fulfilling work and income than the job they left.<p>The key, regardless of how technical they were, was figure out how to be passable at sales before they ran out of money. Passable sales and passable product ability in practice seems to run circles around great product ability but insufficient sales ability (anecdote, at least for B2B since no one I know has a successful B2C startup). So that is probably the biggest observed blind spot for a software engineer.<p>The other thing is that a particular idea might have a shelf life, but the concept of starting a business doesn't. Besides having kids or impulsive lifestyle inflation, you can pretty much put off or pull forward starting a business with impunity and you just accept the trade offs. Having a job is without question an easier way to make money though, it's just a harder way to make <i>lots</i> of money or have <i>deeply</i> fulfilling work. I suspect much of the problem actually isn't the job itself, it's the nature of specializing.
I'm not one to take advice from and I would never assume to give any on this matter. Just a short anecdote.<p>Max Levchin [Affirm] visited my university my senior year and someone in the audience asked something similar. He told us (paraphrasing) "if you keep holding off building a startup, it will never happen, and if you hold off until you have a stable job and income, it's definitely not going to happen."
It's like having kids. Logic says that it's better to do it later on in life but the best time is a little earlier than you think you're ready.<p>Some people are disciplined about it. They plan and save years in advance, build skills and connections, then build a company after a well planned ritual.<p>Some people cheat on their day jobs, working on a side project at night and on slow days at work. One day, they wake up and realize... oh no, they have 10k users and not enough time to take care of them.
Do both... when you start making more from your side projects, it will be the time to consider leaving your day job and starting a business... By that time, you'll have the experience with running the business and the leap will not be that painful... (unless you are like me and really love your job, then, it will be hard... every year I am postponing my "early retirement")
Learn how to work with people.
There are too many people around here who sit in front of a comp the whole day, and develop the misguided notion that developing their sw skills is all that's required. But in a few years some kid is going to come along and do whatever you are doing faster and better.