4 ms·
Try diving deeper into real CS, there is the entire world of things that can revive your passion. If you mainly were focused on building CRUD apps and websites
by yankoff 11y ago
Try diving deeper into real CS, there is the entire world of things that can revive your passion. If you mainly were focused on building CRUD apps and websites it's not surprising to get bored and burned out. Get out of your typical routines and try finding challenging stuff to do. Some ideas:
* Figure out how to write AI for games. A simple example would be, how to write a bot that finds shortest path out of labyrinth.
* Check out graphics programming
* Try to see if low-level programming is for you: kernel level, GPU, OS
* Check out infosec industry, there should be a lot of fun there: malware analysis, penetration testing, etc
* Machine Learning: tons of coolest stuff. predicting, classifying, reinforcement learning, neural networks. Check out Kaggle machine learning competitions.
* Checkout competitive programming sites. My personal favorite is hackerrank.com, but other popular ones are topcoder.com, codechef.com, codeforces.com. Try doing challenges for a couple of weeks you may find that you learnt as much as you previously learned in a year. Also through it you may get interested in particular algorithms and fields.
* Distributed programming, system engineering. How to build systems at scale? How to process tons of data in parallel.
If you don't seek for the new challenging things to do that could improve you, then you will find boredom and burn out in any field.
- nikmobi 11y agoI strongly second this. I started out doing software development for desktop, user-mode Windows specifically, and diving in deeper (embedded) and into true CS has only made me more excited for software.
- beambot 11y agoAny of these are fine... but don't shy away from activities that aren't "pure software": Play with hardware (robots!), learn to weld, go play tennis, go scuba diving. Along the way, you might find {activities, collaborators, products, ideas} that get you really excited. And since it's not "pure software" there will almost certainly be lots of opportunities to have a major impact! Software is eating the world, and almost every "non-pure software" activity is hurting for good programmer help.
- Franciscodr 11y agoHi beambot! That's great! Many of us have done the other way: approaching programming via robots. If you are tired on programming, do something that moves AFK: create a robot. You can start from small. There are hundreds of people sharing their insights so you can learn fast and do your own. Try here: letsmakerobots.com Francisco
- beambot 11y agoIndeed, i agree. (I have a PhD in robotics... See profile.)
- barbs 11y agoWell said. Computer Science encompasses so many things, and the things you're fed up about (elitism in the community) make up just a small part of the territory. Ignore this, and take some time to explore other projects/technologies, like the ones suggested above. You'll no doubt find something that interests and excites you. The wonderful thing about our line of work, especially these days, is that it's so easy to find projects, learn about them and participate. It just takes time and perseverance :).
- zippy786 11y agoI used to love low-level graphics programming (drawing polygons, fractals), closely worked with people doing kernel stuff, have a CS degree in Machine learning, doing infosec for fun and have dealt with quite a bit of distributed/system/database stuff to scale. After some time, these challenging stuff have the same problem, being mundane. Specially constraint of work environment and people you have to deal with. Plus some of the "coolest stuff" just blows up with overfitting and seems to be a mere hype to me.
- bprater 11y agoHow does someone like John Carmack continue to find passionate areas of interest for himself? He's still painting pixels on a screen, but he seems to continue to explore parts of his programming palette that excite him -- most recently, Occulus Rift. If you are truly not feeling inspired for anything programmatic, maybe it's best to take some time off and wait for new inspiration to strike.
- PopeOfNope 11y agoHe also answers to nobody. If you want to escape the constraint of the work environment, you have to found your own company or go freelance.
- ak39 11y agoAn Ode to "CRUD" Apps: There's nothing unexciting or less complicated or challenging about producing good CRUD [sic] applications. I don't understand the industry cynicism towards producing good quality "bread and butter" software for any vertical market. It takes years of experience to learn good (relational) data modeling. It takes years of dedicated attention to assemble tried, tested and efficient user interface designs that your user community loves to use on a daily basis. User interface design (and yes, we are talking about your "boring" invoice capture screens here) may seem easy at first glance to be dismissed as unexciting, but almost every real world example is a challenge that requires creative thinking. Many are implemented badly. It takes hard knocks experience to add gems of strategies to your repertoire of "boring" reporting solutions. Producing industrial volumes "TPS reports" may sound boring, but architecting reliable and efficient reporting solutions is hardly easy. Another challenge of the "1 inch deep and 1 mile wide" mental specter associated with "CRUD" apps is managing the challenge of excatly that - the 1 mile wide sprawl. Each CRUD app may be simple and boring on its own, but how do you manage several of them on one site such that each one not only operates efficiently with its own specialisation but also as an integrated whole with others? These are not simple or by any means boring. I love CRUD apps. I love seeing different CRUD apps in specialised domains and how similar concepts of the CRUD world manage to solve specialised needs of a particular niche. Fascinating. :-)
- cholantesh 11y ago>architecting reliable and efficient reporting solutions is hardly easy. A billion times this! In retrospect, it's kind of funny that at my previous engagement, I was doing things which were kind of unusual to me and yet I was feeling bored and depressed. Now I'm back squarely in the CRUD world and learning so much. It's one thing to write applications that perform these tasks, it's a whole other ballgame to make those applications performant, scalable, and a delight to interact with.
- logn 11y agoI think what bothers programmers is that creation of CRUD apps seem like something that could be automated/abstracted. And it partly has been, which is why so many freelance jobs involving Wordpress, Magento, Salesforce, etc.