From Backend Engineer to ‘Figure-It-Out’ Engineer – 4 Days at a Startup

Listen to this Post

In the fast-paced world of startups, roles are often fluid, and responsibilities can extend far beyond the initial job description. Abhishek Saini, a Cyber Security Specialist with over six years of experience, shares his journey of transitioning from a Backend Engineer to a multi-faceted ‘Figure-It-Out’ Engineer at a MedTech startup. His story highlights the challenges and rewards of wearing multiple hats in a startup environment.

Key Challenges and Solutions

1. Lack of Documentation:

Abhishek faced the daunting task of navigating a large codebase with minimal documentation. This is a common issue in startups where rapid development often takes precedence over thorough documentation.

Solution:

  • Use `grep` to search through files for specific keywords or functions.
    grep -r "function_name" /path/to/codebase
    
  • Generate documentation using tools like Doxygen or Sphinx.
    doxygen -g Doxyfile
    doxygen Doxyfile
    

2. DevOps Responsibilities:

As the de facto DevOps engineer, Abhishek had to manage infrastructure and deployment pipelines.

Solution:

  • Automate deployments using CI/CD tools like Jenkins or GitHub Actions.
    name: CI/CD Pipeline
    on: [push]
    jobs:
    build:
    runs-on: ubuntu-latest
    steps:</li>
    <li>uses: actions/checkout@v2</li>
    <li>name: Run tests
    run: ./run_tests.sh
    
  • Use Docker to containerize applications for consistent environments.
    docker build -t myapp .
    docker run -d -p 8080:80 myapp
    

3. Security Concerns:

With no dedicated security team, Abhishek had to ensure the system was secure.

Solution:

  • Perform vulnerability assessments using tools like Nessus or OpenVAS.
    openvas-start
    openvasmd --rebuild
    
  • Implement Access Control Lists (ACLs) to restrict access.
    setfacl -m u:username:rwx /path/to/directory
    

4. Frontend and SysAdmin Tasks:

Abhishek also took on frontend development and system administration tasks.

Solution:

  • Use version control systems like Git to manage code changes.
    git init
    git add .
    git commit -m "Initial commit"
    
  • Monitor system performance using tools like `htop` or glances.
    htop
    

What Undercode Say

The journey of Abhishek Saini underscores the importance of adaptability and continuous learning in the tech industry. Startups, in particular, demand a broad skill set and the ability to pivot quickly. Here are some additional commands and practices that can help you navigate similar challenges:

  • Linux Commands:
  • Check disk usage:
    df -h
    
  • Monitor network traffic:
    sudo tcpdump -i eth0
    

  • Windows Commands:

  • Check system information:
    [cmd]
    systeminfo
    [/cmd]
  • Monitor network connections:
    [cmd]
    netstat -an
    [/cmd]

  • Cybersecurity Practices:

  • Regularly update your system to patch vulnerabilities.
    sudo apt-get update && sudo apt-get upgrade
    
  • Use firewalls to block unauthorized access.

    sudo ufw enable
    sudo ufw allow ssh
    

  • DevOps Automation:

  • Use Ansible for configuration management.
    ansible-playbook playbook.yml
    
  • Monitor logs using journalctl.
    journalctl -xe
    

In conclusion, the ability to wear multiple hats and quickly adapt to new roles is crucial in the startup world. By leveraging the right tools and practices, you can navigate the complexities of such environments effectively. Whether you’re managing infrastructure, securing systems, or developing new features, the key is to stay curious, keep learning, and always be ready to figure it out.

References:

initially reported by: https://www.linkedin.com/posts/flarexes_from-backend-engineer-to-figure-it-out-activity-7301946254903689216-yynO – Hackers Feeds
Extra Hub:
Undercode AIFeatured Image