<?php declare(strict_types=1);
namespace Core;
final class ChiefTechnologyOfficer implements
Development\SolutionsArchitectInterface,
Development\TechLeadInterface,
Development\DevOpsInterface,
Development\SeniorDeveloperInterface,
Management\ProductManagerInterface,
Management\ProjectManagerInterface,
Management\TeamLeadInterface
{
use Infrastructure\Docker;
// Infrastructure\K8s;
use ProgrammingLanguage\PHP,
ProgrammingLanguage\Golang,
// ProgrammingLanguage\Python,
// ProgrammingLanguage\Java,
ProgrammingLanguage\JavaScript;
use Framework\Php\Yii,
Framework\Php\Yii2,
Framework\Php\AMPHP,
Framework\Php\Testing\PhpUnit,
Framework\Php\Testing\Codeception,
// Framework\Symfony,
// Framework\Laravel,
Framework\Js\VueJs,
// Framework\Js\Svelte,
// Framework\Js\React,
// Framework\Js\JQuery,
Framework\Css\Bootstrap;
use DataBase\PostgreSQL,
// DataBase\MySQL,
DataBase\Redis,
// DataBase\MongoDB,
// DataBase\Tarantool,
// DataBase\Elasticsearch,
// DataBase\ClickHouse,
// DataBase\DuckDB,
DataBase\SqLite;
use Queue\NATS,
Queue\Redis;
// Queue\Kafka,
// Queue\RabbitMQ;
public const string
FIRSTNAME = 'Aleksey',
LASTNAME = 'Loban';
public function __construct(
private Money $salary,
public readonly string $email = '[email protected]',
public string $location = 'Belarus, Minsk',
) {}
public function getStatus(): string
{
return 'Open to suggestions.';
}
public function getAchievements(): array
{
return [
'Developed and implemented services:' => [
'Auth',
'Registration',
'Payment Processing (Pattern SAGA)',
'Fiat currency exchange',
'Crypto Payment - Buy and Sale',
'Billing Plan - Processing',
'WebSocket (Centrifugo)',
'WebHook (Svix)',
'Push notification (Firebase)',
// and other.
],
'Together with DevOps, developed and implemented E2E Testing for the QA department.',
'The process of developing tasks from setting to release in prod.',
'Step-by-step transition to a service architecture with asynchronous interaction (CQRS).',
];
}
public function getSolutionArchitectSkills(): array
{
return [
'Design, documentation and supervision of product architecture',
'Development of a step-by-step refactoring strategy',
'Assistance to DevOps in achieving set goals',
'Implemented RFC practice to create consolidated solutions',
'Design of data structures and flows (DB, API, UX)',
];
}
public function getTechLeadSkills(): array
{
return [
'R&D of new directions.',
'Analysis and optimization of technical processes.',
'Selection of technologies and tools for development.',
'Tracking technical debt.',
'Optimization of system performance and reliability.',
'Development of critical functionality.',
'Security monitoring.',
'Code review, refactoring and implementation of best practices.',
'Development of components for other developers.',
];
}
public function getTeamLeadSkills(): array
{
return [
'Analysis and optimization of development processes in the team.',
'Collaboration with Team Leads from other teams (WebDev, MobileDev, QA, DevOps) and interaction with managers (PM, BA).',
'Planning, decomposition and distribution of tasks in the team, control of deadlines.',
'Hiring new employees.',
'Onboarding.',
'One-on-One.',
'Mentoring.',
'Coaching.',
];
}
public function getDevOpsTools(): array
{
return [
'AWS',
'CI/CD' => ['GitLab', 'GitHub'],
'Docker',
'kubernetes',
'GitLab',
'Zabbix',
'Sentry',
'HashiCorp Vault',
'NATS.io',
// 'Vagrant',
];
}
public function getDeveloperSkills(): array
{
return [
'DDD',
'CQRS',
'SAGA',
'JWT',
'OpenSSL',
'REST API', 'Swagger',
];
}
public function getManagementTools(): array
{
return [
'Jira',
'Confluence',
];
}
public function relocation(string $location): self
{
$this->location = $location;
return $this;
}
}
Popular repositories Loading
-
yii2-translated-behavior
yii2-translated-behavior PublicThis extension allows you to quickly and simply add a translation to any ActiveRecord model.
-
yii2-activity-logger
yii2-activity-logger PublicЭто расширение поможет вам отслеживать пользовательскую активность на сайте
-
yii2-settings
yii2-settings PublicThis extension is very useful for storing any settings, for your application.
-
-
-
Something went wrong, please refresh the page to try again.
If the problem persists, check the GitHub status page or contact support.
If the problem persists, check the GitHub status page or contact support.