Marek Pawlak
Senior Software Engineer
Experience
Senior Software Engineer
SoftwareMill
- Designed and implemented Ruby-based backend services using object-oriented and idiomatic Ruby practices to support scalable business platforms, resulting in stable and maintainable codebases
- Reviewed and refactored legacy Ruby applications using metaprogramming techniques to reduce duplication and improve extensibility across multiple domains
- Led code reviews focused on identifying code smells, anti-patterns, and test gaps in Ruby and mixed-language repositories, improving overall code quality standards
- Developed automated test suites with RSpec and Minitest integrated into CI pipelines, ensuring consistent verification of business logic before releases
- Built CI/CD workflows using GitHub Actions and GitLab CI to automate testing, static analysis, and deployment validation
- Implemented Docker-based development and testing environments to ensure reproducibility across engineering teams
- Collaborated with cross-functional teams to define coding guidelines and quality benchmarks for backend Ruby services
- Actively contributed production code while mentoring senior and mid-level engineers on Ruby best practices and maintainable design
- analyzed production defects using profiling and debugging tools to identify root causes and document technical debt
- Produced high-quality technical documentation describing system behavior, test coverage, and known limitations
- Worked with Python and TypeScript components alongside Ruby services to support multi-language system integration
- Participated in experimental projects involving AI-assisted development, including prompt evaluation and automated code generation validation
- Evaluated model-generated Ruby code for correctness, performance, and stylistic alignment with idiomatic standards
- Adapted internal engineering guidelines to new domains and evolving technical requirements
- Supported asynchronous collaboration workflows through clear written communication and structured documentation
Full-Stack Engineer
CMC Global Company Limited
- Developed Ruby-based backend features for business applications using clean object-oriented design and modular architecture
- Implemented RESTful APIs and background processing logic while maintaining high test coverage through automated tests
- Performed systematic code reviews to identify defects, refactoring opportunities, and missing test scenarios
- Integrated Ruby applications into CI environments using Jenkins and GitLab CI for automated testing and validation
- Built and maintained Docker images to standardize development and deployment environments
- Collaborated with QA teams to document defects, reproduce issues, and verify fixes in Ruby codebases
- Improved application reliability by profiling Ruby services and optimizing performance bottlenecks
- Wrote clear technical documentation for backend components, test strategies, and known technical constraints
- Contributed to frontend features using JavaScript and TypeScript to support full-stack delivery
- Maintained version control workflows using Git, including branching, rebasing, and conflict resolution
- Assisted in onboarding engineers by explaining Ruby conventions, testing practices, and debugging techniques
- Participated in internal hackathon-style initiatives focused on rapid prototyping and problem-solving
- Supported multi-project environments requiring quick context switching and guideline adaptation
- Ensured Linux-based deployment scripts and automation tasks were reliable and well-documented
- Collaborated closely with technical leads to align implementation details with architectural direction
Frontend Web Developer
TMA Solutions
- Developed and maintained web applications while collaborating closely with backend Ruby and Java services
- Reviewed frontend and integration code to ensure consistency with backend APIs and data contracts
- Assisted backend teams by debugging Ruby-related integration issues from the client perspective
- Used Git-based workflows to manage feature development and bug fixes across shared repositories
- Documented defects and implementation details to support long-term maintainability
- Worked in Linux environments using CLI tools for development, testing, and troubleshooting
- Collaborated with designers and backend engineers to translate requirements into working features
- Contributed to improving development guidelines and internal documentation practices
Summary
I’m a Senior Software Engineer with over 13 years of professional experience building, reviewing, and maintaining production-grade software systems across backend, frontend, and full-stack domains. I have a strong background in Ruby development, object-oriented design, code quality analysis, and test-driven development, combined with hands-on experience in CI/CD pipelines, containerized environments, and multi-language ecosystems. I’m highly comfortable working with complex guidelines, evaluating and generating code, reviewing large codebases, and collaborating on experimental and AI-driven initiatives that require precision, adaptability, and deep technical judgment.
Skills
Languages: Ruby, Python, Javascript, Typescript, Sql, Bash
Ruby Expertise: Object-oriented Programming, Metaprogramming, Idiomatic Ruby, Refactoring, Code Smells, Anti-patterns
Testing & Quality: Rspec, Minitest, Test Coverage Analysis, Test Automation, Ci-integrated Testing
Ci/cd & Devops: Github Actions, Gitlab Ci, Jenkins, Docker, Linux Cli, Automated Deployments
Ai & Llm Workflows: Code Generation, Prompt Evaluation, Model-assisted Coding, Benchmarking, Data Annotation
Architecture: Modular Design, Service-oriented Systems, Event-driven Patterns, Maintainability
Tooling: Git, Profilers, Debuggers, Linters, Static Analysis Tools
Documentation: Technical Documentation, Defect Reports, Test Plans, Technical Debt Tracking
Languages
Education
Vietnam National University, Hanoi
Bachelor's degree, Computer Science · Computer Science · Hanoi, Viet Nam
Similar Freelancers
Discover other experts with similar qualifications and experience