Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - SHIROKAGE

Pages: [1]
1
And SHIROKAGE, I wanted to thank you once more - I've never seen a such big, helpful and informative post :)

Not a problem and you're welcome. Thanks for spending the time reading and responding :).

I'm not sure if you're familiar with Coursera or not but they offer online courses in tons of different subjects. The material is written by some of the top notch professors at some of the top schools in the world.

Their website is here:
https://www.coursera.org/

They offer many different types of classes on lots of different subjects. Best of all, it's free! They offer a more guided and structured approach to learning with a set course of materials that I generally find more useful than trying to tackle something completely new on my own. Some of the classes have interactive portions where you can talk to fellow students and get guidance from more experienced people as well.

MIT also has their Open Courseware initiative that contains a ton of classes of varying subjects posted entirely online:

http://ocw.mit.edu/courses/

I really wish courses like this were offered for free back when I was in high school :).

Those are a few examples of coursework offered for free online involving computer science. If that's something you decide you're interested in doing, I would suggest sticking with publications from major universities. The reason being is that there's a wealth of good information out there on computer science and programming in general but there are also tutorials and instructions that will, with good intentions of course, teach you bad habits that will be hard to break or just generally wrong ways of doing things. It's difficult to know the difference between the two especially when you're first starting out without much experience. The material provided by major universities are generally well accepted and generally the "right" way to do things (depending on who you talk to and which decade they learned to program) :).

From my years of lurking, I've noticed there's a good collection of people on these forums that know what they're doing as well and willing to help with questions as long as you put forth the effort to attempt to figure it out yourself first. They are more than capable of steering you in the right direction if you seem to get off course.

2
Hi Marius,

I wanted to take the time to respond to your post (it's my first one on these forums, but I've been a lurker for a few years but felt your questions were important enough to speak up) and hopefully give you some insight from someone who has been working as a software engineer here in the US for the past 10 years in the simulation and game development industries.

First off, please understand I'll never claim to know everything nor do I think anyone should ever stop learning and take my advice for what it is - some random-guy-with-a-bit-of-experience's words on an internet forum.

  • My name is Mark Miller (the real one is Marius Macijauskas, but I guess the former one sounds much more natural for the rest of the world  :D)

Please don't try to change who you are on the account of everyone else. There are enough people in this world who try to be just like everyone else. Be an individual. Be proud of the name you were given and who you are. Don't change it just because someone may not pronounce it properly or is unfamiliar with it. Don't ever tailor yourself to fit in with other individual's ignorance or myopic view of the world, because at the end of the day, you're just lowering yourself to their standards.

All I want is freedom and a job I'd like to work, even if I'd get a minimum wage (actually, I would be satisfied by any amount of money that would let me survive). And I want that ASAP. You don't event imagine how much do I hate the situation I'm in right now. You might think I'm crazy and most probably I am, but...

I remember thinking almost the exact same thing when I was close to your age. And now at the age I am now (almost twice as old), I look back wishing I had spent more time doing the things typical people of that age did. Be happy you don't have to work yet and have your parents to help support you. All parents suck but keep in mind that they are doing what they feel is best for you. Remember that they have a few more years of experience on this planet than you do and they are most likely trying to keep you from repeating their mistakes ;).

Also keep this in mind that the working environment sucks for 99% of the world. Theoretically, you may be doing what you love to do, writing code, but it will never be _your_ code that you write when you're working for someone else. It's always _their_ code. It may be satisfying to solve difficult problems for the company you work for and feel accomplishment when you do, but at the end of the day, you work to their standards and specifications and you never get to choose what you work on. And the majority of my job, unfortunately, is not writing code, it's designing systems and creating documentation artifacts to demonstrate how that system works to a team of individuals that work with you to build what was designed. In my industry, nearly 60-70% of the time is spent on front end analysis and design and only 30-40% is spent actually coding (far less on projects that rely on previously written libraries). I can't think of any companies in my industry where this is any different.

Working at a game development company is a little bit different. There's not as much documentation and design involved (depends on the studio of course) and much less structure than formal software engineering companies. This has greatly changed in the past 10 years or so where now game development companies are starting to move more towards formal software engineering practices rather than "cowboy coding" and "shooting from the hip" so to speak.

Also keep in mind that game development companies are beholden to their publishers who invest vast sums of money for a game that they have ultimate creative control over. In this environment, your work is even further removed from your control in that now your boss's bosses have bosses who exert their "creative influences" into a design for better or worse  :). At the end of the day, the person actually writing the code has very little say in what gets written.

Going back to what companies look for in potential employees, my experience in the game development industry is pretty much the same. Again, a more well-rounded individual will get the job over someone who only has a narrow focus on their learning. And here's the major problem with working in the game development industry - everyone is a replaceable commodity. EVERYONE. One person leaves and there are a hundred more willing to take their place. Everyone has dreams of creating video games but the reality of actually doing it is pretty horrible. Game development employers expect you to give 100% of your life and energy into creating _their_ game for very little compensation or commendation. If you're unwilling or can't keep up, again, you are replaceable and 100 more people are standing in line behind you to take your place. Don't have a degree? That's ok. There are 100 more behind you that do. This highly desirable competitive environment is how you can get individuals with doctorates and many years of experience working entry level positions for 80 hours a week for not much pay just because they have zero experience working in the game industry. Let me tell you, it's not fun or enjoyable.

And that's what it really boils down to - the working world and life in general is a competitive market where you try to sell yourself and your abilities for the highest bid you can, to do work for something you'll never own yourself. Limiting yourself to only learning computer related subjects really inhibits the industries you can work in and what companies you can work for. Take my advice in that you may not enjoy learning about other subjects (I wasn't fond of them either), but take the approach that it only makes you much more competitive in this competition called "life".

A higher education degree is paramount to obtaining a job in any software related industry. From my experience working in the simulation industry, you need to be familiar with software engineering practices and not just be able to program software to even get a entry level position. You need to understand the engineering process and be able to communicate ideas effectively to other people and be able to document everything you do. This is where a higher education degree and peripheral school subjects come into play. You may only be interested in learning how to program or computer related subjects at this time, but focusing only on those subjects narrows down your abilities which is not desirable when working in either industry. Companies look for individuals who are well rounded and can be tasked with many other things than just sitting down and writing code.

Another word of advice would be to find a well developed open source project you're interested in and offer to contribute. Learn the code base and how to work with other individuals in a single development environment. That's how I started out. I demonstrated my willingness to learn and had great mentorship on a project I really enjoyed learning to develop on.

Whatever you choose to do please keep this in mind. I can't tell you how many people we've hired at the companies straight out of college I've worked for that had no idea how to properly work with other individuals using a content management system. The good ones were the people who already understood how to work with a team of developers and didn't take several months to figure out why blindly committing to SVN or git is a bad idea. Stuff like that isn't generally taught in schools so it isn't just about obtaining a degree either. The strongest individuals in my field are the ones who put in the time to learn the basics as well as many other subjects and have a true desire to continue learning and growing. Having only book smarts or only desire to program is not enough to truly be successful in these industries - you need both.

Pages: [1]
anything