Coming from someone without a CS degree. Learn that every problem you are solving is for a person in the end. Learn to communicate with people, learn to break down problems and explain them and focus on people.
If you can do this, even if you are only "good" as a developer you will surpass the vast majority of CS grads and make far more money in your career.
I fully admit plenty of devs are probably better at specific things than I am, but few bridge the gaps I do between business, marketing and development. That makes me odd, but also makes me valuable and useful to almost any business. I am also highly competent in architecture, design and can adapt quickly, so that has been helpful, but I have met many others like me as well, many without a CS degree.
For my part, I have also raised my kids to understand that being able to apply what you know and learn is more valuable than feeling you know everything or having some specific degree. In the end I prefer to think that education never ends and a degree is just a stamp at a given time, it doesn't necessarily make someone more valuable or more intelligent than another.
Hi, I'm a younger version of you. I'm in the early stages of my career where I'm currently trying to build whatever I think will be useful to people. But I'm afraid a portfolio of projects might only demonstrate my technical skills.
How do I practically showcase that I am much more valuable as a person that understands a variety of roles and am able to unify them into a cohesive direction?
Also, what advice would you give to a 23 year old version of you?
So when you are young without the track record it is harder to prove and get past the gate keepers for jobs. I had the same issues somewhat, but I had the advantage of having grown up in an entrepreneurial family and having been able to release real client facing software starting when I was around 13-14. So even when I was in my 20's I had a lot of coding experience to draw upon to get past the interviews.
A few things come to mind though.
1. Don't try to overreach for a "senior" dev role or something similar. Take the jr and mid level positions and build up your skillset and validation.
2. Apply where the gate keepers are not recruiters or a large HR dept where they only know to look for certain things on your resume, one being a CS degree. So that means stick to smaller companies or early stage startups (though this can be hit or miss since a lot of startups interview horribly and for the wrong things).
3. On everything you do, underpromise and overdeliver. Don't try to be a hero and say you can do it in a day, tell them a realistic time period and then give yourself plenty of buffer. Better to be known for delivering early or being a "padder" than being chronically late and over promising. In the end, you'll still wind up being late on projects because it is the nature of our work sometimes, but at least if you aren't "known" for it as a rule which will make you more respected.
As crappy as it is, age plays a factor in a lot of peoples minds because they equate age to experience, which isn't necessarily valid. Everyone on my team right now, including the CEO is within a few years of my oldest son's age and in their 20's, if I didn't think they were capable or smart I would never have worked with them, age is not relevant to being good. Experience does come with age however, so I can't say it is never relevant in some aspects.
I do get discouraged when I see people with 3-5 years of experience calling themselves "senior engineers" as they are just barely into a mid level role in my opinion, at least in general terms. There are exceptions of course, for example, I will give more credit for 3-5 years experience in startups or small businesses, since typically they move much faster and are more dynamic, but it is very person dependent.
I fought through a lot of crap when I was young in my career, dealing with CS grads who thought they were the shit and I was scum and didn't deserve a dev role etc. I had to prove myself more, and that was ok in my opinion cause I was capable. But it did get old sometimes. Changing jobs was a little harder at first, cause you had to get past the filters more than a CS grad etc. Some of this is a lot better now for people like you, but other parts not so much. For me after I had about 5-7 years of positions on my resume I was past all the filters and had no issues.
A degree is not a requirement to become a professional developer, experience is. The best engineers I have ran into have been self-taught, for those that had a degree it was normally to help them get past the initial HR wall earlier in their careers.
You can gain experience as a developer by doing projects, these give you something to talk about in interviews and also count as experience. If you have no experience pick up many of the operating systems, architecture and programming books that have been highly rated in your area of interest and start reading and applying what you learn until you have a deep knowledge of the material.
An engineering manager will hire people without degrees if they show aptitude, drive, passion and have created projects in line with their missions. If you were in an interview for say a Linux kernel developer and have built several kernel modules, documentation on them, their purpose and they are very secure and stable along with being in use by people that is enough to skip to the what would you like to do here, compensation talk and when would you like to start.
Thanks for this reply to this post. I'm an inspiring web/software developer who is currently learning python using the Murach Python programming book who would later transition into learning Django to start building projects.
I've read through some of your posts and you seem very knowledgeable and experienced in the tech/software industry where are you touched on topics on salaries, books to read, freelance contracting or working for a company as a salary individual and etc..
I don't know if I have any good questions here but it seems like with the experience that you could write a self-help/how to book on how to make it in tech or the current state of affairs of tech in general. But that's a story for another day..haha
I think my question is would picking up the basics of a particular language and framework and some small knowledge if an operating system such as Linux be enough for junior level position? Or would it depend on a particular job posting requirements? Or would it be a good idea to just apply in general as some job requirements are not always set in stone and seem a little bit unrealistic because they may have investors and stakeholders have an oversight ask to see how companies hiring?
My apologies for this being a long loaded question any response will be helpful, thanks.
This may be a reach.. do you have email or are you on Discord Chat to discuss more and pick your brain or get any additional help because I'm someone who was trying to break in into the IT software development field. If you see this, feel free to reply any help is appreciated, thanks.
Oh yeah, I've also been going self-taught route using doing it the old-fashioned way using the big books because I prefer learning books best over online courses but I've checked out a few videos on YouTube in regards to python Programming, Django, software development and etc
I got started with Python and spent time building lots of little projects and websites. Then I hit the pavement looking for clients. My first client paid me $200 for a simple website. I studied my butt off and did whatever freelance work I could find locally for a couple of years, and then I started applying for jobs, eventually landing one. Now I don't have any difficulty getting jobs, after a few years of experience.
My best advice is, learn to code, but focus more on solving business problems. Most companies care less about technology than they care about what problems you can solve for them.
learn technologies you're interested in and would enjoy working with by building increasingly complex applications with them. even without a degree, practical experience, genuine curiosity and a willingness to learn will get your foot in the door.
If you can do this, even if you are only "good" as a developer you will surpass the vast majority of CS grads and make far more money in your career.
I fully admit plenty of devs are probably better at specific things than I am, but few bridge the gaps I do between business, marketing and development. That makes me odd, but also makes me valuable and useful to almost any business. I am also highly competent in architecture, design and can adapt quickly, so that has been helpful, but I have met many others like me as well, many without a CS degree.
For my part, I have also raised my kids to understand that being able to apply what you know and learn is more valuable than feeling you know everything or having some specific degree. In the end I prefer to think that education never ends and a degree is just a stamp at a given time, it doesn't necessarily make someone more valuable or more intelligent than another.