Programming as a career isn't right for me
medium.com
medium.com
I wasn't the type that really geeked out on things like editors, programming languages, etc. but I really enjoyed making stuff, that was the fun part. Solving problems with the tools I had.
Then I joined the workforce after Uni., and found out that I didn't really enjoy the process that is called modern software development. I still enjoyed solving problems, but everything around it just didn't vibe with me.
And then there's the competition - I early discovered that I could never outperform my competition. I'm talking about the guys that live and breathe everything CS/SWE related. The guys that will continue to work on hobby projects at home after work, the guys that are extremely invested in every part of the tool-chain, and are passionate about all the stuff I found boring.
Couldn't really see myself transitioning to a manager role either.
So I chose to pursue a domain I find interesting, and become an analyst. Now I can solve problems - which I enjoy to do - and use whatever tools I want.
Coding is fun again, because I can do it fast and half-assed. I'm the only one using the code, and most scripts I write are use-once. Programming is once again just another tool in my toolbox.
The times I actually write more persistent stuff, I can take my time and still have a lot of freedom.
Every trade/craft has these kind of folks. I think it comes from people who like to teach others or have to work closely with others. Things like deep toolchain configuration become table stakes on large or open projects.
I realised that as of this year I've been programming in one language or another for 37 years. Right now, if I stopped writing code I wouldn't miss it for a while.
Like you, I think I got into coding because of the same urge that makes me want to build stuff and do bits of DIY. When I was a kid coding was a constructive, creative outlet that didn't require much space or resources other than a computer (a ZX Spectrum in my case), and it didn't make a mess.
Can an experienced SE switch to an analyst? What kind of jobs would you search for?
Because it’s just absurdly important. I can’t say anything about the projects you’ve worked on, but I can pretty much guarantee that the projects I work on will descend into an immediate free for all without the toolchain.
100% this. I'm a bit competitive, but only a bit :). After 20 years of being a dev I realised I didn't want to compete anymore and shortly after that I quit as a dev.
I've now switched more into an analyst role and because I've been a dev i think I know what makes a good analyst because I know what I would have to know to write the code - if it were me. But here's the best part, the mark of a good developer is their attention to detail. And attention to detail is also the mark of a good analyst, but as an analyst you don't have to sacrifice yourself to the detail of tool-chains, stacks and frameworks.
Working on large scale problems as a dev, and doing it right, is slow (with a small number of devs) and chaotic with a large number. But as an analyst I can work at the speed of thought, work on many projects simultaneously, and see the fruits of my ideas take shape as the devs start to deliver them and I shepherd them into existence.
So for now I'm pretty happy, I write code in my spare time for fun and like the OP - I'm back where I need to be.
Figure out the existing workflow and document it
Figure out the actual requirements, not what the customer says the requirements are
Figure out what their existing solution does and how it's used in real life
The most enjoyable form of programming seems to be it's most solitary form. Who would've thought that despite all the doctors saying we're social creatures we'd prefer solitude.
By the way, sex and sports are social activities that rank very high on enjoyability.
And how do I find these jobs? Do I simply search for “analyst” in job search engines?
Or is it a job you basically have to convince someone to hire you for rather than submit a resume?
Every time I get a new team/org, I just tell everyone that I will minimize the meetings and maximize the ability to write code and build stuff. One would think this would make me a popular manager, but feedback is always mixed: more experienced engineers complain that I am taking away their promotion opportunities by de-emphasizing "influencing other orgs". Some leave.
I am also a prolific interviewer, and I have noticed that developers learned the game and are now emphasizing "leadership and alignment" skills vs. actual technical skills. Back then when I started, maybe 1 out of 3 candidates I interviewed were the hacker-oriented engineer who loved solving problems. Now it's maybe 1 in 20 - all the rest are more concerned about showing how they aligned 300 product managers to build a batch job to remind the customer to buy shoes. It's a depressing state of affairs.
Everyone wins!
I think the people that will benefit from a mature AI engineering service will mostly just be the C-level. Below them, you might have a much smaller team of AI operators and validators.
I walk my dog around the US Capitol a lot, and every time I’m there I find myself wondering if I wouldn’t be happier doing landscaping for the architect of the capitol and writing code as and when I want, how I want, only as a hobby.
I'm in complete opposite situation. Programming is pretty much the only thing I can do and the only thing I'm good at. I'll choose arguing with a compiler any day over people. I don't particularly like people but I love code. Code is reproducible (arguably!), people constantly change their minds.
I hurt myself hanging something on the wall in my bedroom at 16 years old (a long time ago...) My mother laughed at me non stop and she told me "you better be good with computers! Because you are shit at everything else!". That was my career councelling done at 16, thanks mum.
Programming, in a nutshell, saved my life and gave me one.
It's crazy to me that we let people do this to themselves. There's no reason a student should have to take out that much debt for their degree and I'd bet there were probably ways for OP to avoid it if the right people were there to help. Ultimately it's a huge systemic issue in the US but it's also an issue with bad high school guidance counselors not helping students navigate the broken system
This blog post lists companies that hire developers for Clojure roles without any previous Clojure experience: https://jobs-blog.braveclojure.com/2022/03/24/long-term-cloj...
I'd imagine it would be similar for other niche languages, but I can't say for sure. All I know is to try to find a way to be a bit more special in your field as that seems to (in my case at least) result in better treatment.
Reminds me of a post a few weeks back on red ocean / blue ocean.
Another option is contracting, particularly building MVPs. Frequently these are solo projects or small teams. I don't think this is a great choice for someone starting out since you won't get exposed to people who are better than you, but the author has 6 years of experience so that's less of an problem.
Protip: Companies will lie through their teeth about stuff like this. "Interviewing the company" sounds all well and good until you consider the power asymmetry: you lie on your part of the interview, you get fired or maybe sued. They lie on their part, unless you can retain a good employment attorney AND they blatantly violated labor laws, the most you can do is quit (and you may not be able to afford to do that).
The higher you go the fatter the lies you can say apparently like Elon promising FSD since 2015.
Id be fine with process, if I had some say over the work I do.
I love Elixir and would love to work in a erlang/elixir shops.
Every job I see is JavaScript, python, or Go.
Also, lots of jobs get posted in the Clojurians Slack channel, as opposed to job boards. Perhaps try to find where the jobs get posted with Elixir, because at least with Clojure it certainly is not LinkedIn or other mainstream job boards. And then, once you find the jobs, don't be afraid to reach out to companies even if you don't have experience. They might just give you a chance! Remember, you no longer have a massive amount of competition with niche languages, so it's highly likely they actually read every CV.
Life is to short to be writing tests for a somebody else's font end code.
On the one hand, there are many things worth doing that have sub-tasks that aren't particularly "fun", but I think in a fair number of cases people can make peace with those by understanding that they are part of the overall worth-doing task and are part of what it means to do it right.
On the other hand, a huge amount of value is sucked out of our world by "business", which is basically a way to take things that are worth doing and wrap them in money so the actual thing people wanted to do (both as creators and consumers) is muffled and hidden.
Form his videos, he is obviously a skilled programmer, and he seems to enjoy it a lot. And yet, as a day job, he drives a bus. I don't remember the details but it seems to be along the lines of not wanting to think hard doing what others tell him to do. That's why he makes his living with a relatively mindless job, while at the same time actively using his brain on the things he likes, doing them the way he wants to.
I imagine the engineers who wrote the code for the Boeing 737 MAX MCAS or the Tesla engineers who accidentally wrote log files to the internal flash thought the same. Maybe another team member could show the author why these tests are important...
There are endless permutations that are possible in this modern ideal that are all correct for some or all testing purposes, during all test runs, and in every system the average project participant will ever see up close.
They are wrong in production, vastly outnumber correct production configurations, and confuse any discussions about the attempt to port things to production as they are more canonical to the group than production itself.
That's not to say there aren't ways to do this style of multiple test types correctly, only that I think it was done with more care at each level instead of less as layered redundancy needs particular properties or you get holes that all line up, configuration for tests that make it to production, etc.
I totally get tests as a way to prevent known incidents from happening again. But tests as a way of preventing unknown issues seems dubious to me.
True. At my previous job, I used a new C compiler [1] that revealed a bug due to undefined behavior [2]. It was a two-line fix, but my manager at the time refused to accept the fix unless I 1) made a test that showed the error, and 2) write tests to show other instances of this type of bug. The test would have been useless since I used an unsanctioned C compiler, and (due to the nature of the bug) I'm not sure if static analysis would have found the bug anyway.
[1] Test driving the latest Ubuntu Linux installation for development.
[2] The code worked as expected on the business-supported C compilers (it's undefined behavior, anything can happen). Even valgrind didn't catch the error (we were using that at the time) because of the way the code was generated.
Yet I have never desired to work as a professional software developer. I majored in history and Spanish in college while working for the university's Unix systems group. My computer skills got me my first job out of college, in an investment bank's tech equity research group; my manager was looking for a CS major but I was able to convince her that I had the equivalent thereof.
I'm glad, for the sake of civilizational and economic progress, that others are able and willing to program for pay. Meanwhile I will continue to putter around with Elisp at home.
Regardless, start your own company, luckily you're in the right place.
edit: or do like my friend and code in the forrest :) https://thomasbacklund.com/blog/index.html
so it works....with mid-level efficiency and tends to push the feel goods up the chain and push the work down the chain..... direction still comes from the top in every attempt regardless of slogans like 'developer engagement' stakeholder management etc.
Consider the campervan.
For example, no promotion again this year? Too bad, your boss's AI tool decided you didn't deserve it, and since your boss is now directly responsible for 1000 people you can't even meet with them to talk about it.
The op is complaining about having a cush job. He should try construction, garbage, policing, working in ER, etc.
I get him about 3 months ouut there.
I wouldn’t swap places with him, but I do envy him that.
You don't get to see the end product, you don't get to see users enjoying - or not - the end product, and even if that weren't true you still have almost no agency to improve the end product.
Being a doctor in ER can be horrific, but at least you have some control over what's happening [1]. And sometimes people will be really, really grateful.
[1] As long as you don't have to ask insurers to pre-approve anything.
Meanwhile, construction and ER are said to be awful because of the long hours and awful management, factors they often share with corporate tech jobs.
It’s funny anti-college spokespeople all have Phds which gives them credibility.
Have a fulfilling job where you get to see the product of all your hard work at the end of the day? Check. Ability to turn your mind off after work and actually sleep well? Check. Fresh air, sun, exercise, and real camaraderie with your colleagues? Check. No bullshit job manager to micro-manage, gaslight, and make my life hell? Check. Stress? I have never once felt stressed on a job site. I've gotten pissed off at dumbasses who've given me injuries, but it's not chronic, low-grade anxiety that permeates into my entire life like software engineering.
Main problem is the healthcare isn't guaranteed. So if I fuck up my body, my career is over, and so is my access to medicine (and so is my ability to have a roof over my head!). Have fun with your 4 week wait-times (just for a consult) and "large jobs" only for any sort of tradesman! The problem is only going to get worse.
No one with good foresight goes into the trades unless their family owns a business and is trying to hand it off to them -- or their family is in a union and are guaranteeing them a spot (don't do non-union).
Ironically, the people usually going on about how "tough" certain jobs are have never done them for any extended period of time. It tends to give you a certain humility, that at the end of the day we're all just trying to stay alive, and no better than another. Shocking how shedding sweat with a recovered meth addict just out of jail will give you some empathy for your fellow man; while working in an alienating and cut-throat environment will turn you into a psychopath just to survive.