"If a junior in high school were asking for your advice, what
would you tell them? What tips would you have for going into
'computer science'?"
(Please comment your tips - asking for real high school kid who stopped me to personally ask for advice)
"Last night the next door neighbors kid stopped me in the drive way..."
I was pulling into my parent's drive way - usually swing by my child hood home a couple times month.
Last night when I pulled into the drive way I heard
"Hey!!! Is that Zak?"
It was, I'm Zak, I'm a software engineer - and I have been for over half a decade. I never went to college and make a great living. My child hood neighbors kid who is about a decade younger than me knows this.
He wanted advice about going into the computer science field.
Before I had time to process what I was saying I spat out, "Well, I don't recommend college."
Looking back to last night, I'm not confident that was the best initial piece of advice to go with - but hey, I wasn't prepared.
I decided to take a pause, asked for his number and email, and told him that I'd think on it and get get him some solid tips by mid next week.
If a junior in high school were asking for your advice, what would you tell them? What tips would you have?
This kid is smart and as far as I can tell has the makings and characteristics to be a software engineer...I just want to make sure I'm providing the best, most non-bias advice I'm able to.
With that, any tips and advice you can offer up - I'll make sure to pass along to Stevie.
Oldest comments (38)
My top tip: Create your LinkedIn & Github right out of the gate.
Then start learning and learn through projects to build up your resume.
I’d recommend picking a niche and staying focused on it.
Ex: You want to do reactive front end.
Great advice JohnT! I love the big a niche and then "Staying focused" on it. For new devs that's huge
It’s a big one! Thanks for continually great content btw, your JavaScript series is A+. 10/10 recommend
Thank you sir, it's a series I've invested a lot of time and effort into blogging on - hoping to create a youtube series with a video backing every one of the blog posts in the dev.to javascript series sometime in the near future.
Deeper JavaScript seems to be a topic that people are relating and reacting to, love seeing it!
Great advice Tarek! Learn how to find the answers and dig into the details to solve the problem yourself using tools like StackOverflow, Google, Documentation, and solid Books.
Hey, 14 year old developer. My advice to high schoolers is to start to love programming. This is so important because as teenagers you need to have passion in this field in order to continue programming as a job. If you want to have a programming job just to make money, you won’t be a productive programmer.
I like this tip, but also am the first to admit that I don't love programming. I love what programming can do, the potential behind it, and that it's a craft you can continually become better at.
I love that software is a career choice that doesn't require you to go tens of thousands of dollars into debt.
I love that if you choose the non-college path in programming that you can be making six figures in around 1 to 2 years if you stay committed to the process - and you can have that income without the debt for college.
I love that I can reach the upper levels of the industry and make 200k+ a year at FAANG without a college degree (Using me as a personal example, you can make a hell of a lot more than that working at FAANG).
The way my mind works though, I don't need to love what I do - I need to be challenged with a craft where I can become better every day. I need that craft to have some major pay offs when I become damn good at it. And although I'll never be done working (wouldn't know what to do with myself), I need to see that all of my hard work has end game potential if I invest tremendous effort and play my cards right.
As someone trying to give honest advice and perspective to a kid thinking about the industry, do you think that my personal admission to not loving code and instead loving what code can do for my life and the world as a whole are similar enough? Is my view point rare (reaching a level of greater than average success as a software engineer when I don't love code but instead love what code can do)? In your experience, how many developers have you worked with who love to code compared to love what code can do.
Do you think those differences in what an individual loves to do is worth bringing up a high schooler or good advice what so ever to a newbie joining the industry?
Best case scenario, he simply loves code - but if he loves the potential of code like me and it's just not enough in 99% of cases to incite actually joining the computer science industry then I'd hate to recommend it based on my personal take.
I'd hate to recommend going into the industry when all you love is the potential and the outcome, and instead tell him to make sure you love coding itself - but that's not my personal take.
I'd also hate to tell him that you have to love code or you won't go anywhere in the industry and you won't enjoy the industry because that hasn't been my personal experience.
I enjoy code some days and other days I don't, for me it's more of a grind similar to running a marathon. I feel healthier when I'm doing it every day, I'm financially fitter for it, and although I don't enjoy the 24 mile runs personally - knowing I've made it through the grind and am better for it is a feeling I love.
Through code I've avoided college debt, joined the largest digital marketing company in the US, created multiple income streams via content creation and tutorials, built websites that are sitting and gaining value based on their domain (find.how is a domain I bought a few weeks back that'll gain value with age), joined an Amazon team that's working on voice/visual code APIs which provides insight into a different kind of business that I'd have the potential to start in the future, etc...
Through code I've done so many things that I'm intrigued and interested in, but code itself is just a tool in my mind. The daily coding grind is synonymous with daily lifting sessions and multi-mile runs in my mind. Not necessarily my favorite thing - I love some parts like I love living and I despise other parts like I despise running.
Coding is the tool, but I'd never go as far as to say I love programming. I love opportunity, entrepreneurial under takings, improving my over all fitness on a daily to do what others can not because I was willing to do the hard s*** no one else was willing to.
To me coding is the hard training sessions, and everything I'm able to do with coding is what I love.
I'd hate to recommend going into the industry when all you love is the potential and the outcome, and instead tell him to make sure you love coding itself - but that's not my personal take.
I'd also hate to tell him that you have to love code or you won't go anywhere in the industry and you won't enjoy the industry because that hasn't been my personal experience.
So anyways, apologies for the rant - but with that perspective and insight what would your thoughts be on loving code vs. loving what code can do for your life and the world?
I guess it depends on what you develop as well, or if you know how to code but go into QA. People who love to tear things apart, see how they work can also do great things and with the Shift Left that blurs between being about to code, test, and do other things is also there.
I work as a toolsmith and have for years, developing build and deploy pipelines and test frameworks, while I can't say I live and breath programming I can get things done. Software Engineering has a lot of different bits than just programming. But that's usually the first thing people think of when they consider software engineering.
Lol, you sir, understand the definition of brevity 😂
Don't go to college. You'll be thousands of dollars in debt and barely have an understanding of how to actually write code. Colleges teach "Computer Science" not software engineering. There is an overlap, but not enough to make a CS degree worth the cost. Go to a technical school or a boot camp if you don't have the discipline to teach yourself. Even better, find someone to mentor you and do an apprenticeship.
Love the college debt point continually being brought up. College debt, in my opinion, is as close to evil as we have in todays era.
Do you have any additional insights on boot camps or technical schools Curtis? I'm thinking I'll just show this blog post with the comments directly to Stevie (the highschooler who was asing me about the computer science career).
I don't have any personal experience with boot camps or technical schools and would love to have something based on someone's real world experience to show him.
College is good for some people and bad for others. Without really knowing an individual I could not say whether or not someone should go.
Regardless I'd tell them to practice building real software. Not academic functions, not to-do lists, but real flushed out pieces. Map out what you want to accomplish, go through building out utilities, tests, features. Because at the end of the day that is what you will be doing on a cycle. Then all the debugging that goes with it. Besides that...pace their selves, because burnout is terrible.
Highly agree with you buphmin. Learning through doing, age old advice that is invaluable to hear a thousand times over.
Run, run for your life, become anything else! 🤣
Seriously though, my advice would be to think of something you want to see in the world and build it, make mistakes, ask for help when you need it and keep going.
Oh and if you go on Stack Overflow to ask questions, grow a thick skin!
By the time you finish school you will probably already be employable so can save yourself thousands in tuition fees (if you don't want the experience of Uni of course!).
By the time your friends are thousands in debt you could be on 6 figures a year and helping make the world a better place!
Finally (as I am biased) learn about accessibility no matter what type of development you go into, we need our next generation of developers to do a better job including people!
Great advice @inhuofficial !
Love this quote:
If you don't mind me asking, do you have a personal reason inspiring you to towards pushing developers towards remembering to develop with accessibility in mind?
I love that you're pushing it, I'll be the first to admit that with all of the other responsibilities we have while building software I'll often times forget about accessibility all together.
It's important and the right thing to do, it just often times gets lost in the chaos of all the moving parts.
No I don't have a personal reason, other than I see a huge problem in the industry that is excluding people.
I am a very unusual accessibility advocate as I do it half for the betterment of the human race (anyone got a vomit bag for the massive cliché?), half because I see a massive market that is being ignored!
And massive markets with unmet needs (and providing solutions for those needs) are what make people rich!
I am probably the most selfish accessibility advocate on the planet (oh, maybe that should be my new thing instead of "the angry accessibility guy")! 🤣
Above all it is an interesting area of expertise, which is why I like talking about it.
Once you start learning about all of the little things that you should be doing and why, it can really make you a better overall developer. You start to think of things from the perspective of others and you tend to make much better choices when it comes to UI design and UX, or at least that is what I believe.
This right here, is the way we get even more people into development, you should write a whole article on it! It isn't about writing code, it is about what that code can do! Loved that whole comment but that open sentence was near perfection for me!
I might just have to do that, I'll be following you moving forward @inhuofficial both on dev.to and twitter (twitter.com/InHuOfficial)!
I have been enjoying some of you other posts too!
Looking forward to the next one, have you managed to rest a bit after your all nighter?
Appreciate you @inhuofficial !
And oh yah, we're on a much better sleep schedule now. I joined one of the smart devices team as a dev for Amazon starting this past Monday.
Was on that stereotypical programmer night schedule and had to push to stay up for the entire day to re-regulate my schedule. It was a rough day shifting it back over, but we're on that healthy sleep schedule now😊
Oh cool and congratulations!
I bet that will be interesting working on smart device stuff!
Glad you got back to days and a normal schedule!
I mulled over this overnight, and of the myriad of things I'd want to say managed to narrow it down to just two things:
Regarding college, I'm one of the people who managed to go through it. I won't make a recommendation, but will instead just share my experience.
The fundamental thing I learned is this: college teaches computer science, but jobs require software engineering. Another way to phrase it, college best prepares you to become a college professor, not an industry worker.
5 weeks of training at my first job did more to prepare me for the job (and other adjacent jobs) than 4 years in university. Things I learned in those 5 weeks that I never learned at college include:
All that said, college did provide an opportunity to learn a bunch of things I was able to transfer, mostly tons of raw practice on stuff I was unfamiliar with, exposure to a diveristy of sub-fields, git and linux, and algorithmic problem solving. I wouldn't have landed my job without any of that. Could those things be learned elsewhere? Almost certainly, as long as it doesn't sacrifice Point #1 at the top.
I remember college for the experiences I had with a bunch of people going through the same thing. In the end, it was less about what I learned and more about who I was with while learning.
Thanks for this awesome, well thought out response Timothy. I really appreciate your personal take on college and what you benefited from your experience going to a university.
This will be one of the comments that will most definietly give Stevie from insight into the college vs. non-college paths.
Thank you for investing the time to create such a thoughtful response.
You are right, I have been spend my high school life on Point #2. But without college, I believe I won't get the Point #1.
Get involved in Open Source. A GitHub profile that proves competence goes leagues further than a 4 year degree.
Agreed! Thanks @lukeleber !