This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email sloan@dev.to if you'd like to leave an anonymous comment.
Hi everyone, I'm in a bit of a critical point in my life, and I would be extremely thankful to have the input from people with experience in the software development industry. I've been very anxious about this, so really, thanks for the advise in advance. This might be a little long. I'm sorry.
First, a bit of background: I'm 29, I graduated from Industrial Engineering a couple of years ago. While I was still in university, I also found interest in programming, specifically Android development. No programming was taught in my classes; I just casually came upon the idea through the process of rooting my first Android phones, which was something I enjoyed doing. It's been my dream for some time now to turn my own ideas into apps and make this into my business (first Android apps, then probably iOS apps if all goes well. I'm more of a creative person so I want to release my own apps based on my ideas, not client work.). I would obviously like to have a successful business for that matter. I've taken several online Java and Android courses, and I'm now at a point where I know enough to start building the first app ideas that I've had. I'm still very much a beginner, by the way. So they would be nothing fancy, but they'd be a usable and practical product with the potential of being improved upon as I continue to develop my Android knowledge.
A small note: I like Industrial Engineering too, designing and optimizing processes and all that, and would like to apply this knowledge in my business.
Ok, so I currently have a non-programming job that roughly pays my personal bills. I can do it from home and part-time because it's freelance, which is awesome and quite a miracle in my country. It leaves me a lot of free time to start building stuff and continue learning about Android and more CS stuff. It's also a very non-stressful job, which is very helpful when trying to combine it with other activities. I also struggle with anxiety, OCD and depression, so this kind of job has been a very positive change for my mental health. I would very much love to follow this specific path where I continue to support myself on this job, while I simultaneously start releasing apps and working on this until I actually start earning enough money and can eventually transition to this as my full-time job.
My problem is that I have one major gripe with the previously described path. I have some work experience but in areas that are not related to the software development industry. Earlier this year, I did a short internship at an actual software development company where they did client work. They were supposed to train me further in Android development, but it was pretty much a scam; I didn't receive any sort of training, and I really didn't feel comfortable overall with their culture and everything I could sense from the environment, so I ended up leaving the internship early since it felt like a waste of time and also didn't feel quite right. BUT, while I was there, I was able to pick up on some things as other employees talked to each other. These people seemed to have their processes very clearly defined and fine-tuned. They used a lot of different tools to do several things ranging from communication, tracking project tasks, tracking time, managing the APIs that they built, etc. I obviously didn't have any knowledge of these tools or the processes they followed. I still don't really know exactly what they were doing. I was only able to notice how they had several processes and tools in place. And I couldn't help feeling overwhelmed and anxious about how little I know about all these processes and tools and how much of a disadvantage it is to not have any industry experience like that at all.
I know that having some relevant industry experience increases your chances of your business succeeding. And I obviously want to succeed at my attempt of making a business around my apps. And as I said before, the path that I described first is the one I'd really like to follow. But this experience at the software development company has put the idea in my mind that if I want to be able to have a successful app business (or any other software business), I absolutely need to work at another company that does this, for some time, in order to gain some industry experience and then eventually transition to my own business. I'm having the idea that if I don't go and work at another company, I'll never get the kind of real-world industry knowledge that I need to be successful later, like it's the only way, and if I don't do it, my dream of having my app business would fail very early on. The problem is that for very strong personal reasons, I don't want to work as an employee in another company anymore. So I'm having the idea that if I went through my desired original plan described above, I wouldn't be able to get the same quality of knowledge and industry experience that I would when working at a company and that I would eventually fail. But, as I said, I really don't want to go through working at a company anymore.
A part of me also thinks that if I stick to the path that I want to follow, I could still get that same level of industry knowledge on my own. At some point the founders and/or employees of the company where I did my internship had to sit down and define their processes, do some research on tools and processes that other companies were using, try them out and keep on testing them and optimizing them over time. Maybe they even started from scratch too since the founder was pretty young when he started. So I'd have to follow the same process too until I found my own choice of tools and processes. It would certainly take me longer than if I had worked somewhere else where I could see an example of tools and processes already in place, and it would probably cause a higher amount of setbacks and trial and error. But that's why I'd have the support of my current job (along with living a bit frugally) until things hopefully work well enough for me to be able to fully transition to my app business. I also think that my Industrial Engineering background could actually be very useful in this regard and that things could probably turn out alright.
I don't really know much about this industry as you can see... So I'd like to know the input from persons who actually do. Is it really an absolute must to work at another company? (I know it would be the ideal thing to do... But as I said, I have very strong personal reasons against this.) Or am I a bit too obsessed with this idea and my second point of view is also viable? That where I follow my desired path and can still eventually get the desired level and quality of industry knowledge to make my business succeed.
I'm very sorry for this terribly long post. It's just that I've been very anxious, obsessed and depressed about this. I really needed to talk about it with people who know more about this than I do. And I thank you so much for reading and giving me whatever input you can.
Oldest comments (26)
Short answer: no, you don't have to work at another company if you don't want to - in fact, it might actually hold you back!
Long answer:
It sounds like you're able to work and pay your bills, and also learn Android / do your own development on the side. That's a great position to be in! That means you can learn by actually doing on the side, and not worry about getting paid for it yet.
The best advice I can give is to keep actively working on your own Android apps. I would pick a small (tiny!) app idea that you have, and build that completely and actually release it. It doesn't have to be great (it's your first one!), and doesn't have to be world changing - it just has to actually work.
You'll learn SO MUCH by releasing an app from start to finish. Anytime you run into something hard - that is when you're learning. Lean into that feeling! It's going to be a struggle, but it will be so worth it in the end.
If you go to work for another company, then what you'll be learning is their processes, and their way of doing things - but it sounds like what you really want to do is to do your own thing! So you won't be learning as much as you may think you would at another company.
So: I wouldn't quit your current job (as long as it's still going well for you) - and I wouldn't expect to make a bunch of money quickly by making your own apps... but still make them! You'll learn so much.
And later, if you want to, you can always go work for a "real" software company. Plus - BONUS! You'll have actual, real apps to point to in the app store, so you'll be able to ask for more salary, or a better title, etc.
I hope that helps! I'm happy to answer any other questions. I would only go work somewhere else if you REALLY want to. But if you really want to just develop your own apps - then just do that!
It sounds like you're ready now :)
Completely agree
Build a lot of apps fast, get people to install & use them. Focus on that. Keep doing it. If one of them starts to feel like it has loads of potential, grow it further.
If you have a few reasonable apps with some installs, people will pay you to work on theirs. From there you can take the direction you want.
Keep your paid work until you feel ready.
Hello Sloan.
Firstly thanks for the post and. Bit about me. I am a c# Dev with 3 years industry experience.
In answer to your question. No it is not absolutely necessary to have industry experience, however it does make getting a job or clients easier.
I am speaking from experience, I have a degree in a niche engineering sector and I am currently employed as a C# Dev working on some pretty cool tech stuff, Azure, microservices, serverless etc.
I too wanted to get into programming and tech and that was around 3 years ago after going through some hard personal stuff.
For me I simply kept learning the craft whilst applying for junior jobs, until I found a company willing to take a chance.
I am essentially self taught. At first it was hard and frustrating, but not giving up and continuing go learn helped me to secure my job.
The best thing you can do is learn everything you can. Look at example projects on your favourite repository (GitHub, gitlab etc.) Read blog posts, hell write blog posts about what you've learned, get involved and never give up.
If it takes a month great, if it takes 12 so what, you will still have achieved what you set out to do.
Good luck and if you need more advice then shout up, this industry is one that generally cares!
My advice would be, don't jump in cold as a total beginner with no industry experience and try to support yourself full time with your own business. I have only second degree knowledge about the mobile market, but from what I gather it is extremely cut throat and a bit of a lottery until you make it.
Plus, if you want to run a one person business, you will need to do it all. Accounting, Marketing, Sales, Development, Testing, Customer Support, etc.
This takes time, especially when you have no prior experience. You will make mistakes. These mistakes will cost you money. This is how you will learn.
I don't think it necessarily matters if you gain the experience on your own or in an organization, but I think it matters that you don't put your livelihood on the line.
You say that you struggle with anxiety and depression. I can tell you from experience, running your own business is very taxing on your nerves. It is extremely difficult to take a break, it is likely that you will think about it constantly. I did that, I started a business and on top, I tried to support my family of four with it. I failed, I burned out. I didn't have the resources to make up for the months where business was slow. After a year I closed and am now happily employed. But that is me. At the same time, I can tell you, that there are few things as rewarding as celebrating successes in your own business. It's awesome.
As just a random person on the internet, I can only offer you my perspective on this. In the end, you will need to figure it out on your own.
My advice to you would be this: If you have a stable job, that supports your live style and at the same time leaves enough room to work on an app, keep the job and develop that app on the side. Gain experience. If you fail, great, learn from it. If you succeed, awesome, you earned it. But for your mental health, stay safe until you are good enough, successful enough to leave your job. That's when you take the plunge.
You are 29, there is no need to rush.
I don't know if you're asking the right question, to be honest. It sounds like you want to strike out on your own without having worked in a formal job doing software development long term.
As long as you know what parts go into what you want to do, you'll be fine. You're always going to have growing pains regardless of your background, so there's no point to fretting about one piece.
Like, yeah, you may not know the ins and outs of making a perfect build pipeline, but do you need that right now? You also likely have never worked in marketing, but do you think you need a marketing job in order to get users for your app? Nah, Google it or hire a firm for that if you need it. If you find you don't like manually building an app and pushing it up somewhere, Google alternatives and figure out about build processes then.
Speaking as someone with almost 20 years of industry experience... No, industry experience is not needed. At least not for the reasons you mentioned. There is no one right way for doing anything, no one true tool for anything. The truth is that everyone is just winging it, solving problems on the fly, iterating and changing things as they go. I've never worked in a place that operated the same from one year to the next.
Also, processes differ wildly, due to many factors. Number of employees, type of work, type of clients, type of software... Actual processes and tools you'd pick up working 'in the industry' probably won't even be applicable to your situation when striking out on your own.
Vast majority of tools and processes are there to facilitate efficient communication and collaboration between different people with different roles, different needs and goals. Working solo, you avoid all of that. If your app making career takes off and you end up needing to employ or partner with other developers, that's when you'll need to set up your way of doing things. But, you'll cross that bridge when you get there. And there will be plenty of books, blogs and other resources to help you along. You can even ask here. :-)
So, as to not knowing 'how industry works' - no need to worry about that. But, what I would like to caution you about is your business plan. Mobile apps industry is extremely competitive, and having a successful app is very, very hard, especially if you want to go it alone. You need to prepare yourself for a long, hard slog. Expect to have several false starts and apps that get no traction. Rovio got a huge hit with Angry Birds, but it was their 52nd mobile game! All previous were flops. I'd advise you to approach your early attempts as learning experiences, worth it for the journey itself. If any get traction, great. If not, never mind, you'll learn from it. But be prepared to move on and move fast to the next project. With some luck, you'll get a winner eventually.
Hope this helps, I wish you good luck.
Define "industry experience"...
As it pertains to the definition of working for a company and picking up tidbits from there: no, this is not mandatory at all.
As it pertains to industry experience as it pertains to getting a mentor from the industry or surrounding yourself with peers who have industry experience: yes... Sooner than later, but not day 1.
Learning with / from those in the industry provides insight into the nuances you'll never get by yourself: code that is written well because ONE DAY someone may take over the coding while you concentrate elsewhere. Good code that can be picked up / understood easily is worth it's weight in gold.
If you are thinking of expanding one day to more than just yourself the surrounding yourself w/ I dustry folks can help you learn about good programming practices within groups.
I'm pretty sure that articles attract a wider audience than audio recordings (by far). Why? Because you can only listen to someone speaking in realtime, maybe 1.5x realtime before it gets too fast, but when you have a written article you can skim through and even skip paragraphs. So articles might cost you more time to write than recording some audio, but articles save your audience time.
In the 80's and 90's it was not possible, because the industry used very expensive closed-source applications and frameworks. No student or private person could afford these things. (Speaking of software in general, because there were no mobiles of course.)
But nowadays it's completely different. The leading technologies are free, well documented, have big communities, and are being taught in every university, especially when it comes to UI/UX development and mobile apps.
=> It's easier than ever before to produce industry-level software on your own.
The simple answer is: yes; if you're developing apps you're gaining relevant experience!
It sounds like you're in a relatively comfortable position to make the transition: a regular income with time on the side for your own projects. If your plan is to set up your own business then for the time being just do what's right for you.
The tools you encounter in a work environment are often there to facilitate working in teams; but can be useful on personal projects too - e.g. code repos such as Git are invaluable for backing up code and allow you to experiment with ideas whilst being able to revert changes if necessary. But no-one is expected to know all these tools in-depth: you usually choose a specialism and concentrate on that.
If you want demonstrable 'industry' experience for the purpose of getting a job you could also consider working on Open Source projects. They'll be using similar tooling but you won't be in a high-pressure work environment; so it may be a more comfortable introduction.