Sometimes I find it hard to believe I’ve managed to land myself in a job where I get to learn something new every. Single. Fucking. Day.
If I was going to describe my dream job prior to this, I would’ve said something like this, maybe if I was lucky. But I always thought that “new things” was something you had to dole out, maybe get a couple a month.
But every day? This is pretty amazing.
Yeah, that’s it.
It’s been a very long time since a job has had me alternating between “I don’t know what the fuck I’m doing” and “This stuff is fucking awesome!” so quickly.
But this place rocks :)
Work has me doing a lot of stuff with REST services developed using the Spring framework. We’re using REST Assured to do the testing of the services even before we get a UI layered on top so I’ve been learning quite a bit.
Spring provide a handy set of guides and seems to be a nice, out of the box solution to all your RESTful needs. Granted, I don’t know if it’s the best solution to my problem., but it’s something I work with day to day and I’m familiar with it. I’ll use Gradle to build the project (because omfg it’s so much better than maven) and then layer on a front end once I can get the service playing back and storing data.
I wrote this while I was getting the hang of using git in my current role. Over time I’ve added to it but to be honest, I rarely have to refer to it now.
If you’re wondering at the shorthand ‘g’ rather than ‘git’ it’s because I use oh-my-zsh with the git plugin (the dev VM I use at work runs Ubuntu and it also plays nice with OS X. Windows users can suck it). You can get a similar result by aliasing git commands.
If you don’t know those two, stop reading now.
You need to be a bit careful with these as adding lots of them can really slow Sublime Text down.
I found this list of handy addons while looking around for a way to get grunt running from within ST. It starts off with installing the excellent Package Control which makes installing and managing addon packages sooooo much easier. Trust me on this. I found it only after an annoying process of manually installing an addon. With Package Control those days are gone for good.
Now that was a weird sentence to write.
Found this problem while trying to get Bower to work with yeoman on Ubuntu. Turns out it’s the fun corporate proxy here but the problem isn’t insurmountable.
After installing jumping into the application directory and installing Bower with
sudo npm install bower -g
attempting to run
produces a bunch of connection related errors.
Find the port you’re proxying through by
env | grep -i proxy
Now that the port is known, edit .bowerrc in the application directory
and add the following
"proxy" : "http://localhost:<port>",
"https-proxy" : "http://localhost:<port>",
Save the .bowerrc file, close it and re-run the bower install.
Names? Who needs names?
Three days here so far and I’m having a blast. Not honeymooning (too cynical now) but there’s a lot to like:
- Practical use of git
- New tools like Gradle (whatever happened to Maven?)
- New concepts e.g. contracts testing
- More technical testing than I’ve ever been able to do: automation, BDD, security, API’s
- Many things being implemented and trialed
- Angular and Protractor
- Little “a” agility
- Walls with cards, stories being progressed, get togethers around whiteboards to clarify things, developers, testers, designers and BA’s excited about what they’re doing and enthusiastic about overcoming challenges
In short, much more to learn in an environment I’m more comfortable in (agile) which makes me a happy tester :)
Any PM – or anyone else for that matter – telling you just how awesome waterfall is as a development methodology clearly isn’t paying attention. Experience of the last 50 or 60 years in software development aside, one only needs to look at the paper that supposedly proposed waterfall as a working model to know that the process was a pile of suck from the beginning.
See, a guy by the name of Winston Royce wrote a paper titled “Managing the Development of Large Software Systems“. Go read it. It’s worth it. In the paper he describes exactly why this process is complete balls. Even though he never actually names it as waterfall, it can be clearly seen as such from the diagram.
I find it funny that there has been industry wide adoption of a process that was demonstrably inadequate to the task of building software.
Apparently DSDM Atern is an Agile implementation.
I really have no idea how this could ever be considered aligning with the agile values and supporting principles. Seems more waterfall with smaller iterations rather than agile. Which is fine, just don’t say it’s agile, particularly when you have as a guiding principle “Demonstrate control” that includes the gem “use an appropriate level of formality for tracking and reporting” then I’m pretty sure you’re #notAgile.
Apparently it’s all the rage among big corporates, with 1% of all those surveyed saying . . . Wait, what? One percent? One. Percent. So it’s right up there with the Agile Unified Process and agile modeling. And slightly lower than the category of “Other”.
One of the things about facing the imminent end of your current employment (contract’s not being renewed as the role I’m in is effectively redundant) is that you know you’re not going to be there to help out the people you’ve been helping out for the last year. In light of that harsh truth, I started putting together a list of useful testing resources, things to read, even things that aren’t specifically related to testing but have proved useful to me at various points of my career.
The list won’t be useful to everyone and I don’t recommend going and buying every book on it. This is just what I’ve collected over time. If you have any to add please feel free to say so in the comments section.
- The Little Black Book On Test Design – If you’re testing something new, read this if you get stuck for ideas. Even if you’re not read it anyway
- Lessons Learned in Software Testing – Can’t recommend this highly enough. Do not consume all at once though. Bach, Pettichord, Kaner. Suggest you get to know those names
- Tacit and Explicit Knowledge – Not specifically about testing, but very useful all the same
- An Introduction to General Systems Thinking – Gerry Weinberg. If you don’t know who he is, time to learn. Learn to look at (not just software) components as part of a larger whole. Business processes, human interactions, value drivers are all part of a larger system
- The Black Swan: The Impact of the Highly Improbable – This and the follow up Anti-fragile: Things that Gain from Disorder by Nassim Taleb aren’t specifically related to testing but are extremely valuable. The prose can be a bit heavy at times but both are excellent reads
- The Secrets of Consulting – Gerry Weinberg again. Can’t overstate how useful this is; everyone should have a consultative mindset, even if you’re not consulting
- Agile Testing: A Practical Guide for Testers and Agile Teams – Written by Lisa Crispin and Janet Gregory who really know their shit when it comes to the craft of testing and how it works with agile. There’s a follow up work that I haven’t read yet
- Perfect Software and Other Illusions About Testing – Weinberg again. Seeing a pattern?
- The Mythical Man Month – Should be required reading for anyone involved with the building of software, particularly PMs
- Experiences of Software Test Automation – Some pretty interesting case studies that might serve as a warning to others
- The Leprechauns of Software Engineering – Debunks a lot of the myths in our industry, like the cost of defects relative to when they’re found (hint: the ‘fact’ is total bullshit)
- Lean Software Development – An Agile Toolkit – First published in 2003, still relevant. Easy to read and full of practical tips
Stuff that’s related to Agile and Scrum that you might find useful, even though the journey there will be difficult
Technical stuff that I enjoyed reading that wasn’t specifically related to testing
- Introduction to the Command Line
- The Phoenix Project (fiction but a great read)
- Practical Lock Picking
- BackTrack 5 Wireless Penetration testing Beginner’s Guide
- Metasploit: The Penetration Tester’s Guide
- Nmap Cookbook
There’s a bunch of stuff that I’m yet to get around to reading from a few authors who interest me. These are mainly about techniques used to eliminate waste at a number of levels, from software development to pointless management bullshit. The following authors may be of interest to you too:
If you end up leading or managing people please, I beg of you, ensure you know the essentials of the above. It might help make the next generation of
leaders management types a little less dense.
My next trick is to post up a bunch of useful links, though the blogroll is a good place to start. This will include blogs, Twitter accounts, etc. that will give you insight into the craft. Some you may know, others may be unfamiliar.