Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am in a somewhat, hopefully, common situation to many of my peers in NYC. I will be brutally honest here. I've graduated with CS degree (minor math) from a top 20 school, worked programming/qa jobs in software shops for 4 years, and then slowly moved to finance, taking jobs on Wall St (about 2+ years now). While I still do some programming, which is predominately in C/C++ (I kid you not). Most of the programming work revolves around maintaining a system or fixing minor bugs. And comparatively, I've been doing less and less of actual programming. And I've had almost no motivation to improve on that outside of the office. Bars, side hobbies, gym, women and most importantly LAZINESS are the essential culprits.

To be fair, I feel that I've NOT learned anything new, been forgetting old, and lagging behind all the cool technologies, as well as NOT getting better at or building on what I had known. I don't take part in the community (in college I posted on news boards, subscribed to major publications,etc). My math has also suffered tremendously.

I've also noticed that my notion of "programming" changed from cool/hacky to uncool/geeky/quick-route-to STOP gettting laid. This by itself is enough to explain why I've not evolved as a developer.

In a nutshell, I feel that instead of becoming a better professional, and thereby improving my skills in relevant areas, I head south at an alarming rate. I'm 30 now, and I do NOT want to exacerbate my situation even further. Ironically, I am very well paid, and living it up. I admit it's all facade, and one day it will all come crushing, once correction takes place. Very soon.

This weekend, I started re-reading Effective C++ series (by Scott Meyers), listening to math/cs video lectures on www.khanacademy.org/ and http://see.stanford.edu/see/lecturelist.aspx?coll=11f4f422-5670-4b4c-889c-008262e09e4e

I want to get back on track, but I don't have a definite goal and a plan, just ideas that I should (more like - MUST) to get my shit together. I would wholeheartedly appreciate some guidance, suggestions, recommendations. Please advise on what the best practices are. I need a plan.

Thank you so much!

Edit: Guys (and girls) -- thanks so much for support, valuable feedback, encouragement thus far. I'm glad this post was taken seriously and not dismissed as another troll attempt or attention hoarding. You have no idea -- all this will pay off in million ways for me.

share|improve this question
3  
At least you are getting laid. I would advise you to forcible save a lot of money, to the point of not having a lot extra to spend, perhaps buy a house. Then just switch a job for something else that you want to do ... if that is what you want. By the way, maybe you are bitching for no reason? You are working with a difficult language, you are well-paid and not stressed-out (I guess). If you feel lazy, then do learn things that are applicable to your work, something that you can wow co-workers with (won't happen in a week). Also, effective C++ is goo, khan Academy and Stanford videos are good. –  Job Jun 12 '11 at 23:50
    
I am/was with 40yrs in a somewhat similar situation. Funny thing, my first steps where somehow similar (Khan, reading on C++ including Myers, Stroustrup, MIT OpenCourseware, answering questions at Stack Overflow). Next step was getting involved in an open source project that is more interesting than my paid everyday programming work. Reading a few popular books related to math (Goedel, Escher, Bach and others) brought back some of the fascination of this field and gave me an overview of possible directions to take, though Khan showed me, that I will have to do some preparations before that. –  thorsten müller Jun 12 '11 at 23:59
    
Your active knowledge such as math, coding, human languages always diminish a bit but do lay on a dusty bookshelf somewhere, waiting to be retrieved. If you have other hobbies, then maybe it is ok to not be coding after work. One consideration is maintaining value as a coder, but my personal approach is: save&invest while young and single. Money is not just for pleasure; money is for freedom. Not sure if you see things the same way. I will just say that if you are working on Wall Street but live paycheck to paycheck, then that is pretty lame. –  Job Jun 13 '11 at 0:00
    
Does anyone else find Khan a terribly slow lecturer most of the time, to the point that you start opening other browser tabs while trying to listen to him? –  Job Jun 13 '11 at 0:02
    
@Job: I assure that, while my weeks are sometimes hell, that's NOT what broached this subject. It's been sitting inside me for years, and I just cant hold it anymore. My thinking is that I slowly become irrelevant (skill wise), losing motivation to learn, and probably defrauding my employers by committing all my potential. –  George Jun 13 '11 at 1:32
show 6 more comments

6 Answers

up vote 4 down vote accepted

First find out what you like to do. If you don't like programming anymore it won't be much of a help to keep studying C++.

If you still like it, then I'd recommend you to find a subject that interests you. It can be web programming, mobile programming (Android, iOS, etc...), video game programming, whatever motivates you.

Then, look for the current technologies used in the topic of your choice and write a software (it can be a demo not necessarily something you can sell) that uses these technologies. It can be a website, a mobile application, a game, whatever, just practice what you learn. This work will also become part of your portfolio, in case you want to switch from finance to a different sector.

share|improve this answer
add comment

Programming aimlessly will get you nowhere. You can read about best practices all you want, but without a goal and actual practice you won't improve.

Start or join a real project that you feel passionate about and the rest will take care of itself. When you have actual needs and concrete questions, you can come here or to stackoverflow and I'm sure you'll get very good answers.

share|improve this answer
add comment

Sounds like you really went off the flagpole there. People often choose to go someplace, not really paying to attention as to what they're letting go of while doing so, or even why they're choosing to go where they're headed in the first place. First things first: assess why it is that you are where you are right now. You're obviously ambitious and have no women trouble, so there's no trouble there. This typically means that you require something more fulfilling and deep to actually make you happy. I think life is telling you something, something which has placed you in a position many others wish they could be at right now, and that is that you're most important life decision has come. You're 30, right? Living on Wall St, you obviously have a great career at your side. But, ask yourself this: what is it giving you internally? We often feel as though we have to make our identities match what it is that we are inside. It's like trying to mold a class title with one of its own data members. This, unfortunately is impossible, because a class title is not the class itself: it is the identifier to which it refers to the data members of the class. My point is that you may be realizing that this is not what you want out of life, and that your inner self may be trying to tell you something more. I would recommend you really self-analyze yourself, and as objectively as you can. Ask yourself what it is that you really want out of life, and not just what, but why. Focus on that, too. Ask yourself why you chose to be where you are right now. Connect the dots, and really trip on where you're going to be ten years from now (shit! only ten years and you'll be 40!) Life goes by fast. Really fast. Still, remain calm. Relax. Relish in your achievement, but seriously consider what you want out of life. This may be your last real chance to truly make the right decision.

share|improve this answer
add comment

Well I'll tell you this, if you're not into the geekiness factor then C/C++ is not for you. Those are the languages that require the most cognitive load to get simple things done.

I'd recommend you learn the scripting languages.

  • Python is very consistent and a solid programming language for getting things done.
  • If you do want to go a bit geeky and specifically learn about best-practices and learn ruby.
  • If you want to pick up web-programming then start with Ruby's Ruby on Rails framework. Also in that case start picking up javascript (the world's most popular programming language) but make sure to read Douglas Crockford's "Javascript, the Good Parts" as it is very easy to fall into bad practices with it.
  • Finally, if you spend a lot of time in a windows environment, why not pick up Powershell - starting with Windows 7 it comes pre-installed and is a very underrated, robust language that is structured to be easy to learn. It will help you probably with your work as well as you will be able to automate a lot of silly repetitive stuff. Bonus: with powershell you get full access to the extremely powerful .Net runtime where pretty much every tool has already been written and its just a matter of finding it and learning the API.

Feel free to ask questions in the comments.

share|improve this answer
    
Sir, I have programmed in C++ in some shape and form -- via work assignments, work projects, newsgroups -- for the last 11 years. Learning (re-learning) is not an issue. Getting excited about it, programming, math, engineering, is at the TOP OF THE LIST for me right now. –  George Jun 13 '11 at 1:38
    
Then my advice applies even more. I've never met a C++ programmer who was excited about their language; I've never met a Ruby programmer who wasn't. –  George Mauer Jun 13 '11 at 1:56
    
Dude, what is up with a mustache? –  Job Jun 13 '11 at 3:03
    
@GeorgeMauer Well, now you have ;). Pleased to meet you. –  about blank Mar 23 '12 at 17:55
add comment

Join an open source project. It will force you onto best practices since other people are working in the same project and lets you build new and interesting stuff.

share|improve this answer
1  
will look into it. –  George Jun 13 '11 at 3:15
add comment

The only advice I can offer to get 'back on track' after asking yourself what you truly enjoy doing is to do a deep dive. Whatever the topic or genre just embed yourself into a group of people with a similar mindset - they'll keep you motivated. Then explore. Write a simple game, scour github and find a 'cool' project and play with it, start applying your math/finance knowledge to writing useful tools - you get the idea. As most imply, it all stems from passion. If you don't care that much about it, or don't have the motivation to jump in headfirst, then you'll never evolve your skillsets.

Nonetheless, you're certainly not alone in your sentiment - especially in the NYC technology/finance world. Shoot me an email - would be happy to shoot the proverbial you know what. (I'm in the same demo/geographic as yourself)

share|improve this answer
add comment

protected by Mark Trapp Jun 14 '11 at 7:26

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.