Software development is filled with amazing fields that are constantly evolving thereby attracting developers and newbies to them but then, we cannot do all of them and focus is needed. So today, I'll be sharing a guide for newbie developers using my personal journey into web development. Just grab a cup of coffee and read with me.
"The Intro"
I had liked programming right from my secondary (high school) days after being introduced to it in our computer class (we did BASIC Beginners All-Purpose Symbolic Instruction Code then, hahaha the line numbers, LET, REM, GOTO keywords) and all, also engaged in a bit of graphical NXT programming for WRO (World Robotics Olympiad) and the love for programming was ignited in me. But off I went into the university and started dealing with calculus, trigonometry, laws of gravitation and thermodynamics, stoichiometry etc, and forgot about what was called programming.
"Chronicles of a newbie"
But at the end of my first year early 2018, I stayed back in school and enrolled in a coding Bootcamp (main motivation was because we were assured we were going to make money at the end...who doesn't want to make money). It was a 3-weeks program and we were taken through the HTML and CSS mainly, a bit of jQuery but we were told we didn't really need it. I felt on top of the world writing HTML in sublime-text, adding styles using CSS and watching the preview in a browser was really awesome then. I stayed up at night to read W3Schools and implemented what I read. Those weeks, I felt like "Tim Berners Lee" sitting in front of lecture theatres with my system opened and people were like this guy can code...oh no!!!
Then the last week came and we had to rush and we were introduced to Bootstrap4 (a CSS framework), went through the documentation and recreated a number of examples there. To fulfil all righteousness, we were quickly introduced to Php, taught how to use the require()
and include()
keywords for headers and footers on different webpages for easy manipulation and editing. We never did anything JavaScript.
Remember, my goal for attending was to learn to make money, so we were introduced to freelancing (a 3-week old newbie, that's crazy but I never knew) and we were told we would never need to build websites from scratch and thereby we were given quite a number of website templates to always edit which affected my learning to a large extent (The learning drive was short-circuited).
"The Beginning of Confusion"
But somewhere deep down, web development never left my mind, I actually did some bug fixing projects online but was feeling like a fraud anytime I pick up templates to edit. Second-year came, we continued the calculus but I applied for the Andela Learning Community Scholarship and was accepted, learnt HTML, CSS again and now I was learning JavaScript but the bulk of academic work just wouldn't allow. I took a programming course in school and the language we used was Python, I wasn't new to basic concepts anymore and my focus started shifting to Data Science and ML using Python (after attending seminars and we were told of the possibilities and awesomeness of Python), I consumed tutorials on python for Data Science alongside with JavaScript for the Web, It got to a time I started tinkering with Android Studio for App development (wanting to know everything, a newbie's problem of choosing a path). I quickly lost interest in App development as Java was something else compared to Python (simple syntax and all) and a minute Gradle will not successfully build next minute, SDK tool or Emulator not found. (Haha, on top wetin). I couldn't cope with Python for Data analysis again because I was confusing JavaScript with Python, but the main reason was that it was boring to me then (using libraries, table up and down) compared to web development that is graphic and aesthetically beautiful, you write your codes, you see your results in the browser. Then I decided, I couldn't continue with python and I decided to go into web development. Web stole my heart maybe because it caught my interest at first, opening Sublime text, VScode, Gitbash and writing "Hello World" is really amazing compared to some Anaconda whatever.
"The New Born"
But also, academics choked my learning process as I left coding but it never left me. Later when C++ and VHDL came my way, I wasn't afraid to tell them Web already stole my heart. Now, I'm fully sold out to Web Development and I'm going to give my all to it. I'm happy whenever I open sublime and write even just a line of code. I'm an advanced newbie really aspiring to gain mastery and build quality products for humanity.
Wow! that was a bit long, now what?
"The Crux of My Writing": A Guide for Newbie Developers
As a newbie trying to break into software development, you will be attracted by the different areas in the tech world, but to not beat about the bush and end up achieving nothing or frustrated, here are my tips.
1. Find and Choose your Niche:
Choose a niche that really interests you and of which you are passionate about. Do not choose a niche because everyone around you is going into web development or because Data Science and Machine Learning is the future but choose based on your interest be it Android Development, Web Development, Application Development, UI/UX Design, Cloud Computing, Data Science etc, and then you are a step ahead.
2. Go all out.
Now that you have discovered your niche, go all out, give all it takes, the time, the diligence, the commitment, the work and strive to be good at it. Mind you, it's not a month or 3-months thing, it's a learning process and journey. Thanks to the Open Source Community, here's a Github repository containing amazing learning resources by Gift Egwuenu on different software development niches to get you started. Also, here is a Github repository containing a learning roadmap for Front-end Web Development from Beginner to Advanced level.
3. Build Projects and your Portfolio
Yes, along the way, you will watch tutorials, read books and find sample projects in there which you will obviously follow and recreate, it's good but do well to build depth and rigour into whatever project you're building not blindly copying the tutorial projects. If it's a simple calculator, build the interface with HTML and CSS yourself, and when you learn JS, add interactivity using DOM manipulation, just make sure you implement what you learn and build depth into your projects (do it your own way). Also, build yourself a portfolio and you can decide to document your learning journey and share with others.
4. Join Developer Communities
This cannot be overemphasized as it facilitates growth. You get to network and collaborate with other developers too and never be afraid to ask questions or fail. Here is a list of developer communities you can join as compiled by Bolaji Ayodeji. You can also join local communities in your country or state like ForLoop Africa, Andela Learning Community, Google Developer Student Clubs and strive to work in a team.
Wow, thanks for staying through and I do hope you picked some points. Care to share what field of Software Development stole your heart?
Photo Attribution: James on Unsplash