DEV Community

pretzelhands
pretzelhands

Posted on • Edited on

I am a full-time freelancer aged 21. I work mostly in PHP and React. Last year I made approximately $75,000 in revenue. AMA!

Okay. That title sounded a bit more braggy than I wanted it to. So if you clicked, I hope I at least garnered your interest.

If you want to read the journey in detail, you can check out my post on how I got into freelancing. To give you a hint: It involved more luck than I had any right to have and I made some very stupid decisions.

The starting point of my freelance journey was a bit more than two years ago at the tender age of 19. It's been a lot of ups and downs since then, but especially since Q1 2018 I haven't really had any downs.

I'd be happy to answer any questions you might have regarding freelancing, regarding my chosen tech stack, my previous work and really anything else you might have in mind. As long as I have something to say about it, I'll be glad to tell you.

You can also find some extra tidbits about me on my profile. :)

Looking forward to your questions!

Top comments (31)

Collapse
 
ben profile image
Ben Halpern

75k at age 21 is a fabulous place to be!

Do you have specific plans for growth in that regard, and are you interested in expanding towards being a bit of a micro-consultant, maybe with an assistant, or are you content being solo?

Collapse
 
pretzelhands profile image
pretzelhands

It's certainly a very comfortable place to be!

For this year I'm still in contract with an enterprise client until at least August, which has a value that is approximately equal to the combined earnings of last year. And being a micro-consultant with assistant is indeed something that would be great to have.

While working solo makes you very independent and free in your choices, there's also the fact that a day only has 24 hours and I feel like I can't scale that beyond a certain point, which is a shame.

My current battle is the fact that so far I have sold myself and my skills as the product and I'm not sure how to pivot that into a more productized consulting approach. πŸ€”

Collapse
 
rhymes profile image
rhymes

Hi Richard! It didn't feel braggy to me, as Ben said, to be 21 and earning that kind of money, in just two years of freelancing, is a great place to be.

Do you have any future plans for your business? I'm asking more in terms of projects you'd like to tackle.

Do you freelance remote? Or have any plans to do so? Not specifically talking about digital nomadic lifestyle, just working remote as a freelance.

How high is taxation in Austria?

What sort of tech would you like to add to your professional "arsenal" ?

Collapse
 
pretzelhands profile image
pretzelhands

That's kind of you, thank you!

In terms of projects I'm pretty open to things in every direction. I'd just like some variety. By the time my current contract runs out I'll have spent ~1 year working on payment integrations in eCommerce systems. So ideally after that I'd rather take on something where that is just a part of the project and not the entire project.

Another thing I've been playing with in my head is building a small SaaS app and see how that goes. The beginnings of it are over at howmuchdoesthismeetingco.st

For the most part I have, yes. My current client demands me to be in the office for all but two days of the month, but before that I always worked from home or from a local coffee shop. I'd really like to go back to that eventually, because it's just an entirely different work experience, in my opinion.

Taxation is pretty high. The lowest tax bracket starts at ~$12,500 (or 11,000 EUR) with a 36.5% tax rate. The tax rates then go up progressively to 50% at 90,000 EUR and 55% at 1,000,000 EUR.

If you take the progressive taxation into account I end up at an average tax rate of 32%. I also have to pay mandatory insurance which is another 15% or so.

I've recently been very enarmored with Golang. It's actually less about the speed aspect of it, but I generally like the syntax. So that is something I'd be glad to add to my personal skillset. As experiment I actually wrote the RSVP website for my wedding in it. 😁

Collapse
 
rhymes profile image
rhymes

Thanks for all the info Richard :-)

I'd just like some variety.

Yeah, this is the blessing/curse of the freelancer :D

Another thing I've been playing with in my head is building a small SaaS app and see how that goes. The beginnings of it are over at howmuchdoesthismeetingco.st

ah ah, a really neat idea! "Are we wasting time here?" :D

I'd really like to go back to that eventually, because it's just an entirely different work experience, in my opinion.

Yeah I understand, I'm much more productive from home

Taxation is pretty high.

Yeah, more or less like here, depends in which bracket you are

I've recently been very enarmored with Golang. It's actually less about the speed aspect of it, but I generally like the syntax. So that is something I'd be glad to add to my personal skillset. As experiment I actually wrote the RSVP website for my wedding in it.

Ah ah, well, at least you built something useful ;) Go is a good tool to have in the arsenal

Thread Thread
 
pretzelhands profile image
pretzelhands

My pleasure, really! I talk entirely too much at times. πŸ˜…

Yeah, this is the blessing/curse of the freelancer :D

Variety is truly the blessing and the curse. I mean I have no trouble with working on a single for a while, but turns out a year is a long while!

ah ah, a really neat idea! "Are we wasting time here?" :D

Thanks! I've had good feedback so far. Ideally I'd like to formalize it a bit more to enable tracking of meeting output and action points etc. We'll see! Given the amount of meeting overhead I have at work I'll certainly be able to collect lots of ideas.

Yeah I understand, I'm much more productive from home

Yes! Especially considering that on my work laptop all I've got is Windows 10 and no administrative access. It's a struggle at times. And not the good kind.

Ah ah, well, at least you built something useful ;) Go is a good tool to have in the arsenal

That I did! And Go is the first language that addresses my biggest pet peeve: I can have a variable named InvitationToken in Go, invitation_token in the database and invitationToken in JSON all in one statement!

InvitationToken string `json:"invitationToken" db:"invitation_token"`

Coming from PHP where even the standard library doesn't know what it wants to be that is like rubbing Vicks on your soul.

Thread Thread
 
rhymes profile image
rhymes

That I did! And Go is the first language that addresses my biggest pet peeve: I can have a variable named InvitationToken in Go, invitation_token in the database and invitationToken in JSON all in one statement!

Yeah, that aspect of Go is truly cool. I only wished it wouldn't use interface{} for practically everything during serialization.

Collapse
 
simo97 profile image
ADONIS SIMO

Nice..i loved the SaaS app. I think i will start using it...

Collapse
 
michaeltharrington profile image
Michael Tharrington

I just checked out your other post there and you've had an awesome journey! Can you talk about what it was like being a digital nomad living in the Philippines? And would you ever want to do remote work while on the move again?

Collapse
 
pretzelhands profile image
pretzelhands

It was a ride to be sure!

Being a digital nomad in the Philippines was super fun, even if things weren't always looking so great at the time. Since it is an entirely different culture to my own (being European and all that) I feel like it helped open me up in ways I didn't expect. It made me more outgoing and spontaneous in taking decisions.

The Philippines themselves are a very interesting place as well. At least in my experience most of the people have been incredibly kind and welcoming. I spent most of my time in Manila, which can be a bit of a loud and dirty place at times (I mean, that's 14 million people after all), but since it was so different to what I was used to it felt refreshing. Those who enjoy nature and quiet will surely find a nice place in northern Luzon where they can enjoy their time. Just be sure to check on your vaccinations and mosquito spray before you go. πŸ™ˆ

I would definitely love to do remote work again. The most annoying part of working for my current client is decidedly that they want me to actually be physically at the office for all but two working days in a month. If I was offered the possibility by them to work from any place I choose, I'd probably be on the next plane to somewhere else. Being generally introverted I feel like remote work helps me break routines and habits that can kill creativity 😁

Collapse
 
aviaryan profile image
Avi Aryan • Edited

What do you think about PHP? The general dev sentiment has always been negative but is it a good idea to learn it just for freelancing? I am also a freelancer, majoring in JS|Python but I see a lot of PHP projects and wonder if I should learn PHP projects to be able to take them.

My major concern is this: Suppose if I learn PHP, start following good dev practices, learn composer, Laravel (IDK!) etc, will I be able to do client work in the same?

I fear this because I believe most PHP work these days is big corp's legacy codebase so it is ought to be complicated and of very large scale. Will self-learning PHP be sufficient to take those projects?

Thanks.

Collapse
 
pretzelhands profile image
pretzelhands

I like to joke that I have severe Stockholm syndrome for the language, and that's true in a way. There's some things about PHP that very much upset me (e.g. see phpsadness.com). But especially since PHP 7 some nice things have happened. And I am very much convinced that the language can be used just as well as anything else. It has a few quirky approaches to development, but you can shoot yourself in the foot with Java just as much as you can with PHP. 😁

Further, in my opinion, there's enough space to pick out just the parts you like with PHP. It's still a very big thing in eCommerce (see: Magento, Shopware, WooCommerce, ...) and that's actually what I'm currently working on. On the other hand there's still greenfield projects being built in Laravel or Symfony, even if it's not the "cool" stack. And then there's maintenance of legacy applications, which can be both fun and terrifying. So whatever you like doing, I think there'll be work for you.

As for self-learning: My PHP knowledge is mostly from self-teaching and reading documentation. I watched a few screencasts here and there to supplement things I was totally stuck on and the rest was experimenting. So I think that if you take some time to learn the language and learn it well, you'll have no problems with maintaining legacy code. πŸ€“

I can suggest the following approach if you're interested in it:

  • Learn about the language and how things work (laracasts.com/skills/php)
  • Learn about Symfony's components. They underpin a big part of the ecosystem (symfony.com/)
  • Grab the documentation of various frameworks and see which you like best (Laravel, Symfony Framework, heck even Wordpress). Learn the basics.
  • Build a few small side projects and see how you like the experience.

After that you should have a good grasp on the language and be able to tackle medium-sized projects without too much trouble. Everything else comes from experience. And if you need help, I'm happy to provide it. ✨

Collapse
 
aviaryan profile image
Avi Aryan

Thanks, Richard, this was very helpful. Interestingly, PHP was one of the first languages I learned when starting my programming journey but soon abandoned it. πŸ˜‚

This will be very helpful for starting again. Thanks for posting it.

Collapse
 
ruslanuchan profile image
RuslanUchan

Wow awesome, around the same age as me 😁

Any advice for young people that want to get into freelance? The do's and don'ts and initial tips based on your experience?

Collapse
 
pretzelhands profile image
pretzelhands

Yay for the late nineties!

And sure! Be ready that some people might look a bit weird when they first get to know you. Reading my birth date is still a shocker to most people and makes them a bit suspicious.

DO:

  • If you have side projects, polish them up and use them as references to get your first client! Just to show you know your stuff.
  • Make use of social media. You can pin messages allowing people to DM you on Twitter for example. And LinkedIn might be laughed at a lot, but sometimes making connections there can lead to profitable results
  • After a job has finished politely ask your client for a testimonial. Putting those up in relevant spots can be super important. Social proof is strong force.
  • Specialize. Everyone can be the full-stack developer who knows everything from PHP to Enterprise Java in cursory knowledge. Instead find a niche you like and carve yourself a name there. My special expertise lies in highly-customized Wordpress websites making use of wp-json and React. Also specialized clients will always pay more than generic ones.
  • Make friends with other developers and entrepreneurs. I've gotten a bunch of jobs from being the "I know a guy"-person.
  • Own up to your mistakes. They will happen, no one's perfect. But if you apologize to your client and fix it quickly, they'll probably have no issue with that.
  • Offer advice where it seems appropriate. For example if you're extending an existing application and you have a way that is provably better than what's there, tell your client about it and offer to do it for a bit of extra cash. It might be okay as-is for them, but sometimes they might just take you up on your offer.
  • Establish long-term relationships. Of course you can finish a project and be done with it. But as a general rule I follow up with my clients 2-3 weeks after the project and ask if everything's going well. This has led to quite a few follow-up contracts for extra features they originally didn't know they wanted.

DON'T

  • Do not undersell yourself. Of course if you're a beginner people will be hesitant to pay 100$/hour (heck, I don't charge that much), but you also shouldn't charge too little. I would suggest that you take how much you need to live plus a percentage of your choice (say 20%) and divide that by the hours you want to work. That should be the absolute minimum.
  • Do not work more than agreed to. This can happen especially in fixed-amount projects. Work as much as agreed for the budget, but don't let your client add 1000 "one more little thing". If you gave them 16h and they're keeping you from finishing work with small things they want, tell them that doing such things might incur extra costs. This also helps with managing a workload.
  • Talk disparagingly about your clients in public. Ideally just don't do it at all. This should be common sense, but if you do so, future clients might feel like they're just a burden to you and that you are not into it.
  • Confirm anything by spoken word. If you agree to something, write them an email to follow up on that. Leaving a paper trail can be incredibly important in case of dispute and it also helps clarify if you both understood the same thing. Just write them a quick email like: "Hey! As discussed in our call I will proceed on points A, B and D."

Phew. This became much longer than I anticipated. I might just turn that into a full post. I hope it's useful to you. :)

Collapse
 
ruslanuchan profile image
RuslanUchan

It is! More like most of your answer you've written is useful haha. Thank you 😁😁😁

Collapse
 
deadcoder0904 profile image
Akshay Kadam (A2K)

Congrats again, Richard!

What would you do differently if you were to do it all over again? Any advice for first-time freelancer who is just starting out?

Collapse
 
pretzelhands profile image
pretzelhands

Thank you!

For advice regarding first-time freelancers I wrote a big list in one of the other comments, so I recommend checking that out!

As for what I would do differently, there's not that many things. But here's a list:

  • Have more runway: I feel like things would have gone a lot better if I had 12 months of runway instead of 6-7.

  • Acquire clients while employed: This is the big one. Aside from saving some extra money, looking for clients while in my old job would have been smart. Build up a few connections and when you have enough a contract or two ready to sign pull the trigger. You would have a lot less risk that way.

  • Starting solo: Since I started out with a colleague by my side, I would opt to not do that instead. Yes the talking is nice, but it means that you immediately have to pull in twice as much revenue to keep both of you afloat. That can be immensely difficult.

  • Invest in a better home office space: This one I noticed recently. My first year I worked out of coffee shops which was nice, but at home I only had the kitchen. I'd invest in a home office setup sooner so that when I am actually at home, work is as comfortable as possible. You will be spending a lot of time there, so might as well make it nice.

Collapse
 
davidszabo97 profile image
DΓ‘vid SzabΓ³

Awesome mate! Glad to hear you are doing good :) I am 21 too but I only make a fraction of what you earned in 2018. Though it's kind of different here in Hungary :)

I started freelancing in Aug 2018. I did very well in 2018 but this January is going pretty bad and slow. Projects are starting slow, hoping to have enough work rest of the year though :)

Wish you the best!

MY QUESTION: How did you get followers on Twitter? :P What kind of tweets attracted those people? (It's something that always bothered me in the programming
world) I'll take a close look at your twitter profile :D

Collapse
 
pretzelhands profile image
pretzelhands

I've been at it for 2 years now. Give it some time and I'm sure you'll be making plenty of cash as well. I mean freelancing almost broke me at one point. So all in due time!

And I hope that you can find many exciting new projects during the year. Wishing you all the best as well.

To answer your question: My account is almost 10 years old. I first made it when I participated in Ludum Dare, so a chunk of followers came from there. Other than that I follow the pattern of:

  • Tweet about things I make and how I do it
  • Tweet about when I do something cool (e.g. stream, blog post etc)
  • Try to make my tweets pretty with emojis
  • Ask people to share (it's amazing how doing this can increase engagement)

That's really all. Also the fact that my account on dev.to has exploded a bit has helped with it as well. :)

Collapse
 
perkinsjr profile image
James Perkins

Richard,

How did you find your clients? How many jobs did you complete in 2018? Congrats on clearing 75k after two years hard work. Whats your plans for 2019?

Collapse
 
pretzelhands profile image
pretzelhands

Hi James! Thank you for the congratulations!

Most of my clients have reached out to me either via Twitter or LinkedIn. I don't really do much active searching these days. Usually when I'm full with work I try to arrange follow-up discussions with leads shortly before a contract ends.

I don't have an exact count of projects right now, but I sent 31 invoices to 7 different clients. So that was perhaps 7-10 different projects

My current contract runs until August 2019 minus the month of May in which I'm taking some time off. So that is my primary concern. After that I'd like to look into expanding the business a bit and maybe getting a helping hand on board. We'll see.

Collapse
 
ahmedshab profile image
Ahmed Shaaban

Hi Richard,

first of all, I wanna say thank you for spending your time and answering these questions. I appreciate it.

A friend of mine recommended me to check this website to get closer to the community.

I don't wanna take too much of your time, my question is where should I start looking into a freelancing? I started thinking about a freelancing due to working with a startup and not having much time for myself to do other stuff other than work. One of the things I wanted is to stay in a city for months and might travel to another city for months. This will give me the freedom to do so. I really appreciate this.

Cheers,
Ahmed

Collapse
 
juniusfree1 profile image
juniusfree

wow.

at what age did you start coding?

Collapse
 
pretzelhands profile image
pretzelhands

I first started participating in game jams when I was 13 with a visual coding thing.

I started my first push into HTML about a year later and started doing PHP soon after. :)