DevOps, cloud technologies and business opportunities for Canada and North America
Hello Erol, can you tell us a little bit about yourself?
I started my IT career at the end of 1999, since then I have been developing, maintaining, managing IT and Digital Transformation projects. Some of the companies and brands I worked for in Turkey: Superonline Oyun, Sahibinden, Daha.net (Softcom Inc.), Memorial Hastanesi, Salamword, E-Fabrika, Turkcell, GncTrkcll, Avea, Vodafone.
Five years ago I moved to Canada and focused on working Cloud Migration and DevOps projects. I worked in a service as DevOps company called VMFarms for about a year, and then worked 2 years in a fintech startup (Nest Wealth). Then I joined Architech (Microsoft Open Source Partner of 2020), application development and consulting company, as Cloud & DevOps Practice Lead.
I have been leading many awarded projects for the USA and Canadian enterprises. Some brands I have worked for in the last 2 years: Telus, Rogers, RBC, TD, Airmiles, Canadian Tire, GS1 Canada, RotoRooter, ICANN, Orkestra. In 2021 I am starting to help some Startups in the USA to build their Canada-based teams.
And I have been a trainer on DevOps and Cloud Technologies and helping Canadian Newcomers to help land their first job under TDSB(Toronto District School Board) programs.
1. Erol, you are working as a DevOps & Cloud Architect, can you give us detailed information about your field?
A Cloud/DevOps Architect is responsible for converting the technical requirements of a project into the architecture and design that will guide the final product. Often, Cloud Architects are also responsible for bridging the gaps between complex business problems and solutions in the cloud. Other members of a technology team, including engineers and developers, work with the Cloud Architect to ensure that the right technology or technologies are being built.
2. So what should be done to draw a career path in this field?
If you are thinking of becoming a Cloud/DevOps Architect, you will ideally already have a strong background in cloud computing, networking, security, at least one operating system and a programming language. If you feel comfortable with most of the following concepts or at least some of them, then you are probably on the right track. The next step is to be competent in one of the big cloud providers.
3. Tasks of the DevOps & Cloud Architect
- Provide thought leadership in industry and to fellow team members across the business and technical project dimensions solving complex business requirements
- Drive scope definition, requirements analysis, functional and technical design, application build, product configuration, unit testing, and production deployment
- Regularly evaluate cloud applications, hardware, and software.
- Work closely with IT security to monitor the company’s cloud privacy.
- Demonstrate leadership ability to back decisions with research and the “why”, and articulate several options, the pros and cons for each, and a recommendation
- Lead the definition and development of cloud reference architecture and management systems
- Demonstrate knowledge of DevOps toolchains and processes
4. What is the difference between working at startups vs. big companies as a DevOps & Cloud Architect?
In startups, DevOps & Cloud Architect’s goals are to enable other business stakeholders to deliver quickly, cost-effective with all aspects. Mostly they will be experimenting and delivering frequently evolving tasks or projects alone.
On the other hand in big companies (enterprises), DevOps & Cloud Architect has specialized and limited responsibility and they need to communicate with other teams/engineers to deliver a certain set of tasks or projects.
5. Working in a software environment in Canada
Although the software industry here in Canada is not as developed as the United States, it holds good prospects for the future of the industry. Toronto-Waterloo corridor is the 3rd biggest technology hub in North America (after SF and NY). Because of the immigration process, most of North America’s biggest enterprises and startups are opening their subsidiaries in Canada to get benefit from skilled immigrants.
Canadian Tech companies rely on good planning, almost all of them practicing Agile or Scrum processes, they love to spend long hours on detailed plans. An engineer or a developer will be getting a crystal clear task definition when he starts his job, clear responsibilities, clear deadlines, clear deliverables. There will not be direct pressure but with the team spirit, you are forced to complete your deliverables on time. Personal time management, work from home or being sick are always understandable, you are always free to take care of yourself as far as you deliver. Additional contributions and skills are always rewarded, and new opportunities are always available to everyone.
6. Software development approaches from Canada and Turkey
I would like to list the biggest differences between Canada and Turkey
- Planning is a big deal in Canada.
- You can refuse unclear directions and expectations.
- It is OK to say NO!
- Agile and Scrum processes mostly followed, team capability is always tracked by metrics.
- You will be getting direct feedback from your peers or managers to improve.
- Code-review is important, there is no hierarchy in most of the teams.
- Canadian teams are sometimes so brave to try new technologies and tools.
- Most of the good work environments are startups, enterprises are like old school government institutions.
- Canadian companies love to polish every project with great marketing, simple software could become awesome/amazing with good marketing.
- The process is more important than products or services.
- It is OK to fail, but fix it immediately.
7. How does the recruitment process work?
The first job in Canada is always the hardest to get, because of the different format of resume and different format of presenting your skills. Canadian recruiters are always suspicious about newcomers’ skills and information because there is a lot of scam in the market such as fake certificates, diplomas. At the very beginning, they usually reject you because you do not have Canadian experience. That sometimes becomes a chicken-egg situation, but if you brush up your skills, update/rewrite your resume in a Canadian way, you will land a job.
The other important thing is starting from scratch in Canada, they need developers, engineers, designers but not leads, managers, directors, CTOs, CEOs. Your first couple of years will be always starting from the bottom, and then you can show your skills, competency and go to the top quickly.
Most companies and recruitment agencies are processing as the following
- Phone screening with a recruiter
- 1st round interview with a team member
- 2nd round interview with the team manager or all team.
- Formal written offer
In some cases, some companies could ask you to do assignments, code tests etc to avoid scammers as much as they can.
Resume writing is the most important item in the job applications, if you do not have a well-written resume, you may apply for 500 jobs and not get a single call. There are a lot of government-funded organizations to help you write a resume, do mock interviews.
8. What does a DevOps & Cloud Architect do a day in the life?
DevOps & Cloud Architect’s days are always 50% full of meetings because you need to get input and provide recommendations to other stakeholders. The rest of the day probably involves experimenting with some new technologies, helping engineers to try new technologies, infrastructure maintenance or fire fighting if there is an outage or a problem.
9. Which KPIs do you follow in a day?
- Service/System Availability
- Reliability (Mean Time Between Failure and Mean Time To Repair)
- Response Time
- Throughput & Capacity
- Scalability & Latency
- Cost (cost per customer, cost per service, total cost, cost predictions, etc.)
- Change Failure Rate
- Change Volume
- Customer & Support Tickets
10. If you give seven tips to DevOps & Cloud Architects what would be?
- Always try to use services to remove maintenance costs/burden (SAAS)
- Try to be Cloud Agnostic, do not vendor lock-in
- Always avoid a single point of failures
- Worst-case scenarios always happen
- Invest in yourself and training
- Don’t forget about security
- Don’t spend too much time to automate rare tasks
11. The development team wants five-lesson from you as their DevOps & Cloud Architect. What would you give?
- DevOps & Cloud Architect always need to see the full picture before making a call/decision.
- DevOps & Cloud Architects are responsible for integrity, stability, scalability and security that is the reason they seemed always biased to try things quickly.
- Automation, CI/CD is important for enabling teams to have self-service capabilities.
- DevOps is not a tool, it is a culture, we should all be onboard.
- Do not offer deploys on Fridays :)
12. Please tell me who is the worst person you do not want to work with?
- The “works on my machine” guy.
- This needs to be “in production now” guy.
- The “I don’t do…” guy. They don’t do production builds, they don’t do their own testing, they don’t build reports, they won’t write (or even review) documentation.
- And lastly, the guys don’t know how to learn or reach the information from StackOverflow/Google :)
13.How do you keep speed while products grow fast?
- I have a designated time in the day to just follow new technologies and study.
- Try to follow important people in the field from Twitter/Linkedin
- Listen to video classes while running some other errands or commuting. (Yeah, I just listen and do not like to watch.)
- Always trying to diversify my knowledge and skills. For example: when I pass a certification exam from AWS, I start working on equivalents from Azure and GCP.