loading...

Certifications I'm considering, as an experienced software engineer

scalawilliam profile image William Narmontas ใƒป3 min read

In building more and more open source projects spanning the full project lifecycle, I am appreciating the importance of structured business requirement analysis, architecture, software testing and project management.

I am already more than an engineer, with experience in all of these things but as a secondary concern without any formal knowledge. But it's precisely the secondary skill-sets that need some formal backing, and not the primary ones - because there's already a mountain of evidence of my skill in the primary ones.

I want my secondary skills to enhance my primary skills, with formal and certified method. In some environments, such formal badges are a big plus. Why?

For example, the team that I work with in Singapore (a country where authority really matters) is made up of PhDs who appreciate both formal knowledge and experience. In Scala engineering I have a lot of experience so I've no problem arguing my case, whereas in my secondary skills I have less focused experience and no formal backing. In discussions, I myself am not sure whether I'm putting the right arguments. Authority is important, and when backed by both by formal method and experience, is very impactful.

Thanks to my coworkers I've learned to prepare for arguments and became better at answering the "Why?". This prepares me well for the future of developing excellent products for myself and others.

Requirements

  • No training courses required, can self-study, whenever I want and for how long I want.
  • No work experience of that specific field required, with minimal bureaucracy.
  • Can be taken at test centres at around the world, like Pearson VUE.
  • Membership not required and renewals have a reasonable cost.
  • Recognised enough but does not have to be popular.
  • Entry level is enough, since they are only secondary skills.

But why not take it all the way? Well, law of diminishing returns. From experience, when people get things wrong, most of the time it is at the basic level. Like instead of acceptance criteria or tests first, they start with writing the code. Basic level is more than enough in probably a good 90% of the cases.

Certifications I found

Here are some certifications I found that match the criteria.

Business Analysis

I found the following sites:

From this,

I also found:

Software testing

From this,

Architecture

From this,

Other

What I'll choose

Still thinking about this. I notice they're still quite niche, and are more like components of the bigger picture, which is delivering products to users. Perhaps I need to look at something closer to the user, to product ownership and product development.

Discussion

pic
Editor guide
Collapse
scalawilliam profile image
William Narmontas Author

Excellent questions, thanks! I updated the post to some answer of them for you :-)

Udacity, Coursera, university programs are courses, and I explicitly do not want courses. I can teach myself from rigorously organised facts.

I tried Udacity and Coursera and became frustrated very quickly with the amount of context switching between reading, videos, quizzes, deadlines, assessments and the like - it really felt like University where you're being held by the hand.

In future when I'm discussing with a colleague about testing and he conflates integration testing with system integration testing, how can I disambiguate?

Point him to an online course which he needs to sign up and pay for, and eventually receive a definition? For example, take a look here and tell me how much content they offer: udacity.com/course/software-testin... - or coursera.org/learn/uva-darden-agil...

Now take in comparison ISTQB, the specialists in testing. They openly provide the exact requirements for you to qualify as well as things like glossaries, such as this one: astqb.org/documents/Glossary-of-So...

To me there is little value in these courses because I've already got the experience, and because I cannot refer to them as an ultimate reference or authority.

The signal is that I have rigour in the stuff that is my secondary occupation, and that is enough to counter 90% of the cases where people get stuff wrong: at the basic level, at the definitions.

Hope that clarifies :-) and many thanks for your question - it contributes to writing better content in future!

Collapse
codeofthedamned profile image
Paul M. Watt

I've read your post twice and I'm still unclear what your ultimate goal is. I do think its an interesting topic to discuss. I also believe that any degree or certification is only as good as how much the institution is respected.

I love self-learning and I think its a valuable way to spend time. However, without the direction of a mentor you risk dismissing important concepts because you don't always have enough context to determine its relevance.

Something else to consider is that earning a certificate in a skill generally does not indicate proficiency in that skill. It does indicate the ability to demonstrate the knowledge related to that domain.

Take software testing for example. It is typically possible to adapt to missteps that occur early in the project and self correct applying some strategies learned from books or certifications. But if you inherit an existing project and don't have the luxury of starting from scratch, experience with solving a variety of different problems is typically what will determine the success the project.

Another example, just because someone knows all of the syntax rules to a programming language does not mean they will be able to use tgat language proficiently.

I would advise that with any path you choose, follow up your certified skills with lots of practice under the guidance of someone more experienced. Your learning will progress much more quickly, and more experienced mentors have a way of humbly teaching us how little we really know with respect to a topic.

Collapse
buinauskas profile image
Evaldas

Totally out of topic. Is your last name Lithuanian? ๐Ÿ™‚