Sign Up for Full Stack Sessions => Full Stack Automation with Ruby
- GIT / github —You HAVE to know how to share code on github. GIT is first on the list because writing Full-Stack Automation Code for yourself is not going to make you very much money. Check out these “How-To Screencasts” & Try Git
2. Programming Language — WebDriver works with [ Java, C#, Python, Ruby, Perl, PHP]. Pick one of these languages and learn how to work WebDriver with it. If you are a noob to programming and interested in the Ruby language, I strongly suggest the Ruby Programming Book & Try Ruby.
3. Web Development Framework — Learn all the layers [ Model, View, Controller ]. A good friend of mine showed me this video on January 19th, 2006 in a conference room and I decided right then and there that I was going to teach myself rubyonrails. Learning Rails was convenient for me because of all the screencasts I found on the internet that I would watch over and over at night and on weekends. I’m not saying you have to learn Rails. There are a ton of open-source frameworks out there. You just need to know the common (MVC) layers that make up these frameworks. It is kind of hard to be a Full-Stack Automation Engineer without knowing what’s in the Full-Stack. Here is a quick (3min) DEMO on some of the basics of MVC automated testing.
4. SQL — A Full-Stack Automation Engineer has to know how to speak database.
Get GREAT at:
Get GOOD at:
Google — I sometimes kid and tell people I have a degree in ‘Google+Stackoverflow’. Seriously, whenever you come across an Exception Error or ‘code-block’— GOOGLE IT. Someone most likely will have asked the same question in a forum somewhere on the internet. Just scroll down and look at the answers. If you can’t find an answer to your problem, POST a question to the forum yourself. You need to have thick-skin to become a Full-Stack Automation Engineer and ask a lot of not-so-smart questions on the internet.
RVM (Ruby Programmers) — A command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.(This really falls between Get GREAT at: and Get GOOD at: for any rubyist) rbenv is another option.
Project Management Tools — Software requirement tracking is difficult but these products tend to be pretty good at it. [ PivotalTracker, Jira, tinyPM ]. You will usually find out what needs to be automated from Project Managers, Developers and QAs with these online resources.
SSH — You’re going to need to be able to grep cloud server logs and query data from the databases up there.
Get Out There!
Attend Conferences: It is very important to network with real live people and not just user_names in chat rooms. If your company won’t send you to a conference you think you should be at — invest in yourself — Take the PTO and go anyway. I do this a lot.
Give Talks: I am by no means a public speaker. However, I’ve forced myself to do it and kinda look forward to it these days. I recenlty shared talks at NYC Selenium Users Meetup, barcamproc and barcampbuffalo. This practice will boost your confidence tremendously and force you to learn all the little details.
“Know your Craft.” — Quincy Jones
Blog/Tweet: Make a screencast of some of your automation bits and share it with the internet. Don’t forget to include #automated #testing #buzzwords and #hashtags. Believe me, your peers from around the world will find you. Go buy Jab Jab Jab Right Hook by @garyvee and really understand how social media works!
Join the local tech meetups: Find people near you who are like you and excited about tech. They don’t have to be Full-Stack Automation Engineers, but there is a good chance one of them is looking for one.
IRC — join the virtual discussions. I’m currently using the collolquy client to connect with the selenium and cucumber channels. I don’t say too much there but the open-source people that built the tools I use are in there talking to each other. Pay attention!