I doubt it. I've hired two 18 year olds to work remotely for me, one of whom does excellent quantitative analysis I've yet to see out of anyone I've employed with an advanced degree.
Companies are by and large very stupid. Don't devalue yourself or your skills.
Craigslist is decent.
One of the best things you can do is invest in a Github or open source portfolio where you demonstrate proficiency with various technologies, methods, and algorithms. It'll be easy for me (or other hiring managers) to look at it, ring you up, ask you questions to make sure you didn't fully steal all the work, and task you with some basic contract work to see if it's a good fit. Then we go from there.
I got a lot of recruiting requests after I contributed a pretty solid amount of documentation and debugging work towards Facebook's HipHop (now hhvm, sort of anyway) repository and project.
You won't get paid upfront, obviously, but consider it a good investment. Hiring managers are more increasingly wanting to see proof that you can do work, especially independently.
Good luck. And if you're handy with R-stats, quant work, machine learning, and maybe even some Python/shell programming (have an application that could use some freelance work), hit me up. Info in my bio.
The best projects and rates are through your network.
Family friends, businesses your family uses like you mention.
So start asking around who needs a website or web application. Those will be your best gigs, projects and clients.
Look for ways to setup recurring revenue. Maybe a business needs a website offer to build them a basic website, maintenance, hosting, backups and updates for $99/mo set it up with Stripe or Paypal recurring payments. Increase the cost as pages grow. Offer to include once monthly limited updates, usually clients will only update a page every month or so but you can adjust pricing accordingly.
Or if you build a web application for a client offer a maintenance plan that includes hosting, maintenance, database backups, etc.
This podcast has some great information to start building your own products and apps.
Startupsfortherestofus.com
And like others have mentioned patio11 has tons of great info.
Good luck.
I did this as a teenager and it ended up being a nightmare because you become a magnet for people who want thousands upon thousands of work done for no upfront cost and a low monthly fee. And it puts you in a terrible spot as you are strongly incentivized to say "Yes" to those people because you are desperate for the money and experience.
My recommendation would be to estimate and bill for the actual time put into those projects and have a fair hourly rate that reflects your knowledge and experience.
That way your value proposition for a monthly fee is that it effectively acts as an extended warranty, and saves the upfront costs for a client. But you need to be confident they will sign a term agreement (24+ months) and they need to be confident they can depend on you to fix things when/if they break over that long period of time.
I've seen plenty of scenarios where money has been left on the table for a client who was willing to pay upfront and the contractor did themselves out of a nice fat cheque by talking the client into a monthly arrangement (which just gives them a debtor issue).
Yeah, they're obviously not as good as your own network. But, if you literally don't have anything else going on they're a start.
Regarding the rates being low on sites like this. Sure there are low rate jobs, and a bunch of people who compete by lowering rates. That doesn't mean you have to do that. It's completely possible to ask for more money on upwork & friends. The classic patio11 advice of charging more works just as fine on upwork as it does elsewhere.
Indeed. Consider taking out an ad in your school newspaper; I had good luck with that back in the day.
That's for strangers for business relationships. You should up your rate every 2-3 months to begin with as you build up your portfolio.
For starting out I would target at least $20 per hour as your target hourly rate. Sounds like you have a bit of experience so you could probably go higher. Use this target hourly rate to set your fixed fee prices.
As you gain more experience and get better clients and projects increase your hourly rate. You'll get faster at things too. So you can increase your rates over time up to $50/hr and $100/hr+.
Learning Rails or Laravel to expand your skills and earning potential. Plus they make working on even small projects easier/faster. I'm a big fan of Laravel. Check out forge.laravel.com for setting up and deploying to VPS.
Also break projects down in to phases. That way you don't have a large fixed fee phase that takes up too much time.
For new/most clients get 50% up front and 50% upon completion for each phase.
Create a simple contract that outlines the scope of work for each phase. If there are changes or additions make sure to send the client an addition to the scope of work with a price increase to approve for that phase.
In the UK the low end of website design has been eaten up by the DIY web-builders (eg Wix). Usually you can tell, because of the inferior (!) design the small companies that aren't using such tools - often they appear to be using "bedroom companies".
When you get up to a reasonable price then IMO you can't expect to get a good enough product from a singleton worker any more (I used to do some full-stack web design/dev). Sure the design could be great, what about the back-end security, what about the optimisation, what about the SEO, social media promotion/interop, ...
Even just a couple of years has changed this market considerably.
That said small businesses don't always know about the advances, so you can probably still get work.
I started on Upwork with a very low rate (~$20/h) and applied to as many jobs as the platform allowed me to, with a custom cover letter for every single one. It was time intensive, but without any reviews it's your only way to stand out.
After I got my first project, I made sure that my client was blown away by everything: communication, turnaround time, code quality, etc. When I was sure the client was happy with the result, I asked him if he could leave me a review describing the process of working with me. By asking, you're letting him know that his review matters, and he'll probably put some extra effort instead of just writing something for the sake of it.
I kept (slowly) increasing my rate and continued sending custom proposals for clients. This is your advantage over all the low bids you can be sure they're getting.
After a few projects under my belt, I've built my personal portfolio, making sure Upwork reviews were there, along with a small description of the projects I completed. I've published my portfolio around in a few relevant websites and this has brought me client work directly to me a bunch of times.
After a while, you'll notice you're getting more proposals than you can handle, mostly uninteresting and low pay. That's when I've set my Upwork rate to something high enough that clients that weren't serious just wouldn't contact me.
I was 20 when I started doing this. I'm 23 now, with my MSc almost complete (just delivered my thesis this week) and a remote job working full-time at a startup with a great salary.
This is not a fool-proof plan, I may have gotten lucky here and there, but it is absolutely viable to do this without a resume. I've never had a resume to this day.
So again, not sure how well the advice translates to your area -- but try looking for places that ask for coding samples or projects instead of resumes.
Also, unless this is your full time work, make sure you concentrate on other aspects of your acads. I lost out a lot in my regular college trying to freelance(gain experience) with little to show for at the end both money and projects wise. It's quite hard for me to find work locally as well as internationally now that I am about to graduate(non CS degree) and most of the companies are skeptical about hiring an Indian without a relevant degree to do work that matters. I want to work on low level stuff/networking and all I could find are web development profiles.
This story sounds a bit depressing. I hope you will find a way to do what you love. Maybe there are some hardware startups where you can work.
Also, adding to the fact that I am entirely self taught I sometimes wonder maybe I am missing out on a lot of theoretical stuff they teach in a CS degree.
Short answer is very probably not.
Theory helps, and it can help a lot depending on what problems you're solving. But if you know the basics (Why's and How's) of the code that you write, that'll be enough theory to get you where you want to go, especially in the late teens/early 20's (in my experience).
Source: I'm also self-taught, and proudly so. I don't really find that people ask why I don't have a CS degree, as long as I write good code.
A CS degree is useful for a software engineer, but most of what you learn is only tangential to software engineering. Many of the best engineers are self taught.
That said, some of the basic stuff from CS is pretty useful. I'd definitely encourage you to learn data structures and algorithms. Just pick up a good textbook and go through it! (I like to recommend this one: https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena...).
Another suggestion I have is to seriously think about why you want to do work in lower level stuff. The large majority of jobs are in web development right now, so trying to avoid that really limits your options. There's really nothing more sophisticated or interesting going on at the low levels. I've seen a lot of people come into a software engineering career with preconceptions about exactly what sort of work they want to do, and at the end of the day, I don't think those preconceptions have made any of them happy.
I will definitely check that book out. Thanks
It might take you a couple of hops to get there, but I think the fastest way would be to limit yourself to what people want to hire for and then pick the one closest to your interests, excel for a year or two and then use that professional capital to pivot closer to what you're really interested in.
So, first and foremost, look for projects/companies/organisations where the work is both maximally interesting and maximally personally challenging. There's a lot of living-on-the-edge startups and NGOs that can't pay very much, but wouldn't care about your age if you've got the skills they need. The monthly Hacker News "who's hiring" threads are littered with such companies. The best hire I ever made was via a "who's hiring" post -- I had a scrappy but exciting startup, and was thrilled to find an incredibly talented developer who wanted to work on it at way below market rate. Took me almost a year to find out that he was 19. Really didn't matter, given his competence. He's now accumulating a co-founder's worth of equity, so hopefully the investment will ultimately pay off for him.
Tl;dr, here's your sort algorithm, in order of priority:
1. They don't ask and/or care about your age. (You don't need that BS.)
2. Company/organisation/product is something you actually feel quite passionate about.
3. The role you'd be given is very challenging and would do a lot to develop your skills.
4. Last and least: salary.
Another idea is to tutor introductory college students. I made reasonable money in college as a math tutor, even as a freshman. The college had a tutoring center, who paid my wage, so I didn't have to deal with collecting money from my students.
My biggest advice: get involved into local meetups. Talk to people, try to make a good impression. Try to get friends with the organizers, so you can become a coorganizer eventually.
I'm getting a lot of job offers, but really, the only worth looking at, are those you get offered by other programmers you get to talk with.
Try to read a lot of development blog posts/be active on chats as this way you get knowledge to make up for your lack of experience when discussing technical topics.
EDIT: Addition: Nobody cares about your age if you can deliver.
I was in the exact same situation as you a few years back. I started freelancing on my 19th birthday (literally) after finding out eLance existed. At the time, I had advanced HTML/CSS skills and could barely build a WordPress theme.
My first 2 projects on eLance were the worst. Effectively doing copy and paste work for what ended up being less than $5/hr. I did get some good reviews though. From there I actually got some good clients, some of which I still work with today. My focus was getting projects the final 20% of the way when hiring cheap work overseas didn't work out for them. Clients were more willing to hire a local (USA) contractor and at higher rates to solve their problem, remember this.
After about 6 months, I stopped using eLance. The model is skewed against high quality work and creates a race to the bottom pricing wise. I was able to find enough work to sustain me through local networking (Meetups are awesome) and a coworking space and I haven't looked back.
I'm 24 now, and I have grown a small freelance gig to my full time income. I have multiple Fortune 1000 companies relying on my services for their performance on search engines, and I have the luxury of working on projects/clients that are a good fit (rather than taking on bad clients because I need to).
My best recommendations: - Focus on what problem you can solve for a business rather then what technologies you use (you're an artisan, not a tool). - Network. Network. Network. This can be in-person or virtual. - Don't focus on your age, clients care about your ability to get work done. - Keep honing in /learning new skills that can make you better serve your clients more efficiently. - Don't be afraid to ask for the sale, or to ask clients for referrals to others
If you'd like email me (in my bio) and i'd be more than happy to pass your resume along to some people in my network.
Good luck!
I have a bunch of side projects and had some college kids that were interested in a paid internship kind of thing. I spent time and money getting them set up and explaining the project, etc. They totally flaked out and just didn't follow through. You have to understand that time and energy is expended on the other side. I've always taken a "prove myself" perspective. "Yeah, I'll do a little work at $10/hr but then we need to reevaluate things based on my value". You aren't locked in to a bad contract and have the ability to move up. I'm sure there are people on here who will give you a chance, including me if you have any web experience.
After 4-5 months, I've decided to become a freelancer and searched for contract work. I've never used Fiverr or other platforms and I'm convinced that neither should you, because this work will only lead you down the wage path where no one really values what you do.
Try to find small local software companies in the range 1-30 employees, go to local meet-ups for software developers (or even organize your own ones) and get to know those people who can give you a job. I'm currently 19yo and I'm meeting executives at my local chamber of commerce. It's not that hard. But first, you have to lose the attitude described in this sentence:
> software companies are not willing to hire people my age for good reason
This is simply not true. Maybe there are some, but not all. I've get paid the same amount of money as other freelance senior developers. They don't care about my age. They just care that
- I can what I say
- I can do what they need (I'm doing web applications & app development)
- I do it professionally and communicate properly
Just go out, drink coffee with other software developers, tell them that you would love to have a meeting with their executives and you're ready to go.
Be confident in your skills (but never ever make the mistake of overestimating yourself), be calm, show your expertise and that you can and will do the job.
Connect with people, this is the most important part for freelancing work - every time you go out and eat something, go with some project managers who happen to be there, too.
Maybe this sounds too easy to be true, but this is what I did. And I'm sure you can do it, too.
It's important to realize that everyone started with no professional experience. Someone will be willing to take the risk of a few dollars spent on time and/or labor to see if it works out. A bit of charisma, luck, and dedication goes a long way. I now have professional experience in project management, training, hiring, communicating effectively, database experience, etc. because I worked hard for the opportunities I've been given.
I think networking is excellent advice. It's not uncommon to be at a coffee shop or bar and talk shop with strangers and be offered work. Maybe that's because of my location but certainly it's a good way to find work. There have been plenty of times where I see someone working on software and I'll walk up to them and ask if they wouldn't mind talking about it for a few minutes. People are typically friendly and enjoy some discussion. It can go a long way.
For self-taught programmers, before you find work with good pay, there seems to be a phase of self-validation. In a way, you have to pave your road somehow to demonstrate your value. For me, this meant freelancing for individuals and small businesses to gain work to which to refer to when later interviewing. I had done five of these gigs before landing a job opportunity which paid going rates for university graduates. Before that, I had worked three years and made the equivalent of two-month salary in my new job. I had been underpaid. My boss even implied that I had been a bargain, but working for under the minimum wage besides studies was what it required to me to gain some experience.
After the aforementioned job experience, I turned my twenties and at the same time the "age discrimination" I had experienced before turned upside-down. To me, this seemed like I had reached the point of self-validation, after which I was seen as an equivalent of a university graduate.
So, if possible, do not give up because of the low pay as long as you are able to learn. In my opinion, investing in yourself when you are still young is one of the best investments one can do.
In a way, people here talk about product-market fit. To me, it seems like you as a freelancer have been able to a figure that out already by finding businesses which have ordered applications from you. I think that if you are able to continue whatever you are doing now and also learn new (to increase your social capital), have some fun (to avoid burnout) and to make some money (for ramen profitability or to justify your family that you are doing something of value on the computer) then you will eventually land the job opportunity by "chance" (recruiters) or then you are able to justify your skills once you apply to a job which interests you.
* Upwork (well, Elance back then) worked out pretty well for me. The skill test are a nice way of showing that you can do the work without having much history.
* You don't have to tell everyone that you're a teen - don't lie about it, but don't shout it from the rooftops.
* As other folks have mentioned, a GitHub and/or personal website can help you.
* Create a couple of side projects - they don't have to be that original or full-featured, make a simple game or something. Just put something out there that you can point to and say "I built that".
I do some mentoring and also occasionally hire folks for contract work. Email is in my profile if you're interested in either.
Two previous threads about starting to freelance: https://news.ycombinator.com/item?id=8761088 https://news.ycombinator.com/item?id=14424699
I'd pick a technology to focus on, and present yourself as a person who specializes in it. Put your skills and work first and foremost online / on your resume. Choose something you can use quickly, and fully build the projects you have or are about to have. Whatever it is. Start with the HTML/CSS/basic JS. Or Wordpress, Drupal. Or React or Rails or Flask. Practice most for the job you have. Second most for the job you want.
Work with the businesses you built things for to be references, and if at all possible get a good looking project one to be publicly accessible. At least as a few screen shots. Clients want to see what you've done.
https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_...
Good luck!
A few decades later I still rely on the approach I learned back then. While many of my peers have a mentality that they are at the mercy of the job market, and need people to create & define work for them, I can create customers wherever I meet people. I have a number of small business customers who would likely never have done development if I hadn't sought them out.
While this isn't the top way to earn a lot of money as a software developer, I continue to work heavily with small businesses because I like it, and because it eliminates a lot of the factors that others seem to dislike about a programming career. Regardless it's a great way to get your foot in the door... companies who can't afford $80,000 programmer salaries -- or the contract equivalent -- can't afford to be prejudiced against your youth and inexperience.
I would not target "software companies" but rather ordinary companies that lack IT talent. Lots of businesses out there need simple edits to their web pages, or SQL queries from their ETL or CRM (systems they buy but don't know how to work with "under the hood"), and could use your h elp.
1. Use your age as a strategic advantage not a limiting factor.
Seriously, I wish I'd appreciated this a little more because it changes the day you graduate high school and become a college student. You have a unique ability to talk to just about anyone right now as a virtue of being young and curious. Reach out to people you admire, not specifically asking for work, but for mentorship and advice. The returns will be high. People in this industry love young ambitious developers.
2. Get involved in the community.
All the work I got before college was through personal connections. Show up at hackathons (big one), go to technical meetups if there are ones in your area, get to know people on a personal level. Forget "networking" start making friends with other people in the field, you'll start getting calls about work.
3. Code a ton
Seriously, open source, personal projects, whatever. Just improve as a developer. My first steady contributions were doing volunteer web development for a local non-profit and that kickstarted all the professional stuff I was able to do pre-college.
4. Understand your value
Unless you're truly an outlier - you aren't going to be getting paid what a CS grad with 10 years experience is. That's just a reality of your experience level. That said I see way too many younger developers accept gross underpayment. Do not work for someone paying you $10/hour. Your time would be much better spent contributing to meaningful open source work.
5. Get into the best school you can
A good CS program will be a game changer for you, or at least it was for me. Get the grades and exam scores you need to do that. A resume of relevant experience is also massively helpful.
Companies are much more interested in your skills than your age. Startups in particular are very willing to hire teenagers if they can see that you will provide value. Keep learning. If you want to chat more email me (in bio).
The idea is that Google chooses several open-source projects for the program each year, and then students can apply to the projects with their own ideas (or by taking one of the ideas proposed by the project's contributors). The project chooses the best proposals, pairs the students with mentors, and has them work on the chosen topics for about 3 months. Reviews are submitted to Google at multiple times during that period, and the student is expected to both deliver code and engage in the project's community. Also, the student gets a nice payment from Google for each completed milestone. (I think it comes out at about 4000 dollars or so.)
So in the end, you have a small pile of money, some code to put in your portfolio, actual work experience, and the "Google Summer of Code" checkmark for your resume.
Disclaimer: I have served as a mentor for KDE in GSoC 2009.
I'd also caution you not to focus on freelancing to the extent that it hurts your schoolwork. If you want to program as a career, graduating from a top 10 CS school will open a lot of doors for you, and I would make laying the groundwork for that your primary goal.
I see someone also mentioned Patrick (patio11), you would do very well to follow his advice. TONS of value in his stuff.
I'd say start contributing patches to open-source projects you like. You'll have to fork them, which will make your Github page less empty (but no one will be fooled into thinking they are yours), and you'll learn how the open-source world (and therefore some teams) works.
If you don't like any particular open-source projects, start finding some to like because it's a big part of the culture (unless you absolutely want a corporate soul-sucking job).
So work on becoming very good. Choose a platform and a problem domain, and become very good at it.
I was in charge of a software development departament inside a company and i never took the ages of the applicants into account. Only their skills and how nice/approachable/good-humored they were. I got people ranging in age from 19 to about 34, no problem within the team.
In this business what matters is not how mature you look. What matters is to get the job done on time and keeping the customer happy.
Go for it!
Check out Simple Programmer.
As others have said, this is more an investment than a direct payment... but it will pay off.
All the Best.
Search for people problems and build an app to solve it. Apps are hot.
Github portfolios, open source projects, etc... may make you look important but it does not generate direct income. Try to avoid the ego trap there.
If you're interested in working with people, you can always apply to become a mentor on Codementor. If you earn some positive reviews, you'll gain a bit of credibility to help you work as a freelancer as well!
Keep programming and stay passionate!
I dont know if thats an option in your country but people so hire younger coders, perhaps start approaching local companies that are smaller in size?
I've not used it, but seen projects I keep an eye on put down some good rewards (even users / companies do as well) so maybe worth checking out.
Step 2: collect money
The small business world is filled with unsolved problems. Get out there and find 'em.
No.
> What value are you bringing to this discussion for this young man?
My goal was to help him not feel stressed out if he has trouble finding this kind of work right away.
Sure you will be too tired when you get home to do all that wonderful programming, but this is not a forever job, it is a job that gets you solid experience that may be more useful than you think.
For instance, imagine some fantastic Tesla gig comes to town. You want to be programming that centre console with some Tensorflow coolness. You are up against some other guy that wants to do the same. You just so happen to know how to sell a car because you have done it, you have also done it as part of a team and appreciate the nuances of it. Your idea of what shows on the centre console will be better than the other guys because you have seen how customers behave on the showroom floor. So for you it is not just a programming job, it is about customer satisfaction and the bigger dream.
I provide an automotive analogy here, I recommend any 'normal job' and that can be in retail or in factories or an office, it matters not. Specialist sales is true retail, stacking shelves or sitting at a till is not what you want.
Essentially all software is for someone or some industry, clearly there is 'plan9' exceptionalism, but the general deal is that software solves a real world problem. So you can do normal jobs in this real world, to therefore understand the world of the problems that the software is trying to solve. So if you work in retail and learn how to put the customer first, that will come in handy if you have to do online sales stuff. Will they want the guy that sat in the basement programming, or the guy that spent time hard at work learning the core thing the hard way? I suspect the latter.
With this strategy you can keep programming fun. By that I mean not patching some legacy system that needs a complete rewrite but that is organisationally impossible. It means not being micro-managed. Also, with 'normal' jobs, the hours may be long but you don't take your work home. With software there is none of that, it is as bad as studying for always having more one can do.
With a lot of normal work there is an aspect of where you are making the world a better place and making a difference. If you find your work is valued by customers or the local community then there is job satisfaction that is quite hard to find if sat behind a screen.
Every business has pinch points, these can often be automated by someone who can code. So in that apparently mundane factory you might see an opportunity to solve a problem or two, in code. It is for you to see these opportunities, however they are everywhere and you can develop a niche new product for your company, if you polish it beyond MVP you might be able to sell that across the sector. For instance, returning to the car analogy, you might find that a common problem in a particular dealership where a product puts you through a hoop or two more than needed. You could be bright and fresh to the problem and get it right for those too encultured in the old ways to see that better is possible. Having solved the problem for your original employer you could then put a 'v 2' version of your software out in a specialist marketplace, then learn how to support and sell a full commercial version of what you originally built. You can also do this whilst keeping the original normal day job. In making such a creative solution out of thin air you have got on with the job and not stood around waiting chicken and egg style for someone to hire you.
Regarding creativity, there is a lot to be said for getting programming gigs in fiercely competitive creative industries. Here technical talent can be hard to find, particularly those willing to cross the line of being actually creative. It is easy to hide in the programming world and to be a 'dunno' with creative decision making. But if you can straddle the both then there are plenty of non-technical types wanting to give you work.
Do you need to make money, or are you looking for a validating project to work on/experience? If so I have some other ideas but first things first
1. Make sure you stay focused on grades and definitely do Computer Science/Computer Systems Engineering one or the other. Find a school that welcomes the geek like mentality. While I have heard Harvard and such has good Compsci programs, going to a geekier school might be helpful. For me, going to an Engineering school where 80% of the majors were engineers was kind of awesome, it was like everything was a programming club. If you are into that stuff it's fun. You will get a great education elsewhere, but not the same sense of community and experience. It's really fun.
So in the midst of everything, dont forget to make going to a good college a priority. Theres going to be lots of downvotes and explorations of whether college it worth it or not, but I say its worth it because of my following theme: the people
2. Like many have said "oh I did that once at your age and worked for some mind numbing job somewhere etc"
Don't do that here are some ideas
3. Do you live in a big city? If so, places like LA, Bay Area and NYC WILL hire you for projects if you go to the startup scene.
4. In big cities there are hacker houses, reddit meetup groups etc dedicated to programmers. Find and do all of those things and begin to meet other people in your community who program. Going to a hacker house and meeting college kids doing the same thing as you will give you unprecedented advice, let you work on projects with them and you may get an internship to one of the companies they work with.
I dont' want this to sound like political networking stuff, I'm saying that in this field the quality of your work matters, but so do the people. Real programmers will be impressed with you and find places for you meeting them in person you would not be able to find elsehwere.
In San Francisco there are hacker houses dedicated to highschool dropouts starting companies and the little sister of the 17yr old female Russian now woman who started Wanelo I think was the one who started it. In big cities you will find open minded things like this. I would focus on finding communities like this ALONGSIDE your search but you may find these communities find you more venues for work/interesting projects for pay/stock options than you initially anticipated.
I dated a guy who by the time he was a freshman in college had worked for multiple startups because of his programming abilities. He grew up in Boston, his dad worked at Oracle and he went to things like MIT startup bootcamp. Sure he was well connected but also motivated, and in big cities like that you have access to things like that.
5. Continue to beef up your github
For you, learn this lesson now, don't sell yourself short, every great aunt, manager, passerby on the street will want you to code their next unicorn app for them and say theyll pay you later once they "figure out the profit" stuff and its no uncommon for people in your position to get caught being overworked and underpaid on less than stellar ideas.
I would say your best bet is to find projects you like, dive into an area of expertise, VR, AI, compression, graphics, whatever you like and find people working on projects like that whether startups, bootcamps, hacker houses, etc and find those people and work with them and don't settle for working on anythign that youre not interested in and getting valuable learnign experience in.
This is why finding other people who can code is important, otherwise youll be treated as a gruntwork engineer doing data entry or writing someones "app"
6. Finally,
7. You can always make your own stuff opensource and host on a website, even if it doesn't make money. I would say at your age unless you really need the money to get buy and have to choose between working shifts at a restaurant or coding, to focus on your knowledge/interests and produce your own projects in areas you are interested in.
8. Again, if money is not number one priority, you can also use community service as a venue. There are probably businesses in your community, clubs or charities at your school etc who could benefit from some development, and then you can not have to spend time on extracurriculars at school just to impress a college, and turn them into real world experience for you.
> software companies are not willing to hire people my age for good reason
First of all, many people have not been through this and are unable to relate. I'll tell you now, yes, as a teen, it will be incredibly difficult regardless of your capability, to have buy-in from the wallet holders of these companies. However, there are ways to mitigate this while not lying:
- Differentiate yourself from your competition. Sure, everyone can code, sure everyone can talk and say they can deliver, that they're meticulous and detailed-oriented. Everyone sounds the same, so how do you sound different? Think about what's important to the business owner. Truly understand why they are pursuing a certain project. Most likely, someone didn't just dream up a project and decide to dump money into it; it's an investment, they want to gain something from this effort. Speak to their hopes, address their fears, and demonstrate an understanding of their business. This insight is sorely lacking in our industry, especially amongst developers who are often too stuck in the mental map of their software architecture, and miss the bigger picture.
- Do not draw attention to your age. I don't want to get in your head that older people, business people have a prejudice against you simply because of age. But it's there, it's incredibly noticeable, and invites questions. Sure, most people will not take issue with your age, but subconsciously, all sorts of questions arrive in their heads. Trust me when I say there is little you can do to ease most of these concerns, no matter how reputable you are, how amazing your past work has been, or how mature you seem. The answer is simple: don't make mention of your age or anything that may indicate you're a teenager. If possible, avoid phone calls and in-person meets; be sure to mention early on that email communication is preferred, and that you are more accessible via email. Over time, if people notice you are more responsive via email, that's how they will reach out to you.
- If they're not going to buy, they're not going to buy, learn to accept it. You will invariably face a lot of rejections, and it may be because of your age, it may not. Either way, accept it and move on. If someone tries to lowball you "because you lack experience", "you're too young", you do not need to beg and chase them to "give you a chance". Don't start off on the wrong foot, it'll cause more headaches than it's worth.
- Avoid bidding sites. It's a rat race to the bottom. You're at the whim of these sites, and whenever they feel like it, they'll increase their cut while offering you nothing more of value (see: Upwork changing their fees from 10% to 20%). If you absolutely have/want to, charge your standard rate, don't lowball just so you can get contracts.
That said, all of this is assuming that you have a lot to offer and are good at what you do. Focus on your personal growth and learning, try to take projects that further that mission, and focus on providing value.
Good luck!
I wouldn't trust most working developers I've worked with to be able to deliver me something decent from start to finish, alone.
That's why companies have BAs, managers, testers, etc. Because doing it solo is a rare feat, unless we're talking gluing a wordpress theme together, in which case I'd recommend they look into squarespace :)
I wouldn't trust most working developers I've worked with to be able to deliver me something decent from start to finish, alone.
I have the same feeling for a lot of my CS university peers but yeah like you implied being on its own is a different situationI'm 19 with no formal qualifications except high school. Not a 'genius'.
There are jobs out there for young developers!