Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Don't want to write CRUD apps for the rest of my career, what to do?
69 points by non-entity 78 days ago | hide | past | web | favorite | 59 comments
Quick background, no degree, been working in the field professionally for a few years now and I'm bored out of my mind.

I don't want be stuck writing code to automate business processes for the rest of my life, nor does developing b2b or b2c consumer apps sound very interesting to me. The typical stuff I hear recommended to people like myself is to go the PM route or do something like devops, neither of which sound interesting to me.

There are certainly fields / problems that interest me (low level embedded type stuff, low latency programming, etc.), but they tend to not be accessible to someone with my educational background (let alone professional). And while I've considered school, it's a financial impossibility. On top of that, I fear I'm not smart enough to do a lot of the stuff and feel like a proverbial "code monkey".

At this point I'm wondering if I should just leave tech, but the lost earning potential tells me that would be financial suicide (where else can you make that much money with nothing but a HS diploma),but I'm just not sure, and feel I may be overreacting or not seeing some option, I know other people have been in similar situations, and I'm curious if anyone could lend me some advice.

>There are certainly fields / problems that interest me (low level embedded type stuff, low latency programming, etc.), but they tend to not be accessible to someone with my educational background

You are absolutely wrong here. You can pick up Embedded & Electronics on your own(i have done it). Combine it with your experience writing CRUD apps, add a dash of ML in the Cloud and you can enter the End-to-End Distributed Systems market (eg. IoT etc.) You can go as deep as you want into Embedded/Electronics domain in addition to having the ability to bridge all the way to Cloud-based user-facing software. You learn Systems, HW and SW which is immensely challenging and satisfying.

PS: Do NOT quit your job. Just do what is needed, collect your paycheck and focus on studying new things. Once you do this, you will find that the same "boring" job can be looked at through a new perspective and becomes interesting once more.

Try getting into game development. Plenty of different avenues to stop you from getting bored too: Game-logic, performance, AI, rendering.

I'm not a gamer myself, but I don't think you have to be to enjoy working in the industry. Most firms would probably be more relaxed on university qualifications, compared to other software engineering firms (I think).

The gaming industry is pushing the boundaries of tech in a lot of places and is much more interesting than CRUD apps...

I second this, and that is what i did. I still develop web apps in my day work, and do a lot of game development on the side. I recommend doing it as an indie rather than as a job, as the satisfaction is higher. Game development is something where if you spend long hours to perfect a technique your users will likely notice and reward it. To me it seems the perfect mix between engineering and art.

I would +10 this, but would not prefer joining the game industry.

Instead join any related graphics domains: scientific visualisation, graphics drivers, jobs that involve writing game frameworks [1] for example. These jobs will give you both the fun of working in a hard domain combined with the stability that does not come with the intrinsic fickle nature of game industry. FWIW, I have followed this path of learning to write games on the side but not joining any game industry.

My 2$, I would say don't go to the extreme decision of leaving tech (that is also not a bad idea if you work it out) but before exploring all the other interesting options in tech and giving that a try, may make you think 'but if' in the future. Best!

[1] https://jobs.apple.com/en-us/details/113436938/game-developm...

That's pretty expensive advice, I wouldn't pay more than .02$ for that :-)


alas, I don't even know the handy shortcut for the cent symbol of my butterfly keyboard, I expected that to have on my touch bar :-)

Upvote! I'm transitioning from CRUD-ish stuff that while high-performance, cloud, ... requires a whiteboard to explain to friends and family. Joining a infrastructure unit at a local university shortly that help develop interactions between traditional humanities, culture and information technology in research, postgrad education and teaching.

Another idea is to join a small team, so that you have to become more of a jack-of-all-trades.

“A jack of all trades is a master of none, but oftentimes better than a master of one.”

I think you are aiming rightly for ‘jack of (n - 1) trades, master of 1” :)

I'd love to learn all about the coding/mechanics etc that goes into game development, but I have zero imagination when it comes to good game ideas. I feel like I would need to partner with somebody a lot more creative to be effective.

Nothing stopping you from doing just that!

Pick a game development technology that you like the look of (a language or framework or engine), do their basic tutorial, then drop by their forums. Almost all of them will have a "looking for collaborators" section where people with ideas but insufficient skill, or with skill but insufficient ideas, can shop around for partners to make something cool.

If you're not picky regarding tech, there's also TIGSource, which has a platform non-specific collaborators wanted forum: https://forums.tigsource.com/index.php?board=8.0

Or, if you're looking for something a bit more time boxed, a lot of game jams (game development hackathons) will help you find a team to work with on a no-commitment once off project to get a feel for whether this is something you enjoy. See if there are any running near you, and drop on by. Global Game Jam is a great one for this, but it's not until early next year, which may be too long a wait for you.

Good idea(s), thanks!

Felt the same way, but if you look closely, good games are simple games. Heck you could even build simulators that don't involve much imagination as you base them on real life objects.

I worked at a big tech company for a couple of years and I was really unhappy, even though it was supposedly the type of job many people in the industry would have been excited to have. I feel like I can empathize with the problem of being involved in the tech world, but feeling disillusioned with many of the career options available.

I eventually found clarity by focusing on what I'd want to do if money was not an option & it helped me identify where my true passions were -- some were within tech & some were outside of tech, and it helped me make good choices about how to try and spend my time. Unfortunately there will not necessarily be a perfect way to make money at these things, but it can at least inform the direction you should work toward long-term. You've listed a couple of areas of interest, and so if you'd like to pursue those, try to make space in your life to always be working on problems in those spaces at least part of the time. But if your real interests are all outside of tech -- it's okay to leave tech. You ultimately don't want to be stuck in an industry that you don't really care about.

One other area that might be something to consider, which is something I got involved with after I left my job: conducting technical interviews. It's a great mix of getting to interact with real people, while still leveraging your technical skills (and usually remote, which is a big perk). The kinds of questions involved in the classical technical interview usually cater to people with strong algorithm & data structures knowledge, but are super learnable for anyone with not a lot of experience with those particular topics as long as you've got solid coding skills.

If you (or anyone else reading this) would be interested in chatting a bit more about that space in particular, I'm always excited to share more details about it -- it was a really positive experience for me to discover that world. My contact info is in my profile.

Have you considered getting an Arduino board and doing some self-directed learning?

You don't need to do an online course. There are heaps of tutorials online and simple examples. You'd be coming up to speed on embedded systems and then use that + your professional experience to land a more interesting job. It should take you less than a year and perhaps a $100 or so to accomplish.

I actually have that on a backlog of things I want to play around with.

Highly recommend. I dabbled a bit and almost got a remote-control draw-bot working. Sometimes you gotta move the pan from the back-burner to the front-burner.

While I've been described and perhaps more fitting than not a 'code monkey', I've never felt the negativity implied with that phrase manifest in my life. Perhaps it's because it's just what I love to do, I love writing code and writing code all day while making good money has been pretty awesome. In a way, I have no idea why it's even a negative term.

CRUD apps are an incredibly small segment of the market today. Most of the stuff are much more complicated, and more fun. If you're fed up with what you do at work, do your 8 hours and explore more at home, I always find writing code for my own more fun and fulfilling. You can even showcase this to potential future employers.

I've always managed to find some tangents even while dealing the the most boring of code - some of it automation, I guess using vim for everything helps as well - text editing became almost programming and it's definitely more fun (and faster) that way.

A house is built upon a thousand bricks.

I'd argue that "CRUD" apps are all there is in development. Everything complicated broken down comes to creating, retrieving, modifying and/or saving data.

After understanding the more exciting challenges, they become easy, mundane "crud" aswell. Gaining knowledge and insight is easy and fun; the value comes from effective application of that knowledge, which is tough.

It requires real endurance to bring something from start to finish in the real world, not all of it is fun. It is unavoidable.

As an EE who does embedded systems and CRUD apps, I can safely say that both tasks are as exciting or as boring as you choose to make them.

"there are no small parts, only small actors"

Yeah I have bad feeling the things I'm interested in now, I'm only interested in because I don't fully understand them and want to understand them, and that once I do, it'll become as dull as my current work

I'm no shrink, but that sounds more like ADHD than intellectual boredom.

>There are certainly fields / problems that interest me (low level embedded type stuff, low latency programming, etc.), but they tend to not be accessible to someone with my educational background (let alone professional).

I prefer doing some projects of my own to satisfy the nerdy/geeky guy in me. It's not so difficult to pick up on some IoT hardware projects and implement your own home automation.

For starters, perhaps procure the 3-4$ IoT gadgets (ESP8266 is very versatile) or an Arduino Uno (costs about 10$ for a clone) and try to learn a bit of electronics. Instructables.com is a great resource for this.

If this sort of a thing doesn't interest you - Then may check out writing chat bots (Telegram.org has a great BOT API) and there are many open source libs that support this so that you don't have to write the underlying methods each time.

All the best and hope this helps.

It's not quite clear to me how dabbling in Arduinos or Chatbots is leading to a career though.

I come across tons of projects that do something with chatbots. Apparently everybody wants one these days. (Probably to save on people for customer support, though.)

Quick feedback on

>feel like a proverbial "code monkey".

I'm not implying it is easy, but launch something end-to-end.

Ideation -> validation -> code -> test & refinement -> deploy stable 1.0 (and maybe open source it)

If you havn't done this before, try to timeboxe it in the ~100 HR (+- 25%)

Those ~100H, if you arrive to later stage, will promote you by definition from code monkey (im not sure you are) to entrepreneur. That story will deepen your profile and opportunities should come with that new dimension.

feel free to reach me for ideation/validation process

cheers ! (and congrats on reaching our for help, your got yourself 25% of the entrepreneur mindset right there)

1) found/join a startup (which doesn't do a lot of CRUD) 2) Go into teaching and teach others to build CRUD apps 3) Go into penetration testing (break other people's CRUD apps) 4) Skill up through online courses

If you're bored because you're churning out many applications with the same structure, can you write a framework or platform to solve the entire structure? That is the classic challenge to a bored programmer.

Do your business processes involve any matching/optimization? Fraud/anomaly detection? Geospatial datasets? Visualizations? Predictions? These are all opportunities to do some other-than-CRUD programming.

Coursera, Khan Academy, and similar websites are surprisingly good at plugging educational gaps.

I'd argue that there is a certain amount of complexity that cannot be avoided, and is likely already addressed in the current platform. You can try and shift the problem to different parts of the application, but that is at best a distraction.

There are certain tasks that you simply have to do yourself (understand the problem), and apply the solution accordingly as fast as you can.

Thought i would add one more important suggestion.

You need to work towards getting at least a Bachelor's degree. This is more to prove to yourself and gain standing in the industry. Find a night college or something and study (weekends, evenings and nights) and work(day job) simultaneously. Talk to your boss/company to sponsor you (i know people who have done this to get their MS). It will be tough but perfectly doable and well worth it.

I'm biased (no degree) but I feel this is bad advice. You can learn everything you need to learn online.

I had actually used the phrase;

>This is more to prove to yourself and gain standing in the industry

The second part is the critical one. While you can certainly learn anything you want by yourself, the Industry will not recognize nor accept you without a minimum of a Bachelor's degree. You will hit a hard barrier sooner or later in terms opportunities, career growth and money. That is just how it is in the real world.

PS: There are plenty of studies showing a distinct correlation between Education level and Earnings potential(just do some Google searches). Here is a quick read: https://www.bls.gov/careeroutlook/2018/data-on-display/educa...

Overall, I agree with the numbers. But the time and energy spent in school for so many years (6+ at least for night classes) IMO can be directed towards things that will give you a lot more gain.

Making a move to embedded programming sounds like a good idea, but I think its definitely possible that after a few years of doing that you will get bored too. You say that you "don't want be stuck writing code to automate business processes for the rest of my life" but will embedded be any better? I don't have much experience with embedded stuff beyond arduinos but I'm sure there is an equivalent complaint in that area like "I don't want to be stuck implementing input/output specifications given to me"? I think the HN / developer crowd emphasises interest and passion in one's work to an unrealistic degree.

My own personal solutions for this dilemma are:

1. Try and make as much money as you can and save so that you might be able to retire early, or at least retire from development and take on a less-well paying but more fulfilling job.

2. Work less (i.e. part time 3-4 days a week) and spend the remaining time volunteering or doing something you find more fulfilling.

3. Work freelance so you at least have a lot of variety in the projects you work on.

I've been in this position, and took a lower paying job to work at a scientific institute.

I see that throughout your post, you're mentioning finances a lot. Have a look at the FIRE movement. It made me realize that there are a lot of costs in my life which I don't need. Lower your spending, and you get a bit more freedom.

My case is the opposite, went from videogames to "boring" B2B web apps. I find myself applying techniques for performance and other stuff (almost everything) to another domains and it is fun, at least for more than 10 years now. And users DO see the difference from poorly written web apps. My two cents

> And users DO see the difference from poorly written web apps.

While I agree and personally do get frustrated with poor performance web apps... there are few companies that let you focus on performance over features. Throughout my (admittedly short) career all I've heard is "we can optimize later", "product is more important", etc.

Which I'm prepared to admit may be true. It's just boring as fuck.

Not really, if you've had a short career your 'optimizations' are anything but.

Seriously, what you think is causing slowdowns will not be at all. Everything you'll be pushing for will save nanoseconds or 10s of milliseconds, pointless, unnecessary complications.

Generally in a crud app performance problems are caused by a single sql statement or a silly, unnecessary, loop within a loop.

Source: 15 years crud app dev and a lot of fixes for clients of their slow apps.

What about getting into machine learning? There are lots of jobs and its quite easy to educate yourself in the field.

I was doing CRUD, got sick of it, took a few months off to study ML and now work on self-driving cars. Way better then crud, but everything gets boring eventually.

Can you recommend any study materials? (courses/books/ect)

I've seen many people recommend fast.ai, and while I have not completed the course, the few lessons I did work through were very well made and I really learned a lot. Also, totally free. Check them out.

You are kind of right cause it’s harder without a degree. But they are some ways out. You’ll need to study and have projects to showcase on the side. If you’re into low latency stuff, that’s great because a lot of the guys working with hardware and embedded systems are tinkerers and less interested in computer science stuff that you learn in school. Find some projects you’d like to do - maybe around music or some kind of robotics - and go and try and do them on your own. Once you have stuff to show, then it’ll be easier to try to get into professional positions.

There are always options available, some people have to work harder/be more creative in accessing those options. You have open source which allows you to work on the type of projects you enjoy and who knows becoming friends with other contributors could lead to jobs in that type of field. There is the option of working on your own projects, for which really sky is the limit. You could try going to a startup where there is always a challenge to be solved.

Regardless of what you do, you have to have your own initiative, a path isn't gonna just appear out of thin air and open for you, you have to open it up yourself.

Use the strategic position of having a high earning potential and become financially independent through simple living and investments. Once you don't need the money anymore, you have so many more options.

I feel that you have some sort of veil of depressive desperation clouding your mind right now. This will follow you no matter where you go.

I suggest for you to define what you really like/want/feel inspired about and take immediate (possible little) action steps toward it. Action is a key. Theoretizing about why/why not/what is/what if - is going to keep you in a swamp with no progress.

I been there.

Take action steps toward something you love right now without waiting for perfect conditions.

One option is to try and use your skills in another industry, that is one way to feel more valued. Then even if you are building CRUD apps, you'll feel less like a "code monkey" and more like a valued member of a team as you'll be basically the only one who is technical.

Famous article on this: http://dilbertblog.typepad.com/the_dilbert_blog/2007/07/care...

Can you transition to the business side of your business processes? With enough expertise, your contribution can rise from the code monkey level of "all CRUD tests pass, on time and on budget" to the proactive level of "if our software did X, the company would have advantage Y, which would be great" or "we should sell our software to the X market, with sales strategy Y that includes important new product feature Z".

If you apply for jobs with 5 years of CRUD experience, you'll likely just get CRUD jobs. I'd recommend picking up a project that is more tha. CRUD. It can be open source. It can be something personal. I did http://random-character-generator.com to mess around with procedurally generated content, as well as working on something not so tech related.

Find a company that is growing, and grow with it. Try different programming paths. Go more devops, or more build pipeline, or core business for a tech first company.

I understand where you are coming from. Spent a summer writing an crud application back in the 1980's and yeah never again.

I do embedded and generally like it.

While I have a degree it's not in CS. Not going to lie, not having a degree makes it harder. I've been there. But several years of experience doing CRUD would help.

Best job opportunities are likely to come through a friend of a friend. And be at a smaller company where they care less about paper qualifications.

I know a (former) coworker that has no higher education earning 6 figures in the software industry, he's in his 20s as well. The software industry is already the best in terms of education requirement - You just need to show them that you have it in you (which is actually rarer than degrees in CS, from my personal experience).

Regarding embedded. I bought ne a while ago some devices and just started tinkering around. Used that skill to sell myself as a contractor and after a while it worked. I work now on quite interesting projects.

Background: A.I. Major cum laude + 9 yrs prof programming experience.

Have to admit that i was already quite fluent in c and C++. That helped tremendously. Still for most EE questions I often have to ask my dad ;-)

build a CRUD builder.

Building tools that build CRUD apps is a necessity once you realize the commonalities of those apps. I've done this several times when I found myself involved in database applications development. Its really something that you _should_ do; otherwise you're wasting time and risking the creation of new errors by simply coding apps.

The great thing is to hand the tools off to someone junior who is just able to understand them - the gratitude is very satisfying.

What makes going to college a financial impossibility?

It's partially my fault, I recently dug myself into a small financial hole for reasons not important, but I feel I can have that fixed up quickly. The big issue is I likely won't get hardly anything in aid because I'm under 24 and the EFC calculations by FAFSA are laughable. 2 years ago my parents were paying off two mortgages, plus another rent, however now they don't have any of that, and since they make decent money I am unlikely to get hardly anything for aid, despite living hundreds of miles from them. And after doing some rough estimations of what I would receive vs the cost of state schools, it looks like I'd have to pull out $20k-$30k in loans for every year I attend a state university. There are also minute details that make living generally a pain (i.e. can't drive)

The alternative is to wait till I'm 24, but honestly the thought of graduating near to 30 is equally as depressing. I've also researched online schools, but too many seem scammy / low quality and tend not to offer a program I'm interested in

Have you looked at https://www.cc.gatech.edu/future/masters/mscs/program where you can get masters from Georgia Tech for ~ 10k USD ?

Unfortunately I don't have an undergrad degree

What state do you live in?

PS: I took a bunch of time off and then went back to finish my degree and graduated at 32. Still worth it.

What about cyber security?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact