• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

What to do with a new skill

Hankerton

Golden Member
I guess I should start by saying I'm 27, I have a college degree, work as a Business Analyst/Program Manager for a very small software development company. I make solid money doing what I currently do, and just decided to take a course at a local college to learn something new (programming in C).

So I guess I'm looking for some ideas on what to do as a next step. I'm about half-way through the semester and although this language is fairly out-dated, I've aced my first exam and I feel like I should continue this hobbie/skill after the course is over.

Anyone have any recommendations? Is there another language to take that builds on the skills I'm learning now? Is OpenGL out of the question? Robotics perhaps?

Not really looking for a career switch. I just don't want to let my new-found skill fall by the wayside.
 
Originally posted by: IHateMyJob2004
Wrong forum?

No offense, but without a 4 year degree in comp sci or a related engineering field, our company would not consider you.

I'm pretty sure you didn't read my entire post.
 
Programming is hard to get into since most programming jobs are very demanding, and they are far and few between. Most companies outsource programming, which sucks.

I just keep programming as a hobby, and IT as a job. Programming can become useful in IT though, such as when you want to automate a task.
 
I would talk to your prof to see what they would recommend to take next...

In the mean time, I would write little apps here and there for fun to keep my skills up.

It can be difficult to do when you don't have a specific project in mind - you can go to rentacoder.com & see what kind of app requests are posted & try some of the simple ones for fun.

Later, if you really like what you're doing, you can keep an eye out for small businesses that need some sort of software solution for whatever they're doing (mom and pop stores who don't have a lot of $$ for tech).

I know a guy who made some decent $$ when he sold some homebrew software to Pepsi many years ago.
 
Originally posted by: IHateMyJob2004
Wrong forum?

No offense, but without a 4 year degree in comp sci or a related engineering field, our company would not consider you.

and there lies the problem. When education weighs more than skill.
 
You've said you don't want to get into it necessary as a career, so I'll leave all that commentary out.

With C, you literally can do just about anything; unfortunately, most of anything takes an extraordinary amount of skill and knowledge to do anything. Writing a Windows app in straight C, for example, is an exercise in frustration and patience. True, we all used to do it this way but that was a decade ago.

So, the sweet spot for just C these days is indeed embedded apps, and that includes things like robotics, talking to PLCs maybe, other manufacturing equipment, etc. In other words, it's going to be hard to do something "cool" in any reasonably quick manner. One thing you might consider is Objective C, and though it's different from C you can still leverage some knowledge. With this you could start doing things on the iPhone.

In my opinion, you should have stuck with a language that can make you more productive since you're essentially just treating it as a hobby. You can still do embedded work with C#, Java, C++, etc.
 
Originally posted by: waffleironhead
Originally posted by: IHateMyJob2004
Wrong forum?

No offense, but without a 4 year degree in comp sci or a related engineering field, our company would not consider you.

and there lies the problem. When education weighs more than skill.

Very few companies actually impose such a requirement that's been proven silly. If you go to Microsoft, for example, you find a blend of people with no degree to philosophy to horticulture.
 
Originally posted by: Descartes
You've said you don't want to get into it necessary as a career, so I'll leave all that commentary out.

With C, you literally can do just about anything; unfortunately, most of anything takes an extraordinary amount of skill and knowledge to do anything. Writing a Windows app in straight C, for example, is an exercise in frustration and patience. True, we all used to do it this way but that was a decade ago.

So, the sweet spot for just C these days is indeed embedded apps, and that includes things like robotics, talking to PLCs maybe, other manufacturing equipment, etc. In other words, it's going to be hard to do something "cool" in any reasonably quick manner. One thing you might consider is Objective C, and though it's different from C you can still leverage some knowledge. With this you could start doing things on the iPhone.

In my opinion, you should have stuck with a language that can make you more productive since you're essentially just treating it as a hobby. You can still do embedded work with C#, Java, C++, etc.

Yep.

I'd like to add that C is alive and well in the UNIX world if you're interested in that.
 
C is a great language, but as a hobbiest you're only going to dedicate so much time to programming. You really should get started on learning an object oriented programming language as soon as possible. Pick up a book on Java, C#, Visual Basic or C++ and get started. You need to know the following four terms intimately and be able to recite their definitions in detail: polymorphism, encapsulation, inheritance, abstraction.

Quite honestly, I don't think C programming is going to be a particularly rewarding hobby. Maybe it's just the high-level language snob in me, but it's so much more fun to be able to create great looking, feature-packed apps quickly without having to deal with the gritty details of low-level coding.

Edit - I just want to clarify that the above is only a weakly held opinion, because C really is a fun and powerful language. I just prefer the OO stuff, and I find high-level architecture more interesting to learn about than algorithm design and functional structure.
 
If you want to make something you can actually show people and such, try mobile app development. You'll have to learn a language other than C, but the apps generally won't be very big and distributing them across the app stores (iphone has one, android has one and soon blackberry and nokia will have one) is very easy. As others have mentioned, you'll need a mac and Objective C to do iphone development, but you can do Android and BB development on any platform using Java.

<shameless plug>
I wrote this smallish app for Android and its done very well - over 50k downloads since November: http://www.android.com/market/...ion.html#app=phonalyzr
</shameless plug>


Another option is project euler: http://projecteuler.net/index.php?section=problems, which is just a bunch of interesting problems you can solve in a language of your choice.
 
OpenGL is a great thing to learn, but before you do I recommend you're comfortable with pointers as well as malloc/free.

The reason C seems out-dated to you is that many newer languages such as Java, anything in .NET, etc. hide a lot of complexity from you. You simply don't need to worry about a lot of details because they are handled for you. This simply isn't the case in C. With C, the philosophy is that the programmer is completely responsible for just about everything. While this can be extremely tedious, the advantage is amazing amounts of creative power. Remember, C (or C++) is the language of choice when writing extremely complex code like operating systems.

Dave

 
Originally posted by: Platypus
Originally posted by: Descartes
You've said you don't want to get into it necessary as a career, so I'll leave all that commentary out.

With C, you literally can do just about anything; unfortunately, most of anything takes an extraordinary amount of skill and knowledge to do anything. Writing a Windows app in straight C, for example, is an exercise in frustration and patience. True, we all used to do it this way but that was a decade ago.

So, the sweet spot for just C these days is indeed embedded apps, and that includes things like robotics, talking to PLCs maybe, other manufacturing equipment, etc. In other words, it's going to be hard to do something "cool" in any reasonably quick manner. One thing you might consider is Objective C, and though it's different from C you can still leverage some knowledge. With this you could start doing things on the iPhone.

In my opinion, you should have stuck with a language that can make you more productive since you're essentially just treating it as a hobby. You can still do embedded work with C#, Java, C++, etc.

Yep.

I'd like to add that C is alive and well in the UNIX world if you're interested in that.

Yep. I'm in support and work primarily with C/C++. I actually help customers figure out false positives in their code to determine whether they are bugs or not. And a lot of my customers are the big name players. You name it, they're likely our customers (including Japanese corporations). C/C++ is heavily used in the embedded world.
The only thing I detest is heavy template usage which make triaging code inherently difficult.
 
Back
Top