نقشه راه
Senior Software Engineer
مهارتهای مشترک همه برنامهنویسها، مستقل از زبان: طراحی کد، تست، داده و سیستمهای توزیعشده.
لازم بدون این، استخدام نمیشوی.خوب است امتیاز اضافه.تخصصی فقط برای شغلهای خاص.
۱
کد خوب
کدی که تیم بتواند بخواند، تست کند و تغییر دهد.
۲
الگوریتم و همزمانی
کد سریع و درست، حتی وقتی چند کار با هم اجرا میشوند.
۳
داده
داده را درست ذخیره کن و سریع بخوان.
۴
API و امنیت
API ای که درست، امن و قابل اعتماد باشد.
۵
تست و تحویل
با خیال راحت تغییر بده و منتشر کن.
لازمUnit Test با xUnitتست خوب چه شکلی است، Mock و FakeآمادهلازمIntegration TestTestcontainers و WebApplicationFactoryآمادهخوب استTDDاول تست، بعد کد: قرمز، سبز، بازسازیآمادهلازمگیت و کنترل نسخهBranch، Merge، Rebase، تاریخچه تمیزبهزودیلازمCI/CDPipeline، تست خودکار، استقرار بیخطرآمادهخوب استDockerImage کوچک، Multi-stage build، لایههاآماده
۶
در محیط واقعی
وقتی کد اجرا میشود، بدانی چه خبر است و خطا را مدیریت کنی.
لازمLogging ساختاریافتهSerilog، سطح لاگ، Correlation Idآمادهخوب استMetrics و AlertPrometheus، Grafana و هشدار درستآمادهخوب استResilience با PollyRetry، Circuit Breaker، Timeout و طوفان Retryآمادهخوب استطراحی سیستمScale افقی، Load Balancing، Sharding، Replicaآمادهخوب استبرآورد و برنامهریزیتخمین کار، شکستن کار بزرگ، ریسکآماده