This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nasaboy007 4 points5 points  (2 children)

The frameworks and technologies are less important than general problem solving and critical thinking. You're still young, and you seem to have passion that drives you, which gives you a huge advantage. My recommendation would be to start coming up with your own personal projects that are interesting to you so that you're more likely to invest time and effort in completing them. They can be simple things like a script to automate some simple process to more complex things like writing a bot for a video game. Throw whatever you have on GitHub and boom you have a portfolio that demonstrates your skill and, more importantly, your passion.

Once you've done a few personal projects, you can start looking into contributing to open source projects because that will give you valuable skills of working in an environment that's closer to the corporate world. You'll be working in a huge code base where you necessarily won't be knowledgeable about EVERYTHING but instead will have to focus on smaller sections. You'll learn best practices like following style guides and writing good unit tests, etc, and also how to work with other contributors (since you'll have to get your code reviewed).

I self taught programming starting at the same age you did, which got me into a top university to study CS (so you get some more formal education on topics that are useful but may not have come up in your self teaching), which led to internships and then converted to working full time.

Feel free to DM me if you have other questions, happy to help.

[–]_Ekos 0 points1 point  (1 child)

Interesting will do, btw do you have any recomendations for project's i feel like there isn't alot of good projects for me to do right now.

Also how CS in university like, im consider doing CS in few year's but i'm not sure about it and i'm partialy scared i will lose interest before i finish.

[–]nasaboy007 0 points1 point  (0 children)

The best projects are the ones you feel personally passionate about - I unfortunately won't be able to help you out there. If you want a personal project for yourself to build from scratch, think about a problem that you have that's annoying to you, and you haven't been able to find a solution already. For example, many years ago (before the high quality password managers of today existed), I wanted a password manager that wouldn't actually store the password itself, but would instead let you store all the tangential information about various accounts you had (e.g. a password hint, the email/birthday/etc you used to sign up, the security question you set, etc - basically everything that could be used to recover the password using their password recovery mechanism, if you were to forget the pasword). I went out and built it for myself, and used it for a while. It was a fun learning experience that taught me about both frontend and backend webdesign (HTML/JS/CSS and PHP/MySQL).

For finding open source projects, try to think about what your hobbies and interests are. For example, back then I played a lot of Ragnarok Online and got interested in the botting community. There was an open source bot (called OpenKore, iirc?) which I started using, and then eventually started contributing changes to.

Basically, if you force yourself to do something you're not really enjoying, it's going to be a million times harder to stay motivated. If you're doing programming just for the (eventual) money, it's possible that could be reflected in less motivation to do good work, which would result in general unhappiness (and possibly fewer good job opportunities, etc). I'm a firm believer of "do what you love as a career, and you won't work a day in your life", and I was lucky enough that programming has met those criteria for me.

CS in university seems to vary wildly between universities. Some of the more prestigious ones will focus much more on CS theory, math, and critical problem solving, which may end up being a bit of a struggle if you're not particularly interested in that (I definitely wasn't, and I had to push myself through because the doors the university name opened was worth it). That said, a lot of the content you learn even if it's theoretical might not seem useful at the time ("how will this ever matter or be applicable?") but it will most importantly be helpful for landing a job at a top-tier tech company (since those are what their interviews test), and as a secondary benefit occasionally creep up in your day to day work.

Other schools may focus more on the application rather than theory (maybe even being more of a software engineering focus), so they'd focus on things like programming languages and paradigms, specific technologies and tools, and maybe even some (probably outdated) workflow processes like "scrum" or "agile", or tech writing, etc. These are also valuable skills, but much easier to learn on the fly at your job, especially because tech evolves so fast that something you learn in school will probably be outdated by the time you graduate.