Even if I don’t make any revenue, I think they will help me stand out in the job market. I think some of them would be a better fit for open source than others. Most of them would probably be more useful to power users than general users. I would be a little upset with myself if I give them away and get nothing when there is a chance to make some income.
Either way, I’ve heard that marketing is important. Now that they are mostly done, this will probably be what I work on next. For some advice, I've been in contact with a successful independent developer. They attribute their success to hard work, and a large portion to luck and timing.
If you also have any personal experience with side projects you can share that might relate to my situation I would appreciate it. Did you release the project as open source or closed? What went well? What mistakes did you make? Etc.
Some more background information for those interested. There are a few bigger projects that I have worked on. The first is a goal management app with a focus on habit creation that uses the Beeminder API. The next is a tool to help learn more advanced keyboard shortcuts. A couple are related to window management and window switching, sort of an alt tab enhancement. One is educational content for having a better relationship with your screen based devices.
I graduated from college close to four years ago. After I graduated I was struggling to find a job related to my degree (Applied Computing Technology) so I took on a job to get by and I started to work on my side projects more. Before I knew I it I was working on them a lot. It has gotten to the point where I have finished most the major work on them. I want to do something with at least a couple of them as I get more serious about applying for jobs related to my degree again.
I think a trap for software creators is to think that making the software is the hard part about making a successful product that generates income. The hard part of any business is the part you do not like doing, have little experience with and don't really know how to approach. For Marketing majors, the hard part is creating an actual product. For CS folks, the hardest parts include marketing, client acquisition, sales.
I would say: either you give your products / efforts away (possibly in some hobbled form for upselling like https://news.ycombinator.com/item?id=39492618), or you treat the "other side" as actual work and put in the effort to make it profitable. The latter also includes educating yourself on how to go about it, also using professional sources where necessary.
I tried both. Selling small apps is an uphill battle against Apple updates forcing you to buy and recompile. And even if people only paid $1, they will expect professional support. Nowadays, niche apps on iOS don't work financially.
And my experience with releasing useful tools as open source was that companies started linking to them in tutorials, and then their customers sent me unfriendly email and demanded that I provide support for the tool and solve their problems (for free). Most useful open source tools have companies paying the core crew.
For your CV, a video of the app working is probably just as valuable as actually releasing it. And then you can always link to a private copy of the source code in your CV.
EDIT: I focused too much on the negatives at first. What did work well for me was $10/month SaaS and $100+ professional desktop apps. But going there requires lots of polishing, marketing, and I hired support employees.
- All software is derivative. Yours included. Putting it out there is like planting a seed for more to grow, even if it’s just an AI ingesting your work.
- The last two points aren’t mutually exclusive.
Put your work out there in the clear for free, as in freedom, but paid, as in you can get paid. Just don’t expect much.
Here’s the recipe for success, as far as I can tell: 1. You’re not going to make any money from your side projects. Internalize that, and believe it. 2. Do everything in your power to try to make money from your side projects.
Both parts are important. Step one means that you won’t take it personally if you fail. You won’t be disappointed because you weren’t hoping for anything to begin with. Step two means you’ll actually put in effort where it counts, by analyzing the situation dispassionately. Do those things that people say are important. Market your work. The best marketing I’ve found is to make entertaining HN and Twitter posts (seriously; 100% of whatever small amount of notoriety I have stems from these two sources). More importantly, design your apps to be gathering money. That means doing something that most people would call "a dick move". Perfect example: I just tried a 3d scanner app called prodAR. There was no tutorial, some of the interface was broken, it didn’t support screen rotation, and it demanded $30/yr before it allowed me to save my scan. I paid the $30. Why? Because it yields the best scans of any app I tried. It delivers quality where it counts, and wastes zero time anywhere else. This is the essence of being effective.
Personally, I’m terrible at step two. I can’t bring myself mentally to be ok with shipping a 3d scanner that doesn’t e.g. support screen rotation. That’s also why I haven’t shipped anything that generates passive income, and why I’m trying to steer you the other direction. It’s really ok to ship crap, as long as it’s crap in areas that aren’t the core value proposition of your product. It’s arguably necessary to ship crap if you ever intend to make money. Even pg would admit his initial v0 of startup news was (very) slightly crappy in areas that didn’t get in the way of the essence of what became Hacker News.
That’s the best I’ve got. Good luck, and I hope you make a nice passive income stream for yourself. Don’t underestimate the effects of growth; even $30/mo should impress you, not disappoint you, as long as you focus on exactly one thing: make that number go up over time, superlinearly. https://paulgraham.com/superlinear.html
a. Open sourced software is immediately found and used
b. Getting money from software is as easy as placing it online
Neither one is true, nobody will give you money without you putting it some effort, whether it’s through advertising or if you already have a sizable following ready to buy your products. If you’re neither, feel free to open source it and expect zero user and zero income, just have it as a showcase if you’d like.
Hey, I recognize that name. https://github.com/hiAndrewQuinn/anki-zero
Put yourself in the shoes of a person looking to recruit someone for a job. What is more important to you: Getting the best possible talent you can, or getting talent that won't fuck things up? Most of us need to hire for the latter.
>I would be a little upset with myself if I give them away and get nothing when there is a chance to make some income.
Putting well-developed projects on Github creates a hard to fake signal that you at least kind of know what you're doing. You are aware not only of how to program, but of several of the other things around how people build modern software nowadays. If you get some stars or whatnot, even better - that shows you know how to create software other people are actually interested in using.
In other words, if your projects end up being even 10% of the reason you manage to land a job in the industry, then they will have been worth many hundreds of thousands of dollars over the course of your life. That's how I have always seen it, at least.
There’s your problem. You see the side project as sunken cost. Something you need to recoup. And yet, it’s already given you more than you asked for.
Hundreds of thousands of hours can go into something and be open source and free. Because the value gained is far greater.
I don’t know if junior devs have a different experience but I don't find projects help you stand out at all. Third party recruiters are going to find you, via linked in if you have the right keywords in your profile, and they will get you interviews.
Getting a “call back” may be a champagne popping moment in other professions, but not in software engineering, getting interviews isn't the problem its passing the random af broken af technical interview, system design, behavioral/culture interview.
but everything youre optimizing for is the “call back”, which your projects wont help with
speaking of junior dev, that really just means lack of validation from a company for several years. so all you gotta do is form a company say you worked for them and point to their product. literally just do a wyoming llc for $120 online, make a website about the product, say you worked for that now real company. congratulations you're a senior engineer now, you’ve already done the software work just transpose it on the dumb uncalibrated ways employers try to identify competence
It's great that you have written the projects, but: realize that there are dozens, hundreds, maybe thousands of similar apps out there. Unless you actively enjoy marketing, don't try to sell your apps.
Have you gotten any feedback from people on these projects? If you get feedback from people that might give you a hit as to whether they might be willing to pay money for such things.
When you put a lot of time into something and are understandably pleased with the result it can be hard to look at it objectively and you are likely to overvalue your work relative to someone who isn't invested in it. Maybe just look at them as a stepping stone learning experiences to bigger and better things.
Typically the marginal value of a better job in software dwarfs the revenue you could make from selling software.
"Applied Computing Technology" is not something I've ever heard of, however. It's a bit hard to give advice, because I can't tell what kinds of jobs you might be likely to get; going 4 years between degree and job suggests that your options might be somewhat limited. Having evidence of successful open source projects might make you stand out.
- If you strictly made it to make money, then release it as a paid product but assume it might not make any money at all or that it will take time to make money. I believe that there's a general advice to shut down a project that doesn't make money in a very short time but some projects take awhile to gain traction. You can also use this as a learning experience in marketing/sales. Play around with the pricing over time (starting with much lower rates than you'd planned for) and see what works. You'll learn from it.
- Another option is to shut down the project entirely. You still have your code and they might come in handy when you work on other projects in the future (this has happened to me with multiple side projects)
But to sell software to someone else, you need to know that the benefit you’re offering to potential customers is something that they actually want or need.
For example, the tool to learn keyboard shortcuts. How many customers want that? How many customers have a pain point with being unable to learn keyboard shortcuts? Of those people, how much are they willing to pay for the solution? How will you find those prospects and convert them into paying customers?
Your ideas haven’t really been validated by anyone (unless they actually have users and you haven’t mentioned it)
The other part of this equation is that having a business with customers is way often far more work than the time spent building the technical solution.
You say that these solutions are basically done but that’s the easy part. If the goal was to make these projects into a business you might as well have pitched the ideas before you even built them…because if prospective customers showed you their disinterest you could have spared yourself the time and effort actually building them in the first place.
If you have a thousand people who gave you their email for a waiting list for beta access to a product you haven’t even started building that’s way better than having a finished product with no interested parties.
All of that said, my advice would be to put those projects in your portfolio for your resume for your industry job. They can be the projects you talk about when interviewers ask you about your experience (but you also need to convince employers that you can work well on a team team others).
If you want a job in the industry you need to focus more on the quality of your resume and your job application process than any of your actual coding work. The task of getting a tech job is almost entirely detached from everything you’ve done to this point. You are working a numbers game where less than 10% interview rate is normal and expected, so your job now is to be as efficient and effective as possible, putting on the best show for prospective employers.
I would get more eyes on my resume to hone it and make sure it is one that will get you a high interview percentage. I wouldn’t waste my time on the side project stuff unless one or more of them was something I was confident in enough to dedicate a significant effort into making selling and supporting that product.
The latter step means if someone is willing to provide any improvements then they must publish it, which allows you to point at it as being the one now up to date.
I choose AGPL for mine.
I’ve fallen into the trap where I was building a side project with a glimmer of hope that it will turn into a viable venture. I really enjoyed building them, but did not appreciate how much I enjoyed it at the time. I now try to be more aware of how much I really enjoy them while I work on them.
I am tempted to completely not mention them in mine, even though I have hundreds of thousands of users
Why? Because they distract from the "clean track record" of working for big corp, and perhaps the hiring manager will think less of me because of them ("not devoted to big corp enough"). Worse, they might think I will quit my job as soon as I am able to make a living from them, which isn't true but not entirely false either
1. Take all of the side projects that are too niche and/or unsellable and polish up the code then open source it (add it to your portfolio/resume).
2. Take the projects that are sellable and publish them in places people can find them (app store, on the web, etc) then put it on your portfolio/resume.
3. With your beefier resume/portfolio in hand, find a job.
it's unlikely you will be able to live on the income from your side project, particularly in what seems to be very niche.
Having made actual useful things would put you above at least two-thirds of the grad candidates I've interviewed (though that is in a South African context).
It's OK to abandon your side-project
If you are employed it might be a path to consider?
My advice: pick one, try and release it as a paid product. You'll face what people mean when they say "marketing is hard" and "distribution is everything".
There is a very large probability that your product is going to fail. And it's ok. The learning is worth it. What you need to be aware of is that you shouldn't sink a ton of time into them.
So make a front page, a demo, a signup form, whatever you feel is better, but release the thing as soon as possible. Then, when you do your "show hn" and people respond with "meh" or "yay", you'll know. Don't push too hard if people don't "get it".
Don't do open source, it won't help in your job search (if anything, people will scrutinize your projects, and find they wouldn't have done it the same way).
Literally, this is Big Bang's Theory Penny trying to "make it" into big-star actress with no education and while working a waitressing job.
It would be amusing if it wouldn't be sad. And it's sad coze any attempt (like this one) of talking some sense into the wanna be superstar with little education, experience and effort (although they think working these side projects is effort, it doesn't compare with hard work in a demanding job) ... any such effort is met with furious downvoting from the seemingly smarter than average HN crowd. Only it seems there's plenty of Pennys out there and cancel culture works best for them.