4 ms·
I am in a similar boat as you(a broke teenager) but I don't like freelancing that much. I tried a few websites and they mostly make you do uninteresting work at
by whoami_nr 9y ago
I am in a similar boat as you(a broke teenager) but I don't like freelancing that much. I tried a few websites and they mostly make you do uninteresting work at low rates which doesn't justify the time you put into it. Sure, you can do all of this for the sake of learning but remember time is limited. I don't study CS at college and I've done projects in freelancing websites which I regretted later. It affected my regular college work and in the end I felt like I didn't learn much from it nor did I earn a lot due to the low pay offered. I personally suggest you to try getting involved in some open source program or religiously do bug hunting for a specific company. If you are a student in a college, OWASP code sprint, GSoC, X.org EVoC,Mozilla winter of security are some programs to get involved in.
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.
- throwmenow_0140 9y agoDo you think it is possible to build hardware projects with low level stuff to show your expertise regardless? 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.
- whoami_nr 9y agoI don't exactly work that close to hardware. Sure, I have done hardware projects involving arduinos and other micro controllers however, I would like to get into/work on the systems level. I am currently teaching myself reverse engineering(I play CTF's sometimes), systems programming etc but the opportunities for such stuff in India seems to be non existing(at least for a non CS graduate). 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.
- thesephist 9y ago>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.
- nolemurs 9y ago> 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. 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/dp/1848000693) 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.
- whoami_nr 9y agoAgain, I didn't start pursuing CS in college to get employed. I started learning more about computers, learnt to code websites and then went back to figuring out how a computer works. However, I haven't figured out which area of the stack to develop an expertise in. I will definitely check that book out. Thanks
- xiaoma 9y agoIf you want to get paid, you have to make stuff people want. When I moved into tech from language teaching, I focused on JS, specifically Backbone.js and CoffeScript. I wasn't specifically interested in front-end work but I did it because that was what people wanted to hire for. After getting some experience and some money, it became much easier to transition to adjacent roles. 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.
- dbattaglia 9y agoWhen I started my first development job I didn't even know how to write HTML, I came from writing Windows applications (MFC and Winforms) and AVR/Arduino. Over the past 10 years I've learned that there is actually quite a lot of interesting stuff to be done in web development land outside of UI/JavaScript. Right now I'm working for a company building a Docker/microservices framework, touching nearly every part of the modern software stack (UI, web APIs, networking, Linux, etc). For me being able to code professionally was far more important than being able to code the stuff I was interested in specifically at the time, and it's worked out very well for me.
- whoami_nr 9y agoI totally agree with this. Even I started with web development (backend though) and for a brief period tried to grok some JS frameworks. Took up jobs immaterial of the front end stack and started learning them on the fly. Played with Angular the most. Somehow later my quest for figuring out how a computer works bought me to operating systems and then to a lower level where I deal with assembly these days. I still understand I haven't gone down deep enough but I very much like the path I am pursuing and want to know how deep this rabbit hole goes. However, I wonder if I would be employable with all this knowledge except in some niche places which are absent in India.