Hello!
I've been trying to decide on what path to take in the industry, but have been running into a couple self-made brick walls.
I'm curious to find out, from those who have found their path, and also from those who are still finding their way around, I'd like to know:
How did you decide on what path/field you wanted to pursue within the tech industry, and if you are still trying to decide, what are you trying to do in order to find out what interests you the most?
For the past couple of months, I've been learning a lot in the Machine Learning/A.I./Deep Learning ocean, and while I've been enjoying it a ton, I'm not sure I'm ready to go even deeper. I've been trying to see what courses are on offer to help build the foundation to get a good grasp, but I've yet to pick a route to go.
Top comments (31)
Now? Simple- a secure, lucrative career path.
I bought into the “do what you’re passionate about” narrative, to my detriment. I studied Music (BM/MM) to discover that a) the business of music has very little to do with music and b) I was, in fact, not prepared or interested in what the music business actually is.
So, I would paraphrase Chris Rock here- “Do what you like, that you’re good at, and is hiring”. I strongly disagree with your career needing to be this all-consuming marital relationship. I like code, but if I was a trust fund baby I’d still be making music. Plus, my good career in IT makes it possible to pursue my passion in ways not previously possible.
So, in short, I would encourage you to pursue what interests you enough so you can become proficient enough to get a good job.
This post really resonates with me as it's a path I have taken myself. I do struggle with "pursuing creativity/pursuing a decent career" argument in my head a lot.
In recent years, I've kept music as a hobby and focused on coding for a career path, and it has worked out better. But like you said, if money was no object, then I probably keep doing music.
My jazz professor in undergrad, when I was struggling between opera and jazz and a career path, told me “do the thing that affords you the most time to do the other thing.” I feel that way about my career now - I can afford to buy nice gear, play gigs without worrying about making money and consequently like music more. Plenty of composers and artists have had day gigs over the years. You and I can do the same thing.
Great advice there, thanks!
I'm in mobile, but I feel that mobile chose me.
I said yes to every opportunity I had the chance to explore. My path went a bit like this:
Keep following the path that you're enjoying, stay away from things you don't enjoy, and you'll find your spot. It takes patience and persistence... but the reward of enjoying what you do and getting paid for it is so worth it.
I've struggled with "What do you want to do?" all my life. As much as I enjoy talking to computers, I know it won't be "the thing" since I still want to learn carpentry, I still want to farm for a bit, I still want to do a lot of things.
That said, what brought me to programming and what drives my self-tutelage is finding problems I want to solve or coming up with solutions I want to create. Of all the things I've tried in life, few things outside of talking to computers allow for such a wide range of "things to do", so, even as I learn to whittle wooden blocks or whatever, I'll still probably be typing
vi newproject.py
ortclsh
pretty regularly.20 years ago I liked *NIX a lot (and I still do!), I learned it for fun, but when I was looking for a job, it turned out it was useful even for profit. Back in the days, at least in Italy, there was a shortage of decent Linux system/network admins. So it wasn't difficult to get a job.
Then I felt that the field was too overcrowded and, after all, it wasn't so funny as in the first days, once you learned some tricks and gained some experience. Also, wages became lowering, time to switch.
I've always loved programming too, so I switched to full-time developer. I used mostly C and Python (from my sysadmin days) and PHP for web development (along with JS on the client side), but I hated PHP, especially after I discovered Ruby. But Ruby was very niche (or at least it was exploding in popularity in USA, around 2006-2007, not in Italy for sure). So I embraced Ruby: it was fun and very fast to write programs, BUT in Italy was barely known. So I kept learning Ruby/Rails while still working with PHP. At some point I eventually decided to work only in Ruby. Today a lot of job offers are looking for Rubysts.
10 years later, I did the same with Elixir and Erlang, for the same reasons.
An so on :-) Choose something you (would) like to use/learn, not too much overcrowded and that adds something more to your toolbox (skills, programming patterns, experience, tools, whatever...). That way you'll always be on the bleeding edge, well paid because rare to find. And when it will be more popular, in the worst case, you'll have collected several months/years of experience :-)
It worked (and is still working) for me ;-)
In the spirit of this, I encourage anyone to learn the Tool Command Language and Toolkit.
It's really nice!
I always loved it ;-)
Unfortunately is too much a niche :-(
Too true. I missed its heyday 90s.
If I wanted to find a job, I might be more worried about TCL's lack of modern appeal. Thankfully, I can just use it because I like it. Maybe it'll be cool again in 10 years! lol
I think there's a small fallacy here, that is that many people 'decide' what they are going to pursue as a career.
Of course, I can only speak to my own experience. I started my career back in the 70s as a musician. I had a lot of interests, but at the time music was what I was 'good' at without trying too hard. A few years into college (on a music scholarship) I realized that a career in music didn't jazz me at all, and I drifted into the military (Air Force). There another interest, electronics, was useful in that it landed me in in a small lab in NY, supposedly to fix broken gear, but what ended up being a four-year stint doing primary materials science research. There was a pretty good engineering school nearby and so I picked up a degree in electrical engineering.
When that was done, a few coincidences led me to magazine publishing, and I was Editor in Chief for a few years of a large electronics hobbies magazine. Money called, and I left to do course development at Digital Equipment Corp, learning and writing about operating system internals and networking. Another degree, this one in CS.
Then a marketing job. Then a decade as a consultant. Then a director at a research firm, and a director at a startup. Founded a small publishing company doing 400+ fiction titles. These days I'm a professor in computer science at a prestigious university.
I didn't plan any of this, really, and my advice to students who ask me this question is to be open to every opportunity. Life just happens, and things come up, and you have to be ready to jump. The but first part is that when something interests you, let it consume you. Dig deep, be the expert, but when something else catches your eye, be ready to move on.
My career in tech kind of just developed on its own. I started working at a computer shop when I was still in high school. One day, a customer came in and asked if we could connect his two business networks at his locations across town from each other. My boss (also the owner) asked if I could do it. I said "yes" without hesitation. But here's the thing...I had never even tried something that before and didn't know the first thing about point to point VPNs, firewall access rules, ports, WAN vs LAN, any of it. But, I dove into it anyway and figured it out as I went. Myself and both of my brothers are engineers in the tech industry and, while my dad is the least technical person on the planet, he taught us a simple rule to follow for personal development: "Be humble about what you know and arrogant about what you can learn." All three of us lived by that and it took us far. After that network gig worked out, that customer referred us. Two years later I was recruited by a bank to come on as a routing and switching engineer. The staff at the bank was super skeleton in IT (as in there were 6 of us, including only one software developer caring for 1200 employees and their equipment and managing office and ISP issues in 20 states) so a lot of us wore a bunch of hats. One of the hats I decided to wear was as a Windows Automation technician. Basically, I used Google to learn enough Powershell to help take some of the load off. Eventually, the employee number rose even more and Powershell wasn't enough. So I started developing some automation scripts and basic reporting software using C#. Out of pure luck, I happened to automate some process that was on our Software Engineer's task list. To him, it was a simple thing, but to find it already done led him to ask who had done it as he was the only code jockey at the company. Eventually, he tracked it down to me and asked if I wanted to help him with some other projects. I agreed immediately because writing the scripts were really fun and interesting. Fast forward 6 months and I joined him as his junior, then eventually left to pursue other things. That was 5 years ago and now I write web automation, data aggregation, and ML software for local businesses.
I guess, long story short, if it interests you, dive into it. The idea of a topic being "beyond your abilities" is only going to get in your way. Yes, learning how to think in algorithms, debug your code in your head when your not at your computer, take the math of statistical and predictive analysis and translate it into functional or OOP terms, are difficult things to do. But as with any niche, there are things only experts can do, and things more suited to junior devs. But the difference between those two groups is two things: experience and fearlessness. So if you like deep learning, machine learning, AI, and the like, go with that. Technology changes so fast that even senior guys have to pretty much relearn the ropes at EVERY new job they go to. So if you work in that field for awhile and you don't like it, try for a different niche. Your experience with one niche will pay dividends in any other niche. And even if you went to a new company doing the same job, you'd likely have to learn how to do that job on a different stack, with a different codebase and different colleagues which is basically like starting at square one anyway. Do what you like but be flexible. Most of us are specialist developers who will make decent money doing what we do so, at the very least, you'll pay the bills while you find out whether or not you want to stick around.
As I read your post, I dont even know how to answer this question...
I think its a balance between what you love to do and what pays the bills. If they happen to be the same thing, then you’ve won the lottery!
I think the biggest thing is trying and failing many times. You’ll never know if you like/dislike something unless you try. We are, as software developers, fortunate to be in an industry that pays a lot better than most other industries and with a lower barrier to entry (Thank you, the internet). As such we have a great landscape of knowledge we can go through to learn something new and keep the fire going.
Personally, when I started, I had no idea what I was going to do. With a bit of time, open-mindedness, and willingness to learn, I found what I like and what I dont like.
And what did you found?
I’ve simply followed what I believe I am strong at.
Honestly, I could have been a good doctor. But I didn’t want to spend another 10 years studying.
I could have been a good lawyer, but I do not want to end up protecting a criminal.
Programming was my best choice, and it is what I am strong at.
I don't know what I want to do in life. I've just been kind of winging it. One day, my Mom made a joke with an HTML page. I didn't really care about the joke, I was curious as to how she did that. She showed me, then told me there was a book about it on the shelf.
I took it upon my own initiative, took the book, and learned about HTML and CSS. Once I finished the book ... I went online and started research and learning. My first year was dedicated to web application design, with custom HTML & CSS, no libraries or frameworks.
The second year I dedicated to refining my design skills, along with learning databases, OOP, back-end stuff(PHP), JavaScript and tons of libraries and frameworks.
The third year I refined my designing skills for both front-end and back-end, heading back into custom code rather than relying upon heavy amounts of libraries. I dedicated it to web application security, protecting data etc.
And now I've gotten into the offensive side, trying to break my web apps, and make them more robust with better security and performance.
I reinvent the wheel, and I love it.
Ultimately I've just been going with the flow, picking up things as I go along. And it's quite fun. I learn a lot, and my math skills have greatly improved because of programming.
Perhaps you shouldn't worry about what to do ... and just pick up thigs as you go along? That's up to you. If you go deeper- well, you go deeper. Who knows what you'll find along the way?
I'm bossy, I like telling computers what to do, and what they shouldn't/can't do.
And as a note, I'm a writer of tales, a farmer, learning to cook, and I also knit(I stopped for a long while, but I hope to get back into it). They're many things I wanna do in my life. And I'm not gonna let anything stop me from achieving my goals. Also, I have no idea what all I want to do. But those're just the things I've found so far.
tl;dr
I just do whatever, go with the flow, have fun where things take me and learn a lot.
This was about me. Now, stop reading my self-centered biased stuff(let's be honest, it was) and go do something that you find awesome.
(hopefully this helped XD)
I think I just picked the most interesting opportunity in front of me. You have to always be learning, so I wouldn't be afraid of learning something you might not stick with. In fact, I'd assume you won't stick with it. But that doesn't mean it won't be useful. Over time, these experiences give you better answers of what to do next and develop your unique value by connecting the dots.