Back End Developer
package main
import (
"fmt"
"math/rand"
"sync"
"time"
)
func main() {
stefan := struct {
Contact map[string]string
Skills []string
}{
Contact: map[string]string{
"email": "stefanlitoiu95@gmail.com",
"linkedin": "linkedin.com/in/stefan-litoiu",
"tel": "+40761634654",
"city": "Bucharest",
},
Skills: []string{
"Go", "Microservices", "gRPC", "REST APIs",
"Kubernetes", "Docker", "Linux", "GitLab",
"NATS Jetstream", "Elasticsearch", "Kibana",
"Prometheus", "Grafana", "Minio", "Olric",
"MySQL", "PostgreSQL", "MongoDB",
"PHP", "Laravel", "C#", ".NET Core", "Unit Testing",
},
}
// Running 'go run stefan_litoiu.go'...
fmt.Println("// --- Contact ---")
for key, val := range stefan.Contact {
fmt.Printf("// %-8s: %s\n", key, val)
}
fmt.Println("\n// --- Skills ---")
for _, skill := range stefan.Skills {
fmt.Println("// -", skill)
}
printDetails()
tellGoRoutineJoke()
}
func tellGoRoutineJoke() {
fmt.Println("\n\n// A programmer had a problem. He thought,")
fmt.Println("// \"I know, I'll solve it with goroutines!\"")
var wg sync.WaitGroup
punchline := []string{"has", "Now", "problems.", "two", "he"}
wg.Add(len(punchline))
fmt.Print("// ")
for _, word := range punchline {
go func(w string) {
defer wg.Done()
time.Sleep(time.Duration(rand.Intn(100)) * time.Millisecond)
fmt.Print(w, " ")
}(word)
}
wg.Wait()
}
package main
import "fmt"
type Experience struct {
Title, Company, Period string
Description []string
}
type Project struct {
Name, Period, Description string
}
var workHistory = []Experience{/* ... */}
var projectHistory = []Project{/* ... */}
// printDetails would iterate and print the data.
func printDetails() {
workHistory := getWorkHistory()
projectHistory := getProjects()
fmt.Println("// --- Work Experience ---")
for _, job := range workHistory {
fmt.Printf("\n// %s @ %s\n", job.Title, job.Company)
fmt.Printf("// %s\n", job.Period)
for _, point := range job.Description {
fmt.Printf("// - %s\n", point)
}
}
fmt.Println("\n\n// --- Projects ---")
for _, project := range projectHistory {
fmt.Printf("\n// %s (%s)\n", project.Name, project.Period)
fmt.Printf("// - %s\n", project.Description)
}
}
// Helper functions to populate data.
func getWorkHistory() []Experience {
return []Experience{
{
Title: "Back End Developer",
Company: "eJobs",
Period: "Apr 2021 - Present",
Description: []string{
"Pioneered the migration from a PHP monolith to a Go-based microservices architecture.",
"Engineered data sync pipelines using MySQL binlog to replicate data to new structures (MySQL, Elasticsearch).",
"Deployed & managed services on an on-premise Kubernetes cluster with Docker, GitLab CI/CD.",
"Implemented and maintained core infra: NATS Jetstream (messaging), Olric (caching), and Minio (S3 storage).",
"Established robust monitoring with Kibana APM, Grafana, & Prometheus",
"Developed high-throughput cron jobs with state management ",
"Contributed to a PoC for a CQRS and Event-Driven system using EventStoreDB.",
},
},
{
Title: "Full-Stack Developer",
Company: "Institutul Pentru Tehnica de Calcul",
Period: "Oct 2017 - Apr 2021",
Description: []string{
"Feature dev for train tracking applications.",
"Developed cost optimization tools.",
"Rewrite legacy apps with .NET Core & Vue.js.",
},
},
}
}
func getProjects() []Project {
return []Project{
{
Name: "CRM Application",
Period: "Aug 2017 - Jun 2023",
Description: "Maintained and developed features in Laravel.",
},
{
Name: "selfdrive.ro (Dissertation)",
Period: "Jan 2019 - Jan 2020",
Description: "Tourism/car rental portal in Laravel.",
},
}
}