I am a 29 yo Business Analyst in a consulting firm. I've just finished the online python course "Automate the boring stuff with Python". It turned out I don't have that kind of stuff that can be automated or instead maybe it'd take me hours just to code for little time efficiency. I need more reasons to keep learning Python.
One reason I started learning Python was to maybe do something on the side that earns me money. One solution might be to create some web app if I have some idea. It feels like it needs a lot of skill to get to a point where you are really good. So, why don't just use Zapier/Wordpress etc instead of just blindly wasting hundreds of hours learning something which might never result in producing anything? Or maybe It's not that hard to learn Django or other libraries to build such things..after all I know the basics of Python. I hope somebody could give me some advice. Thanks
Keep learning.
It never goes to waste. I used to think why bother learning to play the drums when you’ve got drum machines. But when you learn about things like ghost notes, triplets, etc you also learn to play the machine better.
And that’s the case here. Using no-code tools doesn’t take away any of the functional logic in an app (in Zapier’s case, their if/then triggers) - it just abstracts it away. Learning to code makes you better at solving problems that come up. Django may be one framework you pick up, and that’s another abstraction. I’d say it’s still useful.
Also, use the tools that get the job done. It’s like the old saying: “If your only tool is a hammer, then every problem looks like a nail." If money is the end goal, find what people are willing to pay for. If learning and the creation aspect motivate you, find a fun project you could finish off in 4 hours. Motivation is key.
If you can create your MVP by Zapier and Wordpress, then by all means, do it. In a startup, tech is the easiest part. Product-market fit, marketing and sales are harder so make sure to get these right.
You should treat these as separate streams/objectives:
It's totally fine to continue to learn to code, and still use "no-code" solutions to speed up or automate various parts of your business.
If you listen to Ep. 149, Greg talks about leaning heavily on no-code solutions, even though he is a capable developer.
Most of the time, it's harder to validate/market/sell ideas than it is to write novel pieces of code.
No-code lets you ship an MVP faster, because you're investing less time in technical minutiae. Faster shipping means a faster feedback cycle. Faster feedback cycle means you can make a lot of small bets, rather than investing a lot of time in one big bet. Statistically, a lot of small bets have a better chance of paying off for you.
In the mean time, you can continue to learn to code, and at some point in the future, you will encounter a scenario where you can apply your coding skill to do something a no-code tool couldn't offer.
I also have a business background with no formal CS degree. Keep going with Python I was able to use it to analyze data and develop scripts to consume APIs at work. So you'll definitely be more valuable with python on the resume.
As for side projects, you could use a blend of no-code and code. It doesn't have to be either or. Whether you use code or not you still have to go through the effort of finding a real business problem that you're motivated to solve. My current dilemma.
The formal answer is both. Or no code until you need code then maybe the project you'll use only code.
Disclosure: I have a computer science degree and 5 years experience as a professional web and mobile developer, including Django (wrote berkeleytime.com in Django a while ago).
I think it really depends a lot on what sort of idea you have. For example, if you want to start a business where you solicit resumes and do resume review for money, pretty much everything you need can be solved with Wordpress or Squarespace. If you need a more complicated web application, with user sessions, user interaction, lots of user-specific data rendering, etc, then it might be better to learn Django.
However, learning backend application engineering isn't a small task, even if you already know python. You have to learn about databases/sql, networking, Django-specific concepts, user authentication, cookies, etc if you really want to understand how your application works and build it effectively. I think it's doable and it's an investment that will pay off, but I think you should allocate at least 2 months to get to an MVP if you want to go that route.
So I would say - unless you're interested just for fun, wait to learn Django until you have a use case for it. Just my two cents, good luck!
Hey,
Full disclosure, I have a computer science degree and have been programming for more than 10 years now, so take my words with a grain of salt.
Once you know the basics of programming and well-rounded in the syntax of a language, it is not that hard to start writing scripts. By scripts, I mean simple programs that do 1-2-3 steps in order, live in the safe environment of your computer, and don't have much influence from the outside world on it. Same goes for frameworks, as long as you stay in what frameworks designed to do, you should be fine. Problems begin when the real world comes to play:
The reality is you're very unlikely to learn all of that upfront and be prepared for everything real program/website has to throw at you. BUT, and this is a big one. Unless you're at a scale of thousands of users it is not that hard to figure out solutions for any of those problems when you need it.
My advice would be, keep learning programming if you like it, but find yourself some idea you want to build towards. This will put a frame around what you learn and will give you a real experience. I would highly recommend picking a framework like Django and follow along. If you're up for learning javascript, I would recommend Next.js and vercel (their parent company). They make it really simple to build good performant websites.
If you don't enjoy learning code, then I would go the route of giving a try to no-code tools. You can go pretty far with them, though it is a bit more expensive. It is generally much faster to use no-code tools than program yourself. Even if you're a very good programmer. If your problem is custom that doesn't have a solution with no-code yet, only then go programming route. And when you do need programming to start a business, I recommend going the technical co-founder route. I believe it is too tall of a task for a person with no experience in programming at all to code and solve a problem at the same time.
Hope this helps!
I personally always prefer to code something vs use a no-code solution.
Edit: In terms of business, it might be way faster, cheaper and easier to use existing projects. But it comes with the cost of lock-ins, flexibility and fun.