I'm graduating in a couple of years, and I would like to find some project ideas.
I've done some web programming in the past, but gradually I became more interested in the operations side of things.
But unlike apps, I'm not sure how to showcase a particular "devops project" to future employers. I've used docker/vagrant for local development, ansible for configuration management, jenkins, etc. But these aren't necessarily something I can talk about hours on end.
I'm planning to find a devops internship position, but until then, is there something I could work on?
First things that come to mind:
- You can create puppet modules, Chef recipes, SaltStack formulas (not familiar with Ansible but sure as hell has similar features)
- You can get certifications (Chef, Puppet, SaltStack, Ansible, etc.)
- You can get DB certifications and write your experiences about master/slave configurations, etc.
- Orchestration and schedulers tools, k8s, mesos/marathon.
- You can get certified for AWS, GCE and Azure.
- Became proficient in Bash, Fabric/Capistrano. Display some automation scripts on your blog/github-repo. Can you configure a firewall to fetch a list of IPs (say porn websites) from the internet and block or redirect access to these IPs using bash?
- Study distributed systems, replication, possible problems (split brain, etc.). How does consul/etcd/zookeeper reach consensus. When to use one tool over another, why not use Redis instead of consul?!
- Study big data on Coursera (hadoop/cloudera/HDFS/MapReduce)...
It's a never-ending story. Just take a look at look[1] at what companies are requesting. A devops should be able to write code (with varying degrees of expertise) and understand architectural/design challenges. I'm not saying you need to know everything - you can't, there are simply too many tools around - but you have to learn at least some of them and you can explain what you learn via blog posts or github code.
[1] https://weworkremotely.com/categories/6-devops-sysadmin/jobs...