by Distozion on 9/12/22, 4:27 PM with 38 comments
- A basic app (just because it’s thousands LoC, doesn’t make it less of a CRUD app)
- Deployed on AWS/Azure (rare occasion GCP), using pretty much the same setup to deploy
- The difference is the copy - quite often even most of the styling is similar…
Only challenges so far came from having more customers on the app at the same time, but even then it leads to more conservative tech choices, nothing else of note.
Yes, I know my skillset is quite generic - heavily JS/Node/React based, with a few years of experience in Python and very light knowledge of some lower level languages (had some passing interest in Go, Rust, no commercial experience to back it up).
I went through quite a few industries, but at the end of the day, all of them just feel the same. Working on a platform for a hedge fund felt no different from building for a retailer or a real estate company. Everything behind the scenes is so much of the same that unless the devs intentionally made some random tech choice or decided to use a barely stable new framework - you could hardly tell them apart from code PoV.
I’ve tried startups - but majority of them, until a pretty late stage are mostly smoke & mirrors, where you do everything to acquire customers while pretty much lying about the capabilities of your tech. Can be fun in the beginning while figuring out what the product is, but so far, all of them end up being a CRUD app, just with a different skin. When going large corporate, you get an extremely small part of the bigger stack to work on, which might be interesting first time around, but gets old after changing the search bar for who knows how many times that year for marginal gains (yes, while the changes are marginal, I do realise they can translate into millions every month).
I’ve had little luck of going for roles that do not directly correlate with my current experience. It seems that recruiters have very little interest in talking about any roles other than ones that fit my current stack exactly (node/react/python). Even had one that was a bit more direct than others and blurted out - “Why would you want to change with so much experience in your current stack”. I get it, easy payday for them if they hire someone who can work full on from day 1, but there's nothing in it for me to encourage a change. Sadly, recruiters are often the gatekeepers for a lot of the roles and as far as I can tell, unless I’m an easy hire with experience in the stack being hired for - they have little interest in a “wildcard”.
So here’s the question - is there a way out?
Any experiences of a major transition and how did you pull it off?
Is contracting the only way - accept that I'll be making CRUD apps and might as well maximise income from that?
by agentultra on 9/12/22, 4:56 PM
Even startups are rarely doing anything novel with software engineering, computing systems, etc. They're usually stumbling around in the search for a market niche to exploit. It happens that they mostly use software these days to achieve that but it's absolutely a secondary consideration and hardly the most important. If the company manages to survive and gain adoption it's likely that the original code they wrote will get thrown out the window or wrapped up behind layers of glue code.
There's very little work outside of that which isn't dominated by people with decades of experience and expertise who aren't going anywhere because the jobs are few and far between. Compilers? Real-time operating systems? Traffic control systems? Filesystems? Operating systems? Media codecs? Security? Typically the funnel for these jobs come straight out of universities. They don't need to hire generalists, there's a smaller market of job posts for these projects, and they have a well-established base of people who've built up these niche skills and rarely leave jobs like this.
If you want to get out of line-of-business CRUD applications I think the key is specialization. You need to work one something niche and become a known contributor in that niche. It's more about who-you-know and being connected with the community in that niche.
by mdcds on 9/12/22, 7:25 PM
Yes! so frustrating! this is the reason why I left SF Bay Area circa 2016. No one wanted to talk about what I wanted to do next and my prof interests. Only about past experience and existing skills that I could immediately contribute.
I started my career as a fullstack dev doing crud at startups. Eventually I got interested in FP and learned Haskell in my free time. Then little bit of Scala. After I got laid off from a startup, I knew that FP and/or large scale systems was what I wanted to work on next and wasn't willing to compromise.
Eventually a F500 company with an office in Portland OR agreed to hire me as a contractor because they were looking for strong FPers to program in Scala and local programmer market was almost non-existent.
That's how I pivoted to working on distributed systems and products with millions of users, and never looked back.
Generalized advice: learn a skill with a high barrier to entry that is also in demand.
by kingkongjaffa on 9/12/22, 5:38 PM
> Yes, I know my skillset is quite generic - heavily JS/Node/React based, with a few years of experience in Python and very light knowledge of some lower level languages (had some passing interest in Go, Rust, no commercial experience to back it up).
Don’t be discouraged, lots of successful places are using this for good reason.
It’s a perfectly valid and respectable way to make a career.
by VoodooJuJu on 9/12/22, 5:49 PM
Sounds like you have a comfy, easy, copy+paste way to make a living with good income you can use to pursue serious passions - that's the dream. At the end of the day, it's just a job.
by ozzythecat on 9/12/22, 5:44 PM
How’s your work environment? I’d encourage you to consider how much do you like your team, your leadership, growth opportunities other than just crud vs non crud.
I worked in big tech. Learned a ton. Made a bunch more money. Worked with some of the toxic people in the world. I mean, leadership was abusive. As I climbed the ladder, got coached on being an asshole to people.
Figure out your priorities. Grass isn’t greener.
by hellohowareu on 9/12/22, 4:47 PM
Of course it feels the same across apps and industries-- it's a concrete slab upon which you build things.
Add layers on top of that, such as:
- Data visualizations. You have data from your CRUD, so do something creative with it. If you're familiar with ReactJS, check out open source, free libraries such as: https://nivo.rocks/ and https://charts.ant.design/
- Data integrations. Depending on the business you're in, experiment with integrating your CRUD app with external data sources via REST API or GraphQL. For example, a CRM like Salesforce or Marketo. Or a REST API in a particular business domain. Or a Google product which a customer might use, such as google drive.
by barelysapient on 9/12/22, 5:45 PM
by simne on 9/15/22, 11:46 PM
So, 80-90% of all work, median of work, are low-tech type.
Where you could look for some high-tech - most probably in large corporations, air-space industry, and universities.
Sometimes, high tech appear in small business, but this is rare, mostly they struggle to be profitable, not for minimize tech debt.
Other heuristic is that on market grow, appear new opportunities and some of them are focused on good architecture; on other end, when marked shrink or recession, all businesses shrink new development and mostly just support existing features. So just wait for next economy cycle, or try to find, which segments have good grow.
Or create your business (startup).
by unifyjs on 9/13/22, 3:50 AM
The world is slowly coming around to a better way. There are definitely jobs out there, mostly in the start up world, but even enterprise is making a shift, too.
I spent many years building many iterations of an event based platform as a side project (the most recent is https://unifyjs.io/) and am now living the dream - working part time as Head of Technology for a funded startup building an event based platform using Apache Kafka. The opportunity materialised and I was ready for it.
You are a kindred spirit! Don't lose faith, there are better ways than CRUD, and we're getting there slowly!
by eklitzke on 9/12/22, 7:41 PM
I did this myself and after ten years of writing Python/Go professionally I switched to C++ and work on interesting low-level problems not related to web apps. I don't know exactly what you want to do but in the first job I got writing C++ professionally I was grilled pretty hard in the interview loop about my C++ knowledge specifically. Once you get your first job though things will be way easier because you'll have the right stuff on your resume and you'll also have day-to-day fluency with the language.
by recvonline on 9/12/22, 9:38 PM
Companies who are looking for Rust engineers usually do more heavy duty backend work or Blockchain. You can even try to pivot to embedded!
I doubled my salary and work finally with a great language!
by roland35 on 9/13/22, 3:19 PM
There are lots of types of embedded engineers. Some use embedded Linux, some use tiny 8 but processors with 16 kb of flash memory. I've also had a number of recruiters contacting me about designing custom server chips, like for security.
More and more big tech companies are getting into hardware, and it isn't just IoT. Pay at big tech for firmware would match other SWEs so it's a pretty good deal!
by edmundsauto on 9/13/22, 3:17 AM
What signals lead into your perspective?
If you have been explicit about taking lower comp for a more interesting role, you should be aware (external) recruiters are usually paid a % of your starting salary. So they would have no self-interest in helping you here.
My recommendation is to hang out where people are using tools you find interesting, then ask them directly about their employers. Try to find the internal recruiter, externals' incentives are not aligned with your situation in particular.
by avereveard on 9/13/22, 11:52 AM
Data scientist and machine learning experts get to have more fun with data in general.
To escape data itself is even harder tho. High performance computing, iot and large scale networking touches data, but they have niches more concerned with moving it fast and reliably than actually interact with the content.
Eventually it all comes down to moving bytes around tho. Data is how computer founds mentally operate. In the byte space there's work to be had in encryption and compression, but those are quite saturated topics.
by muzani on 9/12/22, 10:37 PM
Projects I got to work on included a social media app with heavily customized camera, fraud detection app, a Netflix-style video app, a modern punch card with liveness camera.
Side projects might be another route. I have a side project that lets me mess with AI/procedural generation/evolutionary programming. Presumably this may lead to a job in those fields some day.
by allisdust on 9/12/22, 5:03 PM
by ragebol on 9/13/22, 6:23 AM
I do robotics (I think manipulating stuff in the real world is more interesting than bits on a server or screen) and occasionally interact with a CRUD system, but can't recall the last time I did really.
by KwisatzHaderack on 9/12/22, 6:11 PM
by ThrowawayR2 on 9/12/22, 6:48 PM
by lakomen on 9/13/22, 8:22 AM
If you disagree, do rpc.
The hard or time intensive part is frontend/presentation anyway. Backend being boring is a good thing
by dev_0 on 9/13/22, 11:45 AM
by is_true on 9/12/22, 10:14 PM
The project which has "less crud" is a weather related service.
by dangarbri3 on 9/13/22, 5:23 AM
I recognize the problem, this is how I managed to go from embedded systems firmware to sys admin/web engineer.
by uptownfunk on 9/12/22, 4:36 PM
by codegladiator on 9/12/22, 6:51 PM