New programmers always ask the question, “Am I really a programmer now?” “Am I ready?”
Think of programming like an encyclopedia of technical skills. There are twenty major languages and each language has thousands of libraries and packages. Then there are dozens of industries where this gets applied. Multiply that by the number of platforms. Then multiply that by all the conceivable technical environments as well. There are literally millions of combinations of skills required to know it all. No one does.
The journey begins when you learn the basic capabilities of programming. You know that once you’ve worked through a few courses.
The next step is to build a few small apps. It’s important that you complete them. Unfinished projects are not going to impress anybody. Then post those on github.
From there you just continue to learn and build your toolbox of skills. It never stops. Always learning, always solving problems, always up all night scratching your head.
If you are front-end, back-end, or full-stack - the difference is “What kind of problems do you like to solve?” What is programming? It’s problem solving. Choose your battles and go forth into the fire.
Thank you for this testimonial. This is very much needed.
I wish I did read more of such before because when you face HR and recruiters, it is easy to imagine you are underpar. An thus I wasted quite some time because of that.
I will contribute with my own experience and thoughts.
I am soon to be a 1 year dev not taking in account any internship and officially recognized trainings I took. I just can’t find it back but I once saw a visual showing that within most people starting in dev, very few remain after 2 years. So in my mind I am about halfway to belong to that minority of people who keep in dev after 2 years.
I am currently working for a client in the banking area for a 3 years mission. I still feel a set of tasks are difficult to me even though I have a diversified IT background. I am in a very human environment and that makes it a bliss. I think that if that many people leave dev, it is mostly because they lack of that.
I know SQL for years for miscellaneous occasions. I did refresh my skills last year. What you know in Mosh courses is roughly what I know (based of ToC. I did not take that course). So when I had interviews I was confident telling I know the essentials a dev should know. Also because I had skimmed MySQL doc to have an idea of the content. I was convinced most of what I didn’t know was meant for DBAs.
I still believe what is taught could be enough in many environments. But where I am I will need to dramatically level up. And now that I can see for myself, I realise how little I knew about SQL and how much more can be asked a developer on SQL side.
I do code way less than I would love for now but that’s about to change.
I am still asking myself the very question you chose as a title. I work on myself on accepting it. Just a matter of time I believe. I can observe senior people stumbling on problems yet solving them anyway. This hints on personal perception of a same situation as a junior/medior/senior.
You know what I mean?
There’s a problem to solve:
- Junior: OMG I don’t know.
- Senior: I have no idea. How will I approach this ? Then solves.
But also how important human environment is.
A difficult problem to solve:
- Human does not count : That’s your job, you should know that. Maybe even fired.
- Human is considered : We need to find a solution. (And we will).
I will end up on a funny note. When I was jobless my Github was roughly green almost daily, often even on weekends. Now there are a few greenish flakes here and there. When I check people who have been trained along with me there is nothing or almost nothing beyond trainings we took together.
Reminds me of that meme when you see on the one hand a shaved guy with proper garments and neutral face labelled unemployed and on the other hand a smiling bearded guy labelled employed. Often with a job title next to it.
Cheers and good luck to everyone (esp. juniors).
Thank you Jerry for this message, but I have a question. Is IT good for C++ game development?
C++ game programming is the most challenging of programming jobs. You have to know about the gaming engines and writing efficient multi-platform code. The jobs are demanding and in high competition, but it’s an exciting way to go.
Using AI can help with that, certainly. But knowing how to formulate highly efficient functions is a key as well. Try out leetcode.com and build your algorithm skills.
Honestly I think the main thing is having a deep passion for it. Everything else will fall in place.
I worked on a 3D adventure game ages back with a friend of mine, but we were not quick enough to market. It’s a ton of work. But very cool work.
Get a coding buddy or two. That really helps.