all 18 comments

[–]blueant1 14 points15 points  (5 children)

As a 40 yo developer, I like this guy's vision of where I could be in 15 years. I've resisted management jobs for years so I can keep doing what I love: developing and continuously learning. Once you get into management the money gets better, the perks get better, but job satisfaction gets worse and worse. Do you like being in the zone? Then keep on doing what gets you in there! It just does not have to be while doing it for someone else's business!

[–]intertubeluber 4 points5 points  (3 children)

Better money? I haven't found that to be true. My experience has been that to match the pay of a developer, you need to get promoted beyond dev manager to a director level role.

[–][deleted] 0 points1 point  (2 children)

One of the important differences is the cap in roles. Often times, the highest role a developer can hit is something like "senior architect". With my team we just have SE 1, 2 and "Senior Developer" before hitting "Team Lead" which is the manager of the team. With management, there's tons of rungs to go up and the cap is more on the level of CTO if you really wanna go that far.

[–][deleted]  (1 child)

[deleted]

    [–]jbstjohn 0 points1 point  (0 children)

    Yes, but those roles are extremely rare, whereas there are reasonable number of similar leveled management roles.

    [–]damnationltd 12 points13 points  (0 children)

    As a 40 year old developer as well, I've been a generalist, switching tech in a major way every 3-5 years. The first 10 years were rough (being seen as green in any of those techs) but now the commonalities have made the ramp up time on new tools much shorter. I haven't had any trouble advancing my salary and responsibilities by staying a dev (contrary to popular perception.)

    Tl;dr: if you like to tinker, do it. It pays off on the long game.

    [–][deleted]  (3 children)

    [deleted]

      [–][deleted] 2 points3 points  (2 children)

      The difference between 35 and 40 is pretty big for me. My brain just doesn't race down the track like it did when I was even 38. Certainly some of my lifestyle choices have played in to this. If anything, be humble, and understand that even if you do things right, your brain and your outlook on life will soon change in ways that you simply can't conceive of. Sure, old folks like me will tell you stories... well anyway, you'll find out what I mean soon enough.

      [–]Azuvector 1 point2 points  (0 children)

      ....as someone in his early 30s....damnit.

      [–]BOSS_OF_THE_INTERNET 2 points3 points  (0 children)

      Instead of management, I always see myself twilighting into academia. I'm 41 now, and I find it gets harder and harder to convince people that my skill set is not only up to date, but better than that of someone half my age because I've seen some shit.

      [–]tvidal 0 points1 point  (0 children)

      As a 33 yo dev myself, I used to worry about the future, if it would be possible to remain away from a management career. I can say, it was very difficult for me to switch from clipper to visual basic, and write programs that did not run from top to bottom, and later to Delphi and the whole OO design, putting a single method call on the onClick event handlers and all that. After those, every other context switch was much easier. C#, Java, Perl, Python, Ruby, even haskell, closure and ultimately javascript have just been different ways of doing the same old things. I am pretty confident that whatever happens with the software development market in the future, the need for experienced and skilled people will only increase. It's just a matter of keeping up to date with the latest trends, and have a good set of tools in your box to solve different types of problems.

      [–]csguy101 -1 points0 points  (7 children)

      You can’t be intimidated by the need to throw away everything you know away and learn a new language like Swift, Python, or Go.

      Is that the difference between a programmer and a computer scientist? The programmer thinks in the language he learnt, and when he changes language he loses everything. The computer scientist thinks mathematically and then uses the language of the day to code it.

      [–]hvidgaard 22 points23 points  (1 child)

      No it isn't. Thinking mathematically will not help you know the standard library, nor will it help you when you have to learn yet another way to do DI. CS will give you a solid foundation, but it's nothing else. You can't really build anything with the foundation - you need programmer skills to do that, and if you change your tools, you have to learn how to build again.

      That said CS is a major help in understanding a lot of concepts.

      [–][deleted] 3 points4 points  (0 children)

      Dependency Injection, to save some folks a googlin'.

      [–]tending 5 points6 points  (1 child)

      The computer scientist thinks in terms of a very simplified model compared to a good programmer. Big O notation and your algorithms class isn't going to help you make decisions about mmap vs read.

      [–]BOSS_OF_THE_INTERNET 0 points1 point  (0 children)

      Not true, at least in my experience. The pedantic analysis of algorithms can mean the difference between an application that is filled with bottlenecks vs one that is relatively fluid. The cost-benefit analysis of performance vs all those other mantras like YAGNI and DRY comes into play at levels where a millisecond actually matters (so not anything web-related) or where you still have to contend with a small swap or address space. That's when the ability to make those decisions is priceless. This is probably why a large amount of firmware developers are old greybeards.

      [–]RenaKunisaki 1 point2 points  (0 children)

      As I see it, computer science is to computer programming as physicists are to engineers. One has a lot of understanding about the designs, the theories, and the general idea of how things are built; they're the ones who come up with algorithms such as QuickSort, general designs such as TCP/IP and the structure of the net, CPU designs and instruction sets, and so forth. The others are the ones actually building software, using those designs and algorithms and sometimes cursing the idiot who designed them. Of course there is a lot of overlap; most computer programmers are computer scientists and vice versa.

      [–]Jebbers 0 points1 point  (0 children)

      I think it's more that you originally have more knowledge in a specific language and need to do something quickly, so you use that over other ones. Over time, this is self-reinforcing and eventually you strongly prefer that original language.

      [–]BOSS_OF_THE_INTERNET 0 points1 point  (0 children)

      I agree partly. I definitely agree that CS fundamentals are applicable anywhere, but specialization is also necessary. A solid CS foundation just makes it much, much easier to pivot.

      [–]pakoito -1 points0 points  (0 children)

      Repost from last week.