this post was submitted on 29 Aug 2023
22 points (95.8% liked)

CSCareerQuestions

770 readers
1 users here now

A community to ask questions about the tech industry!

Rules/Guidelines

Related Communities

Credits

Icon base by Skoll under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

I know some basic HTML, CSS. JS, and very little React -- I'm learning it currently. One of the things I see mentioned online is freelancing as a way to earn income. Now, I've tried this before in the past on UpWork, and it was nearly impossible to get anything out of it, I rarely received a response and that required submitting a lot of proposals which in turn cost a lot of money.

When I go on UpWork, many of the jobs need WordPress developers or an array of skills I simply do not have and appear to require a lot of time to learn.

Furthermore, I'm in an odd place financially and career wise, where I can't seem to get a job anywhere, not even at places that would've hired me before, and certainly not as a junior developer.

I suppose I'm asking for advice. If freelancing is an option to pursue, how do I go about it in the cheapest and most cost effect way possible? If freelancing is not the right option, then what can I do with what I do know? Lastly, is the job market in a weird state for every sector?

all 19 comments
sorted by: hot top controversial new old
[–] [email protected] 13 points 1 year ago (2 children)

My experience actively freelancing is dated now but I might still have some insight you would want to hear.

  1. don’t expect to make good money right off, in fact expect too pickup a part time job to get by. it takes years to build a client base that is capable is supporting you unless you’re skills are highly sought after.

  2. when I had a similar skill set I found local job boards (Craigslist, Reddit/Lemmy, etc) much easier to get work. The clients tend to be easier to work with as well because they probably won’t have the same expectations on a large freelancing site.

  3. managing client expectations is the key to success, know you ability and spec jobs for longer than you think. It’s better to get passed on a job than stuck with something you can’t do.

  4. this might just be me but the business side of things is a drag and takes a lot of time. Marketing, specing, client relations, it was too much for me as a one man shop, don’t discount how much time it takes.

Good luck out there, freelancing was the hardest but also most rewarding work I’ve ever done. You’ll be forced to learn a lot in and out of tech at a breakneck pace. Some of the best lessons I learned have nothing to do with 1’s and 0’s.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago)
  1. this might just be me but the business side of things is a drag and takes a lot of time. Marketing, specing, client relations, it was too much for me as a one man shop, don’t discount how much time it takes.

It is! It's not just you. Running a business is a full time job on its own. When I finally accepted a corporate job, I was shocked to see that there were 15-20 person teams to do what I was doing all by myself.

The best option is to team up with someone else whose skills and passions are in marketing and client acquisition. Create a bidding template for them, like a rate card, and then unleash them. Split the cost of the projects with them. Don't forget to charge enough to make splitting worth it. Ideally this is an actual company, but another freelancer could work in this role too, if they're actually serious about building a business.

OP, making these contacts and setting this stuff up takes a lot of time. You can either make that your primary goal before starting, or you can just start trying to get jobs off job boards and hope you meet someone along the way. Eventually you'll get a marketing client and if you're good, they'll want to team up.

It's rough out there without a brand. There are a billion overseas "programmers" who will gladly work for $25 a day. They're going to be bidding on all the same jobs that you are. You really have to stress the value you bring in ease of communication. That is worth a ton. Companies and people value time and money. They will waste a lot of both working with a cheapo programmer.

You'll probably have to take some crappy, low paying jobs to start your portfolio. Don't rush those. Build them perfectly, and then proudly display them and the client testimonials in your portfolio. You'll eventually be able to charge more.

The guy above me already stated it, but it can't be overstated. A. Job. Will. Take. Longer. Than. You. Think. My strategy when I was freelancing was to break the project down into pieces, estimate everything using a chart I had for how long those steps took under ideal circumstances, add an hour for the time spent estimating, add 30% fluff, and then double it. That was usually pretty close to the actual time spent. You need to remember that all the time spent chasing the client down for images and answers, talking about what you've built, doing demos, and all that sort of stuff is time you need to be paid for. If you don't account for that then you'll hit the end of a year and realize that you just worked 52 weeks, 7 days a week, 15 hours a day, and made $17,500.

Best of luck! There are easier ways to make money with these skills, much easier, but few are as rewarding.

[–] [email protected] 3 points 1 year ago (1 children)

This makes a lot of sense. I'll have to see how I can apply this locally, but at least it's more information that I had before on how to approach this. I appreciate it, thank you.

[–] [email protected] 3 points 1 year ago (1 children)

I just elaborated some of his points and shared a system that I used when I was freelancing as a reply to his comment. Idk how to tag you on Lemmy, so I figured I'd reply to you here in case you want some more advice from someone who freelanced for about 8 years as my sole income.

[–] [email protected] 3 points 1 year ago

Thank you! Your reply provides a lot of missing context. It will be my bible, or at least part of the guidelines I need to get something started.

[–] AlternatePersonMan 9 points 1 year ago (1 children)

Find a head hunter or consulting agency to do the work for you (Accenture, Slalom, etc.). Some will train you further on their dollar. Most will pay shit. Once you get some experience under you, move on. There's plenty of gigs paying $75+/hr to freelance Sr. devs.

If you don't have enough skills for those jobs...keep at it until you do.

[–] [email protected] 3 points 1 year ago

I'll look into this and see if I can fill in the gaps. Thank you!

[–] WontonSoup 4 points 1 year ago (2 children)

What’s your background generally. Do you have a degree in something CS related?

I learned more in my first 6 months of hands on work than I did in all of my schooling. So if you have a cs degree and can learn enough of the basics and interview questions you’d probably be fine applying to jr dev positions whether your concentration is programming or other.

Really hard question to answer with that info though.

[–] [email protected] 2 points 1 year ago (2 children)

I have a degree in philosophy, which, as far as I can tell, is more of a "support" degree that says I like thinking and learning a lot. I've thought about going back and seeing what I can do, but I'm honestly so broke that it's not a viable option.

Related, but how much time per day did you put into learning practical skills? I put in a few hours each week, maybe somewhere between 5-10 hours, but it feels like I'm really low-balling the amount of time I should be coding and applying what I know.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

Support degree

I have a master's in comparative literature and I've been working as a front end/full stack developer for almost a decade. (I started as freelance but I didn't love it, personally - but more on that below.)

Obviously philosophy & literature degrees aren't going to directly help you - but they can help you shape your career, if you want. If your goal is to work as a developer in a gigantic multinational corporation, I have no advice - but if you want to stay around philosophy and philosophers, you can do what I did: work for institutions, rather than corporations.

I've been a developer for 10 years and probably 7 of them were at libraries. I've gotten to know colleagues at colleges and universities and it's a great crowd. I'm currently at an academic library and I love it: I get to work in the academic environment, be around the vibrant college vibe, but I don't actually have to interact with students, professors, or really anyone other than developers and bosses.

If you go that route, you should be aware that some jobs will just randomly pay super badly - make sure you're aware of that in advance and don't waste your time. Those institutions that can't meet industry salaries should be outsourcing - which brings me to my final tip on that topic:

There are LOTS of academic and "academic-adjacent" institutions that can't afford developers and so they outsource. The people they outsource to - that's who you want to find. Go to the websites for events and "initiatives" (ie smaller websites, not their huge ILS or DAMS software or whatever), scroll to the bottom, and find "website by FooBarBaz" - and find those people. They're usually small, and, importantly, local development firms and usually specialize in that kind of work - and they pay the kinds of salaries one would expect. So that's another route.

Those "companies" - it's weird to even call them that, because it's usually just one or two people who were freelance and just banded together and called it a company; they hired a few yous and mes and they stick with that their entire careers. They'll often have you freelance for them for a little bit until you prove your value, and then offer you a real job - or just keep you afloat until you find a "real" job.

(Getting back to my "more on that in a bit" from the first paragraph: that's the freelancing I recommend: freelance for freelancers. This goes for inside and outside the academic/GLAM world: a good freelancer will have more offers of work than they can handle - so they outsource to you, take a cut, and give you experience. It's not ideal, but it can turn into a solid, long term relationship, and having a developer as a "boss" also means they'll understand the challenges you'll be facing as a new developer.)

Good luck.

[–] [email protected] 3 points 1 year ago (1 children)

One other tip specific to library/academic/GLAM work: there's a thing called Code4Lib that's basically a community of academic/library developers. They're awesome and they have great conferences. They have a job board, but, in my experience, it's a lot of jobs from those places that don't pay enough - and they post to C4L as though people who work at libraries don't know how to find out what salaries developers expect. Don't bother with Code4Lib jobs - but definitely go to their conferences and local meetups.

[–] [email protected] 3 points 1 year ago (1 children)

This is really good advice. I had no idea I about that area of work. It makes sense in hindsight, but having it written out so clearly really gives me some ideas on where to focus. Thank you.

[–] [email protected] 2 points 1 year ago (1 children)

That was the short version because I had no idea if you actually cared. Even the best dev jobs in the academic/GLAM area don't pay Jane Street money. But, honestly, who does, other than Jane Street.

Anyway, if you want to talk about it now, let me know.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (2 children)

Of course. I am a bit curious about what GLAM is and any other important terms I can search that can help me find this type of work. Generally, I'm mainly curious about the whole starting process, what to look out for, and how to best approach this area.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

GLAM = Galleries, archives, libraries & museums.

If you're looking to work for/with freelancers, the first step is to find them. There might be more straightforward ways, but this is how I do it:

Go to the websites of some local GLAM-type places in your area and check out any big upcoming events or initiatives - especially ones where they've partnered with other institutions - that's a good sign that the thing is grant funded, which means they had money to use for things like websites. (The websites will continue to exist for years after the thing happens so don't fixate on immediacy.)

Then go to the websites for those things and look for web dev credits, and check them out. Go ahead and email - the worst they can do is ignore you - and most people in this "industry" get into it because they like helping people. And if you get turned down (in a "we're not hiring" kind of way), turn it into a career conversation - "just trying to get started, what do you recommend," etc. That can help by getting you an answer to that question but it also shows respect and eagerness and might keep you fresh in their mind when they need someone.

Regarding that question that everyone new asks: what language should I learn: it's worthwhile to note that, in the context I've been talking about, the tech stack can vary widely. A lot of folks will use Drupal type stuff, but plenty more will use react. And, if the work is bespoke enough - and it often is bespoke enough - you can use whatever you want. Personally, I use whatever shiney new js framework I heard about that sounds cool (Qwik atm), but, if shit hits the fan and I need to get it done, I build in Svelte - it's easy, fast, rock solid builds, with fewer dependencies (aka fewer dependabot emails), and very readable.

(Regardless of whether you choose the freelance route or the stable job route, the prevailing thing about this area of tech is that, whatever you build, it needs to last for years without updates or attention. I have some sites on my server that were passed down to me that are from 15 - 20 years ago - they're rock solid because they're very straightforward HTML with minor amounts of JavaScript. Learning from them, I lean towards static site generation, low-js to no-js final builds, minimalist tooling. The sites that fell apart after 3-4 years of neglect were React - it's obviously the dominant framework, but it doesn't do well without attention. And - this goes for any industry but - do good comments. The person who has to go into your code to update some random thing - you will probably never meet that person. Don't make them hate you.)

(Make it easy to change branding elements, I beg you.)

The other option is a "real" job. Colleges and Universities almost always flood the market with job ads, so there's no particular advantage to using, say, Chronicle of Higher Education rather than Indeed.

GLAM institutions, as I said, can vary wildly in their expectations for what's a reasonable salary - but this will be across the board. What I mean by that is, if they offer you 45k, your boss will probably be making 55 - and they'll dress like they make 55k.

These are, almost invariably, wonderful people. They accept lower pay for 1) the feeling of contributing meaningfully to the world - and that's not nothing, for real - and 2) for quality of life. My boss at one such institution referred to herself as a "free range librarian" - she would start her day in some coffee shop, show up to the office at 11, bring her laptop when she went for a long lunch, etc. Her work was judged by the quality of her work - which was always good - and not by bullshit metrics or face time with the c-level. There are no important deadlines or other bullshit stress in those places - there are no emergencies in library science, as they say.

GLAM places won't flood the market - not reliably - so you may want to go to their actual websites and go to their Careers page. This goes for the ones that pay well and the ones that don't. (Yes, you can write a scraper and make yourself a feed. It's fun!)

Finally, what is probably the Holy Grail for me, the true endgame: federal jobs. The federal government hires developers all over the place, from the CIA to NIST, everybody needs us. And those federal benefits are amazing - imagine having a pension - being able to spend your career just doing your thing and not just focusing on having enough money to someday spend a few years retired before you die?

All federal jobs go up in the same place: usajobs.gov. Jobs go up for 2 weeks and then they're gone. Forwarning is not offered.

I think that's all I've got for now. I hope it helps but no worries if it doesn't. But - for me, anyway, it's a great career fit.

The idea of going back to the private sector and spending my life trying to improve the wealth generation of millionaire stockholders - and helping the middle management guys get their Christmas bonuses - I can't fathom it. I spent this week building a site in Qwik JS for a thing about the 1919 race riots. I didn't even know there were race riots in 1919. When it's done I'm going back to a larger project that's both an image gallery and a crowdsourced transcription tool for civil war letters - handwritten letters and diaries and drawings that are digitized, which, like, that's great, but - this project will allow people to search the content, and not just blindly hope they stumble across something relevant to their interests - it takes these dusty old letters from being a nifty pastime for the civil war enthusiast community to a real resource that can be used to meaningfully add to the common understanding of what the civil war was actually like.

It feels good to know that the work in doing is helping people learn and grow and understand. If course I talk shit about how long it took my academic-side colleagues to get me the i18n translations that were allegedly so important to them - but I secretly love what they're doing and I love being able to be a part of it. As an autistic academic failure with an inability to write a 5 page essay but with savant-level logic skills and extremely rigid and inflexible ethical biases, this is the perfect fit for me. I hope it is for you, too.

[–] [email protected] 1 points 1 year ago

This is more than I had hoped for, thank you. I also think you're right, that it'll work for me. I'd very much like to contribute to something good in the world, and knowing that this was an option that I overlooked helps immensely. When I've tried "regular" jobs, I tended to not fit into the setting so well, being that I tend to bring up some philosophical question or ask too many questions in general.

I want to run it down real fast, to be sure I got it all:

  1. Go to their site and look for dev credits
  2. Contact the people who made the site, and essentially see if I can join them or take on some work with them.
  3. If it's not a yes, then ask questions and seek advice.
  4. At some point get a gov job for it's benefits.

I do have another question I'm curious about. Can you tell me about how you create your static sites? I've practiced it in the past, but how do you deal with a large amount of repeated elements? Another question is about your study or learning habits. I know we should practice, but getting some insight into how other people do things sometimes yields new information that might work with me.

[–] [email protected] 2 points 1 year ago

Holy shit I never posted my reply to this. I was at the doctor's office waiting for hours and I wrote what felt like a million pages. I'll post it when I'm home from work.

[–] [email protected] 4 points 1 year ago

I have a degree in philosophy (and no other diploma) and I make $200k/year as a senior developer. The degree does not really matter.