/FAQ

A list of frequently asked questions by the community

Apache License 2.0Apache-2.0

This FAQ is WIP

We are still working on this. If you wish to contribute, check out Contributing

Who are Deengineers?

Answer: We are ...

What do we do?

Answer: ...

What's the logo, are those tablets or books?
  • The logo is 2 keyboard keys, one being clicked on (as represented by the click effect)
  • And if you look closely there is a crescent on the key being clicked (which represents Islam first)
  • And the other key has a code icon (so tech second)

CV

Can you give me some CV tips?

How to write projects on your CV:

  • Summary (summarise in a line or two what was achieved)
  • Impact (Was the result scalable? highly available? etc)
  • Technologies (Mention specific cloud or other technologies used)

This creates a coherent, concise, and dense paragraph for each project. Keep it to no more than 4 lines.

Example:

3-Tier Python App Hosted on Azure App Service Deployed w/ Azure DevOps Pipelines



How to write points for your work experience section:

  • Specific - Mention a very particular situation/case/ticket/project you worked on: "Configured Multi-Factor Authentication for 10,000+ employees"
  • Impact (The result/outcome. This can be combined inside the specific point)
  • Past tense (All experience points should be written as (if) you have DONE them. Change "Creating, Producing..." -> "Created, Produced..."
  • Verbs at the beginning of each point (see above^)
  • Technologies (i.e. Buzzwords - this one is for the recruiters. Recruiters search for profiles (CVs/Linkedins) by key terms from their clients. Terraform, AWS, etc. Name particular technologies throughout your experience points: "Designed an Azure DevOps Board for team-wide task management, replacing shift report")

Some examples:

Assisted Multi-factor Authentication implementation company-wide (piloting, user rollout and troubleshooting common MFA issues). Automated the remediation of FRS service for DCs (post-script PowerShell onAzure Site Recovery - Failover Recovery Plans). Successfully introduced ARM template validation in CI/CD pipelines (before) deployment to Azure.


How to write profiles:

  • State your role and company: "Azure Engineer for DPD Global."
  • State your top 3 technical skills: (with key technology buzzwords): "Skilled in Azure administration, ARM and Azure DevOps."
  • State 3 technologies you want to build skills in: "Interested in building skills in Kubernetes, Terraform and Ansible"

Example:

"Azure Engineer for DPD Global. Skilled in Azure administration, ARM and Azure DevOps. Interested in building skills in Kubernetes, Terraform and Ansible."

That is all you need. Recruiters and hiring managers are lazy and must go through a bunch of CVs. Get straight to the point and mention everything without a wasted word or letter. No one needs a heartbreaking story. Also, you will save space for points in later stages of your CV.

Rule of 3 is a great writing technique you may remember from English classes. Only include buzzwords from jobs you're looking to apply to.

So, for example, if a person want to go into an Azure Engineer role, then they should highlight skills that they're good at that fit that role. Additionally, recruiters search for CVs and profiles based on keywords. In the final section of a CV, mentioned at least 3 technologies for the job roles that are being looked at. If, for exmaple, the role mentioned Terraform, then that should also be mentioned in the interest in build skills in section on the CV.

AVOID:

Cliches - >"I am a hardworking, passionate individual..."

This does not add much if it is not backed up by evidence.

Waffle

"A calm and pragmatic negotiator capable of adapting to last minute change..."

Avoid big words and keep the reading level low and it makes for an easier read for a busy recruiter!

Too general

"...including creating background operational processes which are critical to the success of large-scale high-profile events."

Where's the example? Point is you wouldn't have space for an example. The example is required, otherwise it's useless. Plus you can explain these things in an interview / work experience section.

Where can I find some other tips? Check out this reddit thread - https://webcache.googleusercontent.com/search?q=cache:vUt_3xmP9AAJ:https://www.reddit.com/r/cscareerquestions/wiki/faq_resumes/&cd=2&hl=en&ct=clnk&gl=uk
What CV layout should I use? Deenengineers recommends using a CV building website such as https://flowcv.com/ for a clean, simple and easy to read layout.
How many pages should my CV be? Ideally **one** but no longer than **two**.
Where can I see some example CVs? Check out this reddit thread - https://www.reddit.com/r/cscareerquestions/comments/e8narz/official_excellent_and_exemplary_resume_sharing/

Salary and Career Progression

What are the realistic salary ranges we can get in tech in London?

It can range, starting anywhere from 28k for an entry level role, up to 120k for a lead role. Below are the ranges and how long it will take you to get to each level:

  • Entry (0-4 months): 28-35k
  • Junior (1 year): 35-50k
  • Mid-level (1.5-2 years): 50-70k
  • Senior (3-5 years): 60-90k
  • Lead (4-6 years): 90k+ The ranges vary depending on roles – but these are the rough market conditions.
It feels like it’s harder for Junior/Mid level people to get roles, has the market changed?
  • The market is quieter than it was, but there are plenty of roles still out there, so if you’re not getting any interviews, then you’re doing something wrong. Here are some common things you could improve on:
    • Resume: Do you have something on your CV to make your standout? Like a personal Tech Blog, 3 cool projects? Good layout (this is very important – a bad looking CV won’t get looked at quite frankly)
    • Projects: You can’t expect to get a role if you have weak projects on your CV. Make your projects more interesting, here are some DevOps examples and how you should word them:
      • Subnet Calculator using Python
      • Rolling Update Simulator with Ansible
      • Dockerised Microservice Load Balancer
      • Serverless Data Pipeline with AWS Lambda and Kinesis
    • Jobsites: Get on jobsites (hackajob, totaljobs…)
    • Linkedin:
      • Get active on Linkedin (Recruiters find you if you are active)
      • Open-to-work on your LinkedIn profile
      • Having a professional LinkedIn profile (professional headshot – you can do this at home, fill out your whole profile, get some recommendation from people you’ve worked with)
How is the jump from junior devOps to mid level, when do you make the jump?
  • There’s no right or wrong answer to that. It depends solely on you and how you spend your time. You can get there in 1 year, or 2 years. But you’ll get there faster by doing the below:
    • Continuous learning: Pick up a new AWS/Azure/GCP service every week and see how it can benefit the firm you’re working at. Even if it’s something that is never used by the firm. This alone will get you noticed and make you stand out.
    • Blogging: Start blogging about your discoveries and how the services can help businesses. Once you get a few out, link them to your LinkedIn profile.
    • Mentorship: Mentor juniors – this will solidify your knowledge
    • And one big one, is to not be afraid to ask questions and throw yourself in the deep end. Try and get as much real-world experience as you can. This will give you confidence.
With the rise of it becoming an overwhelmingly saturated career, what role and what’s the best value in terms of career, especially with the pandemic and a lot of people made redundant due to technology?
  • Cloud and DevOps will always be around and embedded within all fields
  • AI and Machine Learning will soon pick up fast
  • Software Engineering in general - if you’re already in the field (Frontend and Backend Engineers will always be needed at all stages)
  • Cybersecurity
  • DevSecOps is picking up at a fast rate

But the best answer to this question, is being an expert in your field, continuous learning, and adapting to the market is your best career route. Don’t expect to sit comfortably in one role - you need to learn to pickup new tools every so often.

How important is Linux in Devops/cloud roles?

It’s the first thing you should learn. One of the fundamentals. Reasons:

  • Industry Standard: Most cloud servers run on Linux; knowing your way around is essential.
  • Scripting & Automation: Linux's shell scripting enables automating repetitive tasks.
  • Security: Linux's user permissions and security model is fundamental in cloud environments.
  • Containers: Docker, Kubernetes, and other container technologies primarily use Linux.
What advice do you have for an aspiring data engineer?
  • Learn Fundamentals: data structures, algorithms, and object-oriented programming. Proficiency in a language like Python is often necessary.
  • Learn SQL: SQL is the language of data - you'll use it to query databases, so proficiency is a must
  • Databases: You should understand the ins and outs of both relational databases (like PostgreSQL or MySQL) and NoSQL databases (like MongoDB).
  • Distributed Systems: Knowledge of distributed data processing frameworks like Apache Hadoop or Spark is important due to the scale of data you'll often work with.
  • ETL Processes: Learn about ETL (Extract, Transform, Load) processes as they are fundamental to moving and transforming data.
  • Cloud Platforms: Familiarize yourself with cloud services (like AWS, GCP or Azure) and their data services, as many companies store their data in the cloud.
  • Data Pipeline and Workflow Tools: Tools such as Airflow or Luigi are commonly used for constructing and managing data pipelines.
  • Keep Up-To-Date: The field of data engineering is constantly evolving with new tools and best practices. Continuous learning is key.
  • Hands-On Practice: Apply your skills in projects that challenge you to extract, transform, and load data, perhaps combining several different data sources.
  • Networking and Community: Join data engineering communities online or in-person. Engaging with others in the field can help you learn from their experiences, get advice, and discover job opportunities.

Mental and Emotional Well-being

How do you overcome imposter syndrome when getting a job?

You have to first remember that imposter syndrome is a deceptive feeling, not a reflection of your capabilities. Best way to overcome it is to throw yourself in the deep end. You’ll later realise the only thing limiting you was yourself.

How can someone making a career change best discover what area of Tech I like most? Through a boot camp/free online resources or through networking in the discord and pinpointing areas of interests
  • All the above.
    • Free Courses on YouTube: Watch these free YouTube videos to gain exposure to various fields and choose the one you think you’ll enjoy most
    • Hands-on Projects: Apply learned concepts to real-world projects; this often highlights what you enjoy most.
    • Discord: Network with people who are in these fields on what they do
    • Tech meetups: Meetups are the best places to get insights
  • What all these have in common, is being proactive and seeking out.
How do I stay motivated in the tech industry?
  • Motivation often comes and goes; what's more important is discipline. But here are some tips to stay motivated:
    • Find a mentor or a group of like-minded individuals. This can help push you and also provide a sense of accountability.
    • Regularly set short and long-term goals. Track your progress.
    • Engage in side projects that you are passionate about. This can reignite the passion for coding and tech.
    • Attend conferences, workshops, and meetups. Engaging with the community can be a source of inspiration.
    • Remember why you started in the first place. Revisit that reason when you're feeling down.

Job Application Strategy

Any advice for sisters trying to get a role in tech?
  • Find a mentor already in the field (especially the sisters from the Sisters server), who can provide guidance. The rest is the same:

    • Find a Roadmap for the field you are trying to get into, and follow through
    • Continuous Learning
    • Build up on 3/4 projects around the tools learnt
    • Prepare a resume using a CV tool like flowcv.io
    • Get feedback on each step with your mentor (if you have one)
    • Your CV should have elements to make you stand out.
    • Blog
    • A nice GitHub profile filled with your projects (give them nice READMEs)
    • A 3-line profile of who you are, your professional experience and your 3 projects well laid out and to a sufficient level of detail.
    • Apply to active roles with your new resume that makes you a stand-out Engineer
    • Best way is to put your profile on job sites (like hackajob, totaljobs…)
    • The key is to apply to 20-100 companies
I want to get into DevOps but not sure what type of course I need to cover it. Is there any roadmap?

Yes, the roadmap is on the Discord server in #devops-resources - and a bigger more complete one is on its way

What would you suggest to someone who keeps getting rejected/ghosted? Should they focus on project or just keep applying?

If you’re getting constant rejections, it’s time you did something different. Look at Question #6 and #7

Any advice on landing a role after an internship (in data science/ Machine learning)

See #3

How far into the devops pathway should you start applying for roles?

After you finish the fundamentals (Linux, Networking, AWS/Azure, Docker), have a cert and 3/4 projects under your belt, then you should be ready

Skill Development and Learning Pathways

How much should you focus on soft skills vs technical skills as a developer?
  • Soft skills are as important, if not more important than technical skills. Many people underestimate this, but here's a breakdown:
    • Early in your career (Junior): Focus more on technical skills. That’s not to say ignore soft skills, but at this stage, you want to build a strong technical foundation.
    • As you become more senior: This shifts. While you'll still be technical, your role will involve more interactions with teams, stakeholder management, mentoring juniors, etc. Soft skills become crucial.
    • Technical Leadership roles: At this point, soft skills might take precedence. Being able to communicate effectively, handle difficult conversations, negotiate, and understand the business side of things is key.
    • Overall, always be aware of the importance of both and work on them simultaneously. Remember, you can be the best coder, but if you can't work well with others or communicate your ideas effectively, it'll limit your growth.
How do I progress in my career? I have landed my first role and have some experience under my belt but I am not progressing. If you’re not progressing, it means you’re not doing anything additional to supplement your career growth. Your job alone is not enough. You need to be proactive outside of work.
  • Start a blog
  • Contribute to open source projects
  • Get certifications
  • Do complex projects
  • Teach others or mentor
  • Be apart of tech servers and actively engage with people who ask questions
  • THEN, apply for the NEXT role
Are you able to explain how you would target your learning at a new role, that uses a stack you’re mostly unfamiliar with?

Here are the steps:

  1. You watch tutorials on the tools you’ll be working with
  2. Pair-programming: Pick up a ticket and pair up with a Senior Engineer (the ticket doesn’t even have to be in your name - just ask the Engineer to do it with you and explain their thought process)
  3. Do a personal project that is duplicates the tools you use at work
  4. PR reviews - go through these PR reviews
  5. Ask ChatGPT
What kind of skills do you need if you’re interested in automation? Is there a roadmap?

Automation is pretty vague, but in the context of DevOps, here’s what you can learn:

  • Basic Programming Knowledge
  • Understanding operating systems, especially Linux, and the Bash shell
  • Version Control systems and how they work
  • CI/CD: GitHub Actions for example
  • IaC: Terraform
  • Ansible for Configuration Management
How do you get good at data structures and system design?
  • Start by learning the basic data structures - arrays, linked lists, trees, graphs, stacks, queues, hash tables, and heaps. Understand their properties, how they are implemented, and their time and space complexity.
  • Practice coding problems using these data structures on platforms like LeetCode, HackerRank, or CodeSignal. This will help reinforce your understanding and improve your problem-solving skills.
  • Understand the principles of good system design like modularity, loose coupling, high cohesion, scalability, reliability, and security.
  • Study the architecture of existing systems - both successes and failures. Websites like the High Scalability blog have many good case studies. There are LOADS of system design books - follow Alex Zu (ByteByteGo) on LinkedIn and check out his System Design blog
How do you improve your end to end delivery skill, as in my case I am an apprentice and what I struggle with is how fast I get either tickets or projects done fast enough?

This is just because you’re still early to the field. Best thing to is continous learning and personal projects, as well as:

  • Time managements
  • Break down big tasks into smaller manageable chunks
  • Don’t be afraid to ask for help (and learn from what help you get)
  • Prioritise, and don’t focus on too many things at once
  • Avoid context switching
What’s the difference between Git and GitHub?
  • Git is a version control system that lets you manage and keep track of your code history
  • GitHub is like a public library where you can store your projects (using Git) and also collaborate with others.

Community and Networking

Any advice for those who are trying to get into non-technical tech roles? e.g project management

We are a tech server, so not best placed to answer this question.

How can one manage their time well enough to seek Islamic knowledge, pray Fajr and Isha in the mosque (especially in the summer time) and excel in their work during the day time?
  • Keep Qur’an as a close companion - it increases the barakah (blessings) in your time
  • Do your additional activities in the early hours of the day (5-8am): These are blessed hours
  • Du’a: Constantly ask Allah to put barakah in your time
  • Finally, have a schedule/calendar and plan your days
Can I ask for training for certain software like tableau etc? Also are there any one-to-one sessions or a buddy system to help people learn or prepare for jobs etc?
  • 1 - You can find courses on pretty much anything online - check YouTube
  • 2 - Reach out to Raihan (@RaiOps on the brothers server), and Zaynob on the sisters server
How do you balance work with extra cuticular activities?
  • Prioritise: Make sure you only do the important things, and don’t do more tasks than you can at work
  • Schedule: Have a schedule/calendar and try your best to follow it
  • Take care of your health: Exercise, sleep, healthy eating habits etc
Why did you kick everyone out of the WhatsApp group?

We didn’t kick anyone out, we just took a group field trip to Discord. Discord offers features better suited to large groups, like distinct channels for different topics and better moderation tools.

Interview

Other questions and links