|
I'm twenty-years-old and considering enrolling on a Software Engineering/Computer Science degree next year but I'm not sure about it. I'm not that interested in computers but I have Asperger's Syndrome and dunno what else I'd do, I need a job that has a fair amount of routine and given how fucked the economy is and will remain fucked for at least ten years I basically need to pick a degree in something that can guarantee me a job after I graduate.
I am not very good with people nor am I a very hands-on person, I am not very creative and I struggle with trying new things because of Asperger's - however I do have a fairly logical mind and I pay meticulous attention to detail.
Is there any way to stimulate an interest in computing? How do I know ahead of time if Software Engineering is for me or not? What kind of qualities should a Software Engineer have? I can't really afford to start a degree programme and then drop out of it.
|
A lot of planning beforehand, testing, retesting, lots of practise, testing more, adjusting things over and over and over again until they work. Never see real visual progress, unless you've finished a bigger chunk and integrated it into the overall program. I hated it to the guts, but you should try to learn one language and if you like it, then embrace the rest.
As a "normal" programmer, creativity is almost never necessary. You can always reuse already written code and just modify it to your needs.
But in the end, you have to try it out. Get a good book on java or whatever you want to learn first and then progress fromt here.
|
as Kuni said, just see if you like programming. Check for tutorials and start learning programming, a great blog about it is here (it resolves about game programming in C++ but when I skipped over it a while ago it obviously had the basics of C/C++ programming): http://www.teamliquid.net/forum/viewmessage.php?topic_id=382368
That way not only do you see if it fits you, but if you have a general interest in it, then you will have a head start in that department when starting your studies, which gives you more time to focus on other subjects.
|
Do you like math and logic related problems and puzzles? If yes, you'll probably like programming. But as with so many other things, there are many aspects to programming that cater to different people. You can work on algorithm design, which can be very math-focused, interface development, which is much more creative, etc...
The best way to find out is to just try. Pick up a book or two from the library (or an online-resource, but I think books are preferable) on a common programming language (C, C++, Java for example) and see how it is. Read about the basic constructs and syntax and try to come up with a small little project to write for yourself (for example: a program that calculates whether a number is prime).
Before enrolling in the SE programme, I recommend you try to find out in detail what it involves as I know from personal experience that with Aspergers it can be very difficult to motivate yourself for something you're not interested in. Perhaps you can find an overview of the curriculum online and you can look up what the content of the courses is. Some places have days where you can join the classes for a day to see what it's like to study there. Do check how much of the curriculum consists of projects you have to do in a group. Some universities like to really go overboard on those group-projects, which are terrible if you just want to study by yourself (Mandatory group-projects are the main reason I didn't do a CS bachelor alongside my math/physics studies).
|
Honestly I don't really enjoy maths or puzzles etc very much. I heard someone say that gaming is quite similar to programming, i was quite good at warcraft 3, Wow and sc2 and ok at bw (was top300 europe on ladder in Sc2 and C+ as zerg in bw, top50 world guild in wow too) but honestly I'm not a very precocious person when it comes to computers - I simply spend a lot of time browsing the internet and playing games.
It would be good if I could force myself to learn about computers etc, I find it very hard to break out of routines - for example it took me like a week to get into starcraft 2 and i basically had to force myself to play it however after that I started to really enjoy it and played like 4000 games.
|
Nope, gaming is nothing like programming :-)
It's more like writing a story in a foreign language one you know roughly about, but isn't the language you grew up with. Over a long period of time, you'll fight with the grammar and each and every little grammar mistake makes your story completely worthless. Sometimes the mistakes are very hard to find. Even when you think you're good, those little mistakes happen, just like someone who isn't British or American speaks English with slight mistakes (wrong if-sentence structure, at-in-on-into mistakes etc). Those mistakes matter a lot, all the time ... the complete opposite of such a situation in life, when everybody still understands what you're trying to tell them. You can focus on the story fromt he beginning, as those little grammar mistakes will almost certainly not go away. Many problems arise, where you are just not able to not make a mistake, even with lots of planning beforehand.
It comes to a point where you're pretty much forgetting the story you wanted to write completely, only having all those little mistakes and sentences in mind, which you want to write, but the connection to the whole story gets forgotten more often than not.
Sorry if I sound a bit pessimistic. It felt like that for me and I hated it. Just my experience. I was taught various programming languages, old ones, new ones, even ancient ones ... I hated them all and in the end went down a whole other road, not as a program developer at all.
|
what do you work as Kuni?
|
Hello fellow Irish person. Why not try it out a bit. Sign up to this (http://www.codecademy.com/) and do the first few lesson in Python to get an idea.
If you like that then look further into it.
PS. What was your account on iCCup?
|
@Scorpion77 : the best way for you to know if you like programming is to actually start and learning it, right now. There are tons of free resources and tutorials how to get started, I learned c, c++, php and java before I even enrolled into university to earn my Masters in computers and systems science. And no, I programmed because i thought it was fun and it had nothing to do with the economic side. Try it out and test it and you will know pretty fast if you think its fun or not.
|
Kyrgyz Republic1462 Posts
On January 31 2013 22:42 Scorpion77 wrote: Honestly I don't really enjoy maths or puzzles etc very much. I heard someone say that gaming is quite similar to programming, i was quite good at warcraft 3, Wow and sc2 and ok at bw (was top300 europe on ladder in Sc2 and C+ as zerg in bw, top50 world guild in wow too) but honestly I'm not a very precocious person when it comes to computers - I simply spend a lot of time browsing the internet and playing games.
It would be good if I could force myself to learn about computers etc, I find it very hard to break out of routines - for example it took me like a week to get into starcraft 2 and i basically had to force myself to play it however after that I started to really enjoy it and played like 4000 games.
From my point of view programming is about constant learning. It is of course possible to stick to one language and one way of doing things, but keeping up with newer languages and technologies makes you so much more efficient.
|
Same for me as Integra. Superficially it doesn't seem like coding would be that interesting to you(after all, it's just a bunch of words, right?) but the ability to create a working program, the ability to see yourself constantly improving, the knowledge that even though you are having fun programming you are also increasing your hireability so it's not a waste of time, etc. are all big draws. You 100% need to try out coding before you jump on this. Personally, I'd suggest you start with an easier language than C++ or C. Something like Java or Python would be a good start.
And the suggestion by Atom Cannister to use codeacademy is good. Give that a shot.
|
The basic routine in programming is: Identify problem, search for solution, apply solution.
Finding a solution often requires you to learn new things. You'll frequently dig the internet/documentation/books for similar problems and adapt the solutions you find there to your own problems. Sometimes a solution even requires you to learn a whole new programming language (which is not nearly as tough once you are good with another language).
The general method of finding and applying solutions is always the same, so in a sense it is indeed repetitive. But you'll rarely have a case where you just spend days upon days just doing stuff that you have already done before.
|
Be an engineer. I have a feeling you'll find yourself fitting right in. Attention to detail is one of the highest soughted after qualities in an engineer. Some people might think -- "Yea, I can pay attention to little thing too", but No.. I'm talking about attention to detail to a point of being OCD. Being creative is not required, but it is crucial to have logical thinking and methodological deduction abilities. You will still need to learn basic programming (don't worry you don't have to be an expert)-- it's going to be extremely useful if you were to go down the path of being an engineer.
Also, probably most importantly, there are plenty of jobs for engineers.. you never have to worry about starving.
You will often find crazy fucked up (but brilliant) people working as engineers.. you'll feel normal in comparison -- guaranteeed!
As my boss always like to say -- everyone's a package =)
Edit: you say you're not good with people? I have a colleague who has a terrible psychosis condition. He almost never talk face-to-face with anybody at work, and when he does, he never looks at you in the eye (or face). He's absolutely brilliant though!
Don't worry -- when there is a will, there is a way!
|
On February 01 2013 04:18 MrStorkie wrote: Be an engineer. I have a feeling you'll find yourself fitting right in. Attention to detail is one of the highest soughted after qualities in an engineer. Some people might think -- "Yea, I can pay attention to little thing too", but No.. I'm talking about attention to detail to a point of being OCD. Being creative is not required, but it is crucial to have logical thinking and methodological deduction abilities. You will still need to learn basic programming (don't worry you don't have to be an expert)-- it's going to be extremely useful if you were to go down the path of being an engineer.
Also, probably most importantly, there are plenty of jobs for engineers.. you never have to worry about starving.
You will often find crazy fucked up (but brilliant) people working as engineers.. you'll feel normal in comparison -- guaranteeed!
As my boss always like to say -- everyone's a package =)
Edit: you say you're not good with people? I have a colleague who has a terrible psychosis condition. He almost never talk face-to-face with anybody at work, and when he does, he never looks at you in the eye (or face). He's absolutely brilliant though!
Don't worry -- when there is a will, there is a way! I don't know about engineering, i'm not good at practical, hands-on things and i'm not very good at drawing either.
|
Being at least a bit interested in computers in general (from a technical perspective, not from a web browsing or gaming perspective) is a huge asset when it comes to being a programmer. If you don't have that basic thing, you'll probably find programming arduous.
|
Ideally a software engineer would have the following qualities: - passionate about technology or computers - enjoy learning, especially independent learning - patient (bugs, annoying, little, hard to find bugs, are standard) - attention to detail, but also the ability to zoom out and see the big picture when actually designing a program - understand programming (this is a given, and you can try it out for yourself by learning any programming language) - good problem solver (i.e. were you good at math as a kid? do you think logically? are you persistent?) - good communication skills (writing documentation, answering questions, asking questions, and explaining things to managers are common tasks)
I'm probably missing some, but my best advice is to investigate something programming related online and see how that works for you. Note: I am a software developer.
|
You should consider adding some accounting to whatever education path you take. A job as an accountant is probably not for you, since it requires working with people a lot. However, there is always a high demand for business programmers, i.e. people who write custom software and middleware for the accounting department, the h.r. department, etc. Unlike more pure-tech jobs, business programming jobs are often highly repetitive and don't require much in the way of programming skill or interest in computers.
Also, if you know some accounting, you can work as a bookkeeper. Book-keeping is not as good a job as programming, but every small company needs a book-keeper, so with the right connections it can be very easy to find part-time work, to support yourself or to fill in the gaps in employment. (And it goes without saying that book-keeping is highly repetitive and detail oriented).
|
You are 20...
Did you ever do any programming in your life? If yes, programming could be for you. If not, no programming is not for you.
Programming requires a mindset that you need to learn from young years. You need to absolutely LOVE problem solving.
Forget math and common puzzles, they have nothing to do with programming (well, ok, little). It's all about spending hours on solving problems. Literally. Small problems, big problems, small picture problems, big picture problems, thats all a programmer does every day of his life and some develop an aptitude for it while others think "Hey, i sit on the PC all day, i should become a programmer and earn big bucks" and then live the rest of their life as horrible programmers that every decent programmer hates but that are never long enough in a job that those decent programmers could actually get the chance to punch them for forcing them to clean up the messes that bad programmers leave behind.
Learning the basics of programming is simple. Learning the syntax and functions and stuff is easy. Putting it together to solve problems is the hard part.
I'm slightly biased because i have never seen an even half decent programmer who didn't start programming when he was a child, so from my biased opinion, no, programming is not for you.
Another note: Programming is an extremely social job. Yes, really. I know what others say but they are _wrong_. If you are not good at working together with others, giving presentations and all that, then it's another reason to not work as programmer.
|
On February 01 2013 06:12 Scorpion77 wrote:Show nested quote +On February 01 2013 04:18 MrStorkie wrote: Be an engineer. I have a feeling you'll find yourself fitting right in. Attention to detail is one of the highest soughted after qualities in an engineer. Some people might think -- "Yea, I can pay attention to little thing too", but No.. I'm talking about attention to detail to a point of being OCD. Being creative is not required, but it is crucial to have logical thinking and methodological deduction abilities. You will still need to learn basic programming (don't worry you don't have to be an expert)-- it's going to be extremely useful if you were to go down the path of being an engineer.
Also, probably most importantly, there are plenty of jobs for engineers.. you never have to worry about starving.
You will often find crazy fucked up (but brilliant) people working as engineers.. you'll feel normal in comparison -- guaranteeed!
As my boss always like to say -- everyone's a package =)
Edit: you say you're not good with people? I have a colleague who has a terrible psychosis condition. He almost never talk face-to-face with anybody at work, and when he does, he never looks at you in the eye (or face). He's absolutely brilliant though!
Don't worry -- when there is a will, there is a way! I don't know about engineering, i'm not good at practical, hands-on things and i'm not very good at drawing either.
Not all engineering needs those things.
If you can find a good technical school you could enroll undeclared and try things out. Try out some engineering courses while doing some programming in your spare time. You may fall in love with one or the other. If neither sticks you can worry about it then.
Don't become a programmer just because you want a steady job. 100% of comp sci majors I knew freshman year that had that reasoning dropped out of comp sci before the end of the year. Don't be a programmer if you don't like it, you'll really hate it.
|
Engineering an programming is a lot of things.
Some days, I will talk to 0 peoples, other days, I'll be fielding calls and meetings for 8 hours straight. So, socially, there is plenty of isolation, as well as plenty of interaction.
This spawns from the business idea of getting things done as quickly as possible. If you need a solution to a problem, the fastest way may be to ask someone who has already solved it. If their time is too valuable, or you have spare cycles, then you end up working in isolation to solve the problem.
|
|
|
|