Settings

Theme

Ask HN: What other career choices can one do with CS degree?

39 points by scalatohaskell 9 years ago · 70 comments · 2 min read


I am really distasted with programming, after multitde of jobs, and multitude of contracts, I am hating my life. My work especially. I've programmed a lot since young age (12-13?), and I love functional programming. Sadly, there I'm not good enough to take some proper Haskell positions (since they are usually taken by great CS PhDs etc.), and thus I'm often stuck with OOP messes. Where I'm usually "superstar" (sorry for shitty expression) in team. And that's very tiring...

I'd love to have something of my own, but I can't find motivation to do it when I know the probability of it succeeding. I consulted some friends with their startups, and know enormous amount of effort they put it, and I haven't seen single one do well.

I had done quite some opensource work, which was pretty fulfilling (mostly contributing to established projects), but it sadly doesn't pay bills.

I was thinking of swapping careers. I have CS degree (that means decent math, ability to think etc...). What other careers are there, where I could utilize some of that knowledge, and not feel so burned out?

btw I have around 7years of professional programming experience...

btw2: I lift regularly weights, I am healthy, so work isn't all life. I also tried meditation for over a month, while it wasn't bad, it didn't help me "cure" my frustration.

ThrustVectoring 9 years ago

As an employee-level programmer, you're generally not going to find meaningful work. You're going to get handed messes, and in exchange for a paycheck you hand back slightly less chaotic messes that do some more stuff.

Switching jobs probably isn't going to fill the frustration you feel. The vast majority of jobs aren't meaningful. The ones that are don't pay particularly well or have other quality of life issues - school teachers aren't well paid, healthcare providers require vast amounts of training and work insane hours, and the overwhelming majority of artists don't make it.

The solution is to have work be the thing you do for forty hours a week that pays for the meaningful things you do in your life. Go home after eight hours. If you have a partner and kids, spend time with them. If you don't, consider getting them. Make some art in your spare time, or build side projects that have meaning for you. Go dancing. Make music. Write a blog. Write angry rants about how your work is meaningless. It really doesn't matter much.

There's no shame in quietly building a happy little life for yourself. You just don't hear about it too often because those folks are out being quietly happy.

  • scalatohaskellOP 9 years ago

    This is what I came to realize as well, and it's what frustrates me. I have one of simplest job in the world (I see other people in other fields working so hard, for much less money), and I can't manage it because I'm so bored and frustrated). And that feeds back to even more frustration and unhappyness. I'd hope that I can find some meaningful job. At least something that makes sense a bit.

    There's a lot of truth in what you write. Thanks. Problem is, I am extremely goal oriented person. I need a carrot in front of me to chase - that's what drives me and what makes me get up at bed. I used to do sports professional when I was younger, and I was always obsessive about wining, up to putting tremendous hours into it. My self-analysis, maybe completely wrong, is that I carried it into my adult life, but can't find nothing meaningful to compete in now.

    • ThrustVectoring 9 years ago

      At a fundamental level, the important question is "what do I need to be okay with my life?" If you don't know what you need, it's extraordinarily difficult to figure out how to get it.

      For me, it's enough money to not have to worry about finances, a tolerable working environment, a few meaningful relationships, and a couple avenues for giving back to my community in a concrete manner. I don't have nearly the competitive focus that you do, and it definitely sounds like you need an outlet for it. Speed-running super mario 64 could be a good option if you want the status points. Or if you're secure enough financially to fail at it full-time, getting into sales would be fantastic for you.

    • taway_1212 9 years ago

      Maybe try climbing the career (mgmt) ladder?

      • scalatohaskellOP 9 years ago

        perhaps. I'm contracting now though, so it's impossible. I thought that maybe if I get in -> fix/build stuff -> get out, it will be exciting enough.

  • kiliantics 9 years ago

    An alternative is to join a company that is working on something meaningful. Maybe there's no way to get around writing code for messy projects but perhaps those projects could be in service of something you believe in. You could be a developer at a non-profit, in a co-operative, or for a political campaign.

  • antisthenes 9 years ago

    "Actual happiness always looks pretty squalid in comparison with the over-compensations for misery. And, of course, stability isn't nearly so spectacular as instability. And being contented has none of the glamour of a good fight against misfortune, none of the picturesqueness of a struggle with temptation, or a fatal overthrow by passion or doubt. Happiness is never grand."

  • jonathonf 9 years ago

    > school teachers

    Teaching truly is a vocation; you don't (let alone can't) do it for the pay. Before you consider it, if you don't know any teachers, don't go into teaching; you need to know what it entails.

    • mabbo 9 years ago

      In Ontario you do. Teachers here are paid so well that most young new grads with teachers degrees spend years doing supply teaching before they get a real teaching position.

      My sister gave up and started teaching in England instead.

      • jonathonf 9 years ago

        While the pay is different, the situation is the same in England for Primary teachers in "desirable" locations (e.g. good schools, rural and suburban schools). Positions in some areas simply don't exist until teachers retire.

  • nunez 9 years ago

    i read this as "give up; you won't go far in your career as a dev"

    not sure if that's what you intended.

    • ThrustVectoring 9 years ago

      No, I'm saying that most of the value in a dev career is from the paycheck. Want to feel like you make a meaningful difference? Spend time with your loved ones, volunteer somewhere, or pick up a hobby.

mabbo 9 years ago

There's so much! I'm actually just now transitioning from a developer role to a non-developer role.

For me, I'm moving to a role doing on-site installations of software that I used to be a developer for. Travel all over, decent pay, get to go on-site (at Amazon warehouses), and it requires technical skill without being a real coding job. This is perfect for me.

The key is two things: first, stop looking down at non-dev jobs. They aren't less, they aren't unworthy. Lots of devs I've met have a strange tendency to think that way.

Second, figure out what motivates you. Think about what parts of your job you've loved, and what made them so great. I doubt it was the part where you wrote some lines of code. Think more higher level- what specifically about that thing you were doing was it that made you want to get to work early and stay late to finish it? The customers? The team? The business goals?

Once you know that, go looking for a job that has those things instead.

(And hey, that team I mention I'm joining might be hiring still if constant travel and early mornings in the industrial end of town is up your alley :D )

sputknick 9 years ago

You sound like a great candidate for a Product Manager position. ITs about the management of software systems, versus the code. You could be the person that prevents those "OOP messes" from happening in the first place. I've been out of college for 15 years, and I sometimes go years without writing code (I've recently gotten back into it, not because I'm required to, but because I want to). Its more about interfacing with executives, and users, and you have to deal with budgets, and conflicting requirements, and limited resources, so it's no walk in the park, but it is a different set of headaches from what you are dealing with now. Even if it's only for a few months/years, I think you are at the point in your career where it makes sense to diversify. When people ask why you are looking for a different role, you don't have to be negative, you can turn it into a positive: "I want to try something new, I want to get a higher level view of how software is created".

joeclark77 9 years ago

How about picking a company that does something you'd love to be involved in -- building rockets, brewing artisan beer, raising cattle on the western prairie, etc. -- and go become their one-man IT department. I guarantee there's a lot of great small companies out there that need help but can't find it. The work may be a mix of the menial and the interesting, everything from fixing printers to analyzing data in the ERP, but/and you get to be a part of something that makes you want to get out of bed in the morning. Whatever that may be.

  • thebiglebrewski 9 years ago

    This is what I do! I love it!

    We're a fast-growing startup and I was employee number 3, now of like 15-20 people.

    I'm starting to build the team too but those early days where it's just you solving the problems...so much fun.

  • scalatohaskellOP 9 years ago

    That's actually great idea... How would I approach such companies, where do I look for them? Any literature, book, courses on it? Thanks

    • toomuchtodo 9 years ago

      Check out Relativity Space in LA. They're a an orbital vehicle startup, and looking for a one man IT guy (DevOps/sysadmin/etc) with a manufacturing bent (heavy emphasis on supporting a vehicle design team and lean manufacturing using automated machining equipment).

    • joeclark77 9 years ago

      Depends on what you want to do! For me, I want to live in a small town in the woods, raise chickens, that sort of thing, so I would pick a region first, then look for interesting businesses there, and simply write and ask if they need someone with technology skills.

rb808 9 years ago

> thus I'm often stuck with OOP messes. Where I'm usually "superstar" (sorry for shitty expression) in team.

Maybe this is your problem. You should try not to be the team hero. Stick to your little part of the app, do a good job and go home early. If the rest of the team is screwing up - it isn't your job to fix.

  • dasmoth 9 years ago

    Stick to your little part of the app

    I agree this is good advise when it's feasible, but a lot of the current management trend (collective code ownership, everyone working off a single "backlog", etc.) can make it quite hard to follow.

  • scalatohaskellOP 9 years ago

    problem is, it is (will be) my problem to fix. I don't want to be hero, but I will get assigned to those places to fix it up. Because it worked before, and managers were happy with my work before.

    • BlackjackCF 9 years ago

      I've been there before/see a lot of my friends in that position.

      It really is a matter of not being able to say no and wanting to swoop in and save stuff. It's not good for you. Ultimately, it creates this terrible mentality at the workplace where you're expected by your manager to come in and save things all the time. This also means that your coworkers don't step up to learn more of the stack and troubleshoot, because they know that they will always have you to fall back on.

      It might be easier to say no when you reframe things with this perspective. If you never say no, no one else will ever learn, and therefore you will ALWAYS be stuck in this position.

    • rb808 9 years ago

      It sounds like you need to learn to say no- or at least negotiate what you work on. If you hate it so much tell your boss - they'd prefer you happy and working on something else rather than quitting.

      • scalatohaskellOP 9 years ago

        that's actually good idea. I never considered negotiating this part. I thought if they pay me...

        I've been called "programmer-whore" by friends (in joking manner :) ). Because I go in and fullfil wildest manager's dreams for money. Huh. Some truth to it I guess.

        I hope that expression is not too vurglar to use here... sorry I'm not native English speaker.

        • rb808 9 years ago

          Yeah it took me a long while to learn this.

          If you're doing the work and not complaining managers will think you're happy. If you're working overtime to get this done they'll think you're very happy. If you aren't enjoying it you need to tell them. They aren't mind readers.

morgante 9 years ago

You might want to consider shooting for financial independence (see https://www.reddit.com/r/financialindependence/).

It might be a few years of grinding it out as a developer, but if you focus on it then it could come pretty quickly.

Having a large cushion of savings makes it much easier to find fulfilling work. You can experiment with a startup if you want (and not worry so much about it failing). You can try a lower-pay but high-impact career. You can travel.

I'm nowhere near FI myself, but even the savings I do have made me feel much more free.

Otherwise, look into adjacent careers. Product management, sales engineering, and engineering management are all potential tracks to try.

  • scalatohaskellOP 9 years ago

    Thanks. I'm actually buying a flat now, where all my savings go into. I plan to rent it up if I dont end up living there (moving for job etc.), since flat prices are going up and up drastically.

romanovcode 9 years ago

Technical product owner is the only one I can think of.

You could also be technical lead/CTO, however since you are big fan of functional programming you will more likely push your preferences onto other workers and they will hate you.

  • scalatohaskellOP 9 years ago

    I've been told multiple times that people see me as a CTO later. Thing is, I'm still pretty young, and I call it usually bullshit. I'm nowhere near CTO. Maybe in 15 years.

    I like to help, explain, prototype. Help understand frameworks etc.

    • romanovcode 9 years ago

      Imposter syndrome. If you are skilled enough it doesn't matter much how young you are.

      • eropple 9 years ago

        To a degree, it does. I'm 29, and a big part of why I'm contracting/consulting right now is because my resume is a decent bit more advanced than my hairline is receded. There's some "look the part" involved.

        • UK-AL 9 years ago

          In the startups arena in my area, i'm surprised when I see a CTO or CEO over 35 tbh.

          Average seems 27/28

    • lj3 9 years ago

      You could try bootstrapping your own product. No need to go big, either. A small web service you write on the side will give you valuable experience if you decide to go the CTO route in 10-15 years.

thehardsphere 9 years ago

You keep saying in comments all over the place that you think you're not smart enough to pursue some of the other alternatives people are suggesting.

I think you need to get over that feeling somehow. You're obviously too smart to do the work you're doing, because you're unhappy with it and it sounds like you're not being challenged enough. Other people around you also say things indicating that you are smart. Yet you seem to doubt your own smartness. What's going on there?

  • scalatohaskellOP 9 years ago

    You're onto something, perhaps there is little imposter syndrome, but I think that suggestions such as CTO are little bit off :)

jeddawson 9 years ago

Just do something you love! It really doesn't matter what degree you have or what your skill set is at the start. Passion to accomplish something or contextual enjoyment will carry you through the low points. I have multiple acquaintances that range for very to barely successful that have trusted their gut and listened to their passion. They're all happy.

I should note that I'm not talking about founding something based on your passion. One of my friends works at a bike shop and absolutely loves it. He's had to adjust his living situation and lifestyle to match his income, but the result is a happier human.

This certainly doesn't help you figure out a specific career, but my point is that the possibilities are endless just trust your gut feelings!

  • scalatohaskellOP 9 years ago

    Thank you. Now I have to figure out what it is :)

    I always say that if I wasn't so good with computers I'd be a surgeon, haha. That was my #nr2 plan, if I fail in CS.

runT1ME 9 years ago

So, there are Scala teams doing functional programming. Have you worked for them and ended up not happy? It seems that it would be much easier to get good enough to join the team you want and appreciates you than to switch careers. Are you in the US?

  • scalatohaskellOP 9 years ago

    There is functional programming and "functional programming". Nowadays people would label anything as functional programming. I worked for many Scala teams, and everything is super functional, but truth is the opposite. Most of people don't know how for {} works in Scala or what functor is. Which is fine, no hard feelings, I didn't know about it either couple years back. But at least don't trademark your company as 100% functional codebase :/

    I'm not in US, but Europe. Akka everywhere. If I have to debug one more akka spaghetti system I might as well switch to Node.js.

    edit: I know/follow you and your work. Kudos for everything and doing functional Scala :)

    edit2: I don't mean to insult Akka, it's great tool. It's just easy to misuse (like anything), and people misuse it a lot. At least from my experience.

    • runT1ME 9 years ago

      Thanks for the kind words. My suggestion, if you're willing to work in the U.S, look for a company that is actually doing FP (Verizon, Comcast, Stripe, some teams at Facebook, some teams at Twitter) and try to work there. Also, programmers are treated much better in the U.S. than they are in Europe from what I understand. Compensation, perks, respect, etc. are all immensely higher. Not as important as working with the right team, but it does help.

      Our team is not perfect, we have a lot of the same issues you find at most companies(some good code, some bad, large company red tape, etc.) but, we also have a lot of good things: many people who either know FP or want to learn, good infrastructure support, freedom to innovate, lots of open source, etc.

      It's enough of the good stuff that I'm much happier here than I was at my previous job. I don't agree that all coding jobs are the same. Most days I'm working hard but working on fun and interesting problems.

    • brianwawok 9 years ago

      Having been on all sides of the fence..

      It's not the language. Or the purity. No amount of changing the language you code in will increase your happiness, past a month or two.

      You either find fulfillment as a code monkey, or you don't. I don't find it fulfilling, but I find starting a startup to be so. You have to pick for yourself what makes you happy.

      Brian

      • scalatohaskellOP 9 years ago

        I'm not saying it's language, but I can tell you that I enjoy working on X more than on Y.

        I think code monkey is a bit pejorative, especially when programmers are critical to many businesses :)

haskellandchill 9 years ago

We have very similar backgrounds and situations. I have a few slogans I follow:

Pain is a tower, climb it. Wanting things is easy. Understanding is a luxury.

I expect to suffer but you may find a path without the darkness :)

hkmurakami 9 years ago

There are a small number of pure open source corporate positions out there (RedHat, formerly at ATT Labs, etc.) that you might shoot for.

probably_wrong 9 years ago

You could become one of those "great CS PhDs". Salaries in Academia are usually lower, but the work can be more rewarding.

  • dovyski 9 years ago

    As someone that worked in the industry and is now in the academia, I think rewardingness is relative. I see academia as much (or as little) rewarding as the industry. For me, the rewarding part of academia is related to teaching, i.e. see my students develop and evolve as professionals and citizens. Some of my colleagues think the reward is related to conducting research.

    I think reward boils down to the things you actually pursue and do, both in the academia or the industry.

  • scalatohaskellOP 9 years ago

    My brother is quant physics PhD. Whenever I measure myself up to him, I realize it's good I didn't pursue academia because I'm not smart enough. It's insane how smart other people are.

    • tcpekin 9 years ago

      Also quantum physics is about as gnarly as it gets. And not many people enter PhD's knowing all they need at the end. I'm doing a PhD at what I would consider a great school (Berkeley), and the quality still varies! People are smart yes, there is somewhat of a baseline to get in, but (most of) the smartest ones at the end have gotten there mostly through working hard, asking lots of questions, and being curious. I've seen this happen with my cohort over the past four years. Very few people came in where I thought they were geniuses, but they have all learned and grown so much in their specialty. Even if you're not the smartest one, a PhD can give you 4-7 (low) paid years of freedom to research whatever you're interested in (this depends on group), which is intellectually awesome. It's a process. You can always leave with a masters as well, but if you're interested in some sort of CS problem or engineering or science in general where CS is used for analysis (all of them), I'm sure there's a group that would be a great fit.

    • jonathonf 9 years ago

      Shockingly, the quality of PhD students varies widely.

      Just because you don't think you'd succeed in ${world_renowned_and_highly_pressured_university} doesn't mean you can't do amazing things at ${other_university}.

      Seriously - if you have an original thought in your head, can write, and can justify your point of view, you can do a PhD.

45h34jh53k4j 9 years ago

I realise that infosec is a component of CS, but it is different enough to day-to-day programming that you might find it interesting. Have you considered application security or related fields?

If you have years of development experience helping younger developers learn how to write secure code is a worthwhile endeavour.

Frustrations, I dont think you can detach that from CS!

  • scalatohaskellOP 9 years ago

    I have for little bit. But I don't think I'm smart enough for it. Is it big enough? I also don't see much job opportunities. I'm worried I'd just jump from something I like and enjoy (Functional programming) but can't find job in, into something similliar, that I won't be able to pay bills with.

    I only hear of these 20yrs olds catching awesome bugs, and thinking that it's awesome for them, but it feels like I missed out on it a bit.

    But it is good idea. To be honest I considered DBA... it seemed to be more sensible lol... I actually enjoyed working with Posgres, tuning it etc...

    • 086421357909764 9 years ago

      It's beyond big enough and with the right talent the pay is going through the roof. It's only going to grow. Take a stab at it, doesn't hurt exploring the option.

spectrum1234 9 years ago

Consider other types of engineering. Given you have a CS degree maybe try to slide into EE.

As someone coming from the business world and getting into tech I gotta say its hard to take any non CS or engineering roles seriously. They just aren't of the same calibre.

eru 9 years ago

Shoot me an email (address is in my profile), if you want help with getting a Haskell or OCaml job. I've managed to do 3 out of 4 jobs so far in either language. (And the odd one out was for Google.)

I don't have a degree even.

PaulFB 9 years ago

work on getting better at Haskell, and on making it more sucessful so there are more jobs using Haskell. See Edward Kmett's talks on failing at understanding Haskell 5 or 6 times (years). See Neil Mitchell's talk of drive-bye contributing to Haskell.

SirLJ 9 years ago

Check quantitative stock market trading, it is great location independent life style business and you don't have to spend one single cent on the market before developing working trading system, so the barrier for entry is pretty low...

  • scalatohaskellOP 9 years ago

    I spoke to some people about it and they said that it's over. That trading is no longer viable since it's saturated with bots. Can you point me to some direction, please?

    • SirLJ 9 years ago

      No sure what is over, I have a "bot" and I am finding it very successful, would recommend getting some data and the following book and start building with python

      Mike Covel Trend Following, 5th Edition: How to Make a Fortune in Bull, Bear and Black Swan Markets

lmuench 9 years ago

Have you tried Elixir?

  • scalatohaskellOP 9 years ago

    Actually I have. Both Elixir and Erlang. I find it way harder to manage in dynamic langs than in static ones. Up to point I'd always pick static instead of dynamic.

    If I see some OOP madness, in statically typed lang, I remember how bad it can be in dynamic one.

    Dont take it the wrong way. I know a lot of programmers, personally, which are dynamic programming fans, are and kickass coders. But it doesn't work for me.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection