5 STEP GUIDE TO STARTING YOUR SOFTWARE / WEB DEVELOPER CAREER THE RIGHT WAY!

AUGUST 2016


A little background about myself. I am a self-taught, full-stack developer and this journey started almost a year ago. We use C# .NET, JavaScript, and Angular. Now, (like most places) there is also a lot of legacy code that used technologies in VB .NET, ASP.NET MVC, Web Forms, XML, etc. However, all the developers are self-taught without attending a boot-camp. Each one of us has found our own path to this amazing career, and below is some of my top suggestions.


So here is a bit of advice on learning web development…

  1. Out of all the resources I’ve used (and I’ve tried about everything from free sites, paid sites, books, college courses, etc.), the two best in my opinion are Free Code Camp and Pluralsight. However, there is 1 Udemy course, that is by Tony Alicea — JavaScript: Understanding the Weird Parts, that is absolutely amazing. Along with that Kyle Simpson has a Pluralsight course called “Advanced JavaScript” which is comparable to Tony Alicea course. However, if you are wanting to learn C# — Bob Tabor’s ‘Learn C# for Beginners’ course on Microsoft Virtual Academy (free) is really good. If you prefer free resources you can’t pass up the YouTube series by Kudvenkat’s massive C# tutorial.

*One caveat to Free Code Camp. If you’re just starting out on FCC, or have been working in it for a little while, I would recommend a slightly different path than what has been laid out in the map section. After you complete HTML, CSS, and Bootstrap…stop! Go and do the Tribute Page. After you’re done with the Tribute Page then resume with JQuery, JavaScript and so forth. Why is this you ask? I think learning JavaScript puts too much in your head and you become overwhelmed with trying to figure ways to use JavaScript in your website rather than focusing on the HTML, CSS, and Bootstrap principles. And remember, learning the Bootstrap grid and CSS Flexbox is a must! Make sure you make this Tribute Page mobile friendly so you can view it on our smart phone, tablet, or desktop screens (15", 17", 23", etc.). If you have never made a website mobile friendly (or mobile-first) you’re going to spend a lot of time on this. (That’s okay though. My first website I tore up 3 or 4 times and took me weeks to complete — you can see it it’s still a work in progress: http://brianhankins.github.io/ ).


2) The video by Learncode.Academy is amazing and is updated every year. It will show you the different paths of web development, what is necessary and even optional. Make sure you check it out:

The Technology Map Referenced: https://coggle.it/diagram/Vz9LvW8byvN0I38x

*One caveat to this video: The recommendations he uses are great but you really need to look on Indeed.com and Dice.com to find what technologies are used in your area. If I had decided to learn Ruby on Rails, React, and/or the MEAN stack, I’d probably have never found a job…in this area. Around my area it’s heavy on Angular, Java, and C#. Sure, there is a PHP or Python job here and there but the competition is very competitive. So look before you leap.


3) GitHub account…use it…learn the basics of Git and push everything you do to it. Every job is going want to see it and as a new developer, it’s the least you can do. Along with GitHub there are two things you should do:

i) When you complete the FCC algorithms, make a repo and push your algorithm code to it. Make sure you have a ReadMe or some comments at the top of your code that tells what the code is accomplishing. GitHub has a Gist feature that FCC was using…however this feature is private and sometimes it can be hard to find — when you’re showcasing these in interviews. Yes, you heard right, you’re going to showcase your GitHub in interviews either when asked or you’re going to offer it up. Honestly, this last tip got me out of doing an on the spot code challenge and white board demonstration, plus a job offer.

ii) GitHub first-timers-only tag. Did you know that you can contribute to open source projects as a new coder? The community has designated a tag next to issues that are really easy to fix called ‘first-timers-only’. Most of these even have the answers in the comments. Why is this important? By contributing to open source projects gives you an immediate stand out among your peers. You’re actively participating in real world projects. My current boss said “If he had two developers exactly the same and one had made a pull request to and open source project he would hire that person on the spot!” So, when your taking that break from FCC’s Tribute Page because for whatever reason the CSS is pushing that <div> off the page…change it up and make an open source pull request!


4) The above tips should save you from this #4 tip but just in case, I’ll still put it here. Changing languages, or more, learning a new language may seem like a great idea but if it’s for the right reasons. One reason being you initially failed to follow #2’s caveat above. Many new developers (including myself at one point in time) get frustrated with a language. You may have hit that mental block where you seem to be treading water rather than swimming. This is due to a lot of things and nearly everyone goes through it. However, refrain and push through. Coding is hard. If it wasn’t, everyone would be doing it and you wouldn’t get those lucrative job offers you see posted for $150k per year. So find a technology or two and deep dive in it. If you want to be a front-end developer learn JavaScript really deep before pursuing a JavaScript framework like Angular, React, etc. The tricky part is knowing how deep the rabbit hole goes. This is okay, learning to code is not linear. By this I mean it’s not like those math classes you took in high school where you started with basic math, then learned algebra, then learned geometry, then learned trigonometry…(and if you knew JavaScript really well you could turn that last sentence into a ‘promise’!) What I’m attempting to get at is, learn the technology deep as you can and go back to it to often to learn more and essentially you will grow as a developer.


5) Take a job immediately! You may feel you’re not prepared for a coding job and that’s okay. The interviewing experience will be invaluable. If you do get the job, you will find you’re going to learn more with on the job training then you could ever had on your own! And remember, those job ads you see posted are just wish lists! Don’t be afraid to apply! The rule of thumb here is 80/20. If you meet 80% of the qualifications, you qualify. Depending on your area..it could be less!

Here is a quick short story of my actual experience. I took an Angular.js tutorial and built a very small web app (Yes, you can find it on my GitHub). Soon after I saw a rare Front-End job posting on Indeed for a developer with JavaScript and Angular (it was a mid-level position). I say rare because around my area Front-End developers are really designers with basic coding skills. This area is heavy on full-stack or back-end languages. Anyhow, I applied. I got a phone call for an over the phone interview which asked me 25 JavaScript questions. (Thanks to JavaScript: Understanding the Weird Parts by Tony Alicea) I passed easily. The next step was to do an Angular coding project. They sent me a project by email and I had 48 hours to return it via my GitHub account. Well, sadly my Angular skills weren’t that great and I couldn’t complete the task at the time. What I did get though was an actual interview coding project! How valuable is that to have! Right then I knew the level of where my skills needed to be for a mid-level position!

Caveat: If you feel you’re just not up to taking work at this point, it’s okay. The next best step (and really you should do both) is to join an in-person group in your area. Yeah, you actually do have to leave the house sometimes. These groups will allow you to meet other developers and find mentors, side projects, etc. Along with these in-person groups, make sure you join Newbie Coder Warehouse on Facebook. This is a great community for all developers!


I realize this has been a really long article and I want to thank you for reading!

If you have any questions or comments, please contact me on GitHub or at brian.hankins.web@gmail.com

<Brian Hankins />


**Please know that I am not a representative or an affiliate with any of the above links. The content above is provided for educational and informative purposes; are solely my personal recommendations. Therefore, I do not make any profit from you by visiting the linked content or any purchases from those links**