I decided writing code is less appealing to me than studying, finding solutions, and developing abstract ideas. Which career choice might be more befitting my type? Of course becoming a CS professor is out of the question, it has to be a practical path which can be taken in a year without being a genius.
Why not engineering? It requires studying, finding solutions and developing abstract ideas (this last one may vary, since an engineer is usually in charge, not developing them).
On the other hand, have you ever freelanced? Basically, you do everything . Jokes aside, when you freelance you may end up doing just what you are asking if the project is big and from a different area (like architecture, for instance).
I can’t think of anything else now, but surely someone else may suggest something better .
There’s one step forward I guess, which is to try to build a new solution no one has tried to do before, but as I read, a capitalistic interpretation, is that people (the “market”) aren’t looking for solutions but instead get convinced to consume products - that makes a career choice a lot harder for a programmer who thinks in terms of solutions and doesn’t look for implementing other people’s specs…
To create a finished product, you first have to understand the problem and solve it.
This is what an engineer in general does.
A product designer does this too, but in a more specific niche.
I understand that, but there aren’t exactly product designer positions for self-taught devs without experience or degrees .
would you hire a person that has no proof of work
if there are many other people who can show you some proof?
Now it’s your turn to show some proof of work:
- build a portfolio
- work on OSS
- give workshops
- write blog posts
- create YouTube tutorials
There’s “Software Architects” (a title I hate) who mostly focus on design, but it’s a position one rises into from the trenches of coding. You can’t design a system and hand out work for implementing it without understanding what you’re telling people to do.
Hobby projects are great for exploring your creativity. Sometimes you can even use those in the workplace. Just start up a github repo and go hog wild. I think it would go against the spirit to tell you exactly what to do from there.
You’re talking about positions like solutions architect, and to get to that point (where you’re essentially designing systems and other programmers to actually do the grunt work), that implies lots of experience (someone doing that needs to have built up a lot of trust in their skills, because they’re generally going to be spending vast amounts of cash on the company CC). You can’t just go straight into a position like that.
Writing code in itself is hard, boring, mundane, annoying, and a lot of work. Being a Software Engineer/developer isn’t about only about writing code though. Writing code is just a tool you can use to solve a problem. If your only writing code, without actually finding solutions, your not programming.
“Applying the same knowledge over”, doesn’t sound like programming to me. If your doing the same thing over as a developer, you optimize it and or automate it. Its the reason developers get paid so well compared to other jobs, because they can solve a problem 1 time, and never have to solve it again.
Its true you may need to re-use the same knowledge over and over, but its also true you will also run into new problems over and over. Complex problems are built out of simpler ones. You can’t tackle complex problems without knowing how to solve the simpler ones. You can’t skip over the basics.
1 year to go from zero to hero is hard. Genius or not, there is a lot to learn, to know, to experience, and to overcome. Experience is experience, and less time means you need to move fast, learn fast, fail hard, and overcome quickly.
1 year is enough time to get serious knowledge as a programmer. I say you only need three things to be a programmer: time, grit and an internet connection. If you only have 1 year, then you will need to make the time you do spend count.
If programming just isn’t for your, there are other tech fields that are similar that don’t require you to write code. Most tech fields require some level of continuous learning, as tech changes constantly. This isn’t limited only to software engineers/developers.
You could be IT/operations and be dealing with applying patches to critical software from a new release. You could be Quality Assurance and learning more about user needs to improve your product. You could be a tester and having to learn to leverage new testing software and changes made to the product. All of these fields can work with developers, and what they build, but aren’t necessarily “who writes the code”.
There are a lot of occupations out there, but do choose the right ones for the right reasons. I’m sure you tried to learn programming for some good reasons, just don’t give up on it for wrong ones.