Slashdot Mirror


Ask Slashdot: How To Begin Work In IT Freelancing?

king.purpuriu writes "I'm a computer science high school student, and I'm looking for some work in IT freelancing. I have had a interest in computers and programming for a while, and I began learning on my own before high school. I would like to gain some experience (e.g. what the bulk of the jobs in various markets require, various technologies/frameworks and their usage) and possibly make some money on the side (not expecting too much; at this point, any non-negative amount will do). Key areas are web development, app programming and scripting. What solutions do you recommend? Any tips or tricks of which I should be aware? How should I deal with payment (in terms of fees and commissions; I'm from European country), and what type of work should I seek out? I would also be willing to do some small stuff for free in order to gain experience (small, static sites, small scripts, etc.)."

2 of 140 comments (clear)

  1. Re:Obligatory by pswPhD · · Score: 3, Interesting

    Seriously though, if you just want experience, what about helping out some open source project? Pick something you can keep your interest in, and the moderators on the project can suggest how you can improve your code. It seems from the above advice that freelancing is more for experienced coders. This would improve your own code, help the project and look good on the CV/resume.

  2. Re:Don't. by __aaltlg1547 · · Score: 4, Interesting

    It's a necessary part, but I think it's arguable that it's minor it doesn't comprise most of what a software engineer needs do know and be good at.

    In my workgroup, we have a number of people in the software department. They all know how to program. They all carry the title of Software Engineer. But some of them are really just programmers. Here's what makes the difference in my mind (from the perspective of a hardware engineer):

    Ability to assess the amount of work necessary to complete a complex task.
    Ability to clearly communicate the status of their efforts to technical and non-technical managers.
    Understanding and support of the big picture goals of the organization.
    Ability to break a large project into tasks that can be executed by several programmers.
    Awareness of the methods used in industry generally to solve problems similar to the sort that we deal with regularly.
    Awareness of methods that have nothing to do with what we do.
    Willingness and ability to do research.
    Ability to devise new methods that improve on previous methods.
    Production of well-documented work that can be easily reused by other programmers.
    The habit of making code designed to be easily extensible and reusable.
    Ability to read an electronic component's data sheet and figure out how to drive it.
    Ability to advise hardware and firmware designers what it will take to run their software.
    Ability to communicate the limitations of their solution.