Crescofin招聘中/高级Golang开发工程师(可远程或俄罗斯办公)

Crescofin招聘中/高级Golang开发工程师(可远程或俄罗斯办公) 我们正在启动一个新项目:为 CrescoFin 开发 DeFi 银行应用。您可以在 crescofin.ch 了解更多信息。

CrescoFin 是一家受监管的瑞士公司,是传统银行的替代方案,提供一种简单的产品:一个受保的、计息的存款账户(支持法币和加密货币,正在开发中),其年化收益率高于银行。

职责

  • 从头开始构建一个新的银行应用——我们有一个全新的启动项目!
  • 与其他高级工程师和技术经验丰富的产品负责人共同构建架构
  • 将我们的设计转化为 Android 和 IOS 应用
  • 创建并维护 Go 语言后端
  • 管理与不同银行合作伙伴的集成
  • 管理与不同合规合作伙伴的集成
  • 在瑞士的服务器上安全地存储敏感数据
  • 与一个小而专注的团队一起工作、规划和沟通
  • 将以太坊区块链上的 DeFi 应用集成到我们的应用中(有高级工程师支持)
  • 与产品负责人紧密合作,支持他以及各位总监

要求

  • 具备创业心态和务实的态度
  • 有 React Native 项目经验
  • 有 Go 语言项目经验
  • 值得信赖,并知道如何安全地设置核心基础设施
  • 喜欢与强大的团队一起启动新项目
  • 对设计实现有敏锐的眼光
  • 熟练掌握英语
  • 积极主动,善于沟通
  • 有幽默感
  • 对软件开发充满热情
  • 加分项:了解加密货币和 DeFi
  • 加分项:有 Solidity 和以太坊区块链经验
  • 加分项:有 DevOps 经验

我们提供

  • 薪资 4000 - 6000 美元,如果您在金融科技领域有专家经验,薪资可更高
  • 充满活力、不断成长的组织
  • 长期员工的股票期权
  • 有竞争力的薪水
  • 与其他优秀的开发者一起工作
  • 志在改变世界的、精通加密货币的同事!

关于 CrescoFin

CrescoFin 是一家银行替代方案。我们是一家受监管的瑞士公司,提供一种简单的产品:一个受保的、计息的存款账户(支持法币和加密货币,正在开发中),其利率高于银行。我们的使命是让您的钱为您更努力地工作。我们的愿景是颠覆核心银行业。在全球范围内。我们是全球首个针对 6.05 万亿美元(国际清算银行,2019 年第二季度)银行存款市场的真正的 #DeFi 替代方案。

我们正在为我们的组织寻找一位积极主动、寻求长期合作关系的伙伴,理想情况下是像我们一样对 DeFi、加密货币以及颠覆全球核心银行基础设施充满热情的人。您将使用 React Native 和 Go 语言进行开发,并与核心银行/DeFi 基础设施进行集成。

我们期待与您会面,共同构建金融的未来。


更多关于Crescofin招聘中/高级Golang开发工程师(可远程或俄罗斯办公)的实战教程也可以访问 https://www.itying.com/category-94-b0.html

4 回复

你好, 我可以协助您满足您的需求。

此致, Garry

更多关于Crescofin招聘中/高级Golang开发工程师(可远程或俄罗斯办公)的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


你好, 希望你一切顺利。

请通过 sagu25patel@hotmail.com 联系我,或者你也可以通过 Skype sagu_25patel 联系我。

Skype

谢谢

你好,

希望你一切顺利。

我很乐意协助你完成你的需求。

请通过电子邮件 seth@cisinlabs.com 联系我,以便我们进一步讨论。

你也可以通过 Skype (cis.seth) 联系我。

此致! Seth R

作为Go语言开发者,看到这个职位描述,我认为这是一个技术要求明确且具有挑战性的机会。以下是我对技术要求的分析:

Go后端开发方面: 这个职位需要构建高安全性的金融系统后端。Go语言非常适合这种场景,特别是需要处理并发银行API集成和区块链交互的情况。以下是一个简单的Go示例,展示如何处理银行API集成:

package main

import (
    "context"
    "encoding/json"
    "fmt"
    "net/http"
    "time"
)

// 银行账户结构
type BankAccount struct {
    ID        string    `json:"id"`
    Balance   float64   `json:"balance"`
    Currency  string    `json:"currency"`
    UpdatedAt time.Time `json:"updated_at"`
}

// 银行API客户端
type BankAPIClient struct {
    baseURL    string
    apiKey     string
    httpClient *http.Client
}

func NewBankAPIClient(baseURL, apiKey string) *BankAPIClient {
    return &BankAPIClient{
        baseURL: baseURL,
        apiKey:  apiKey,
        httpClient: &http.Client{
            Timeout: 30 * time.Second,
        },
    }
}

// 获取账户余额
func (c *BankAPIClient) GetAccountBalance(ctx context.Context, accountID string) (*BankAccount, error) {
    req, err := http.NewRequestWithContext(ctx, "GET", 
        fmt.Sprintf("%s/accounts/%s", c.baseURL, accountID), nil)
    if err != nil {
        return nil, err
    }
    
    req.Header.Set("Authorization", "Bearer "+c.apiKey)
    req.Header.Set("Content-Type", "application/json")
    
    resp, err := c.httpClient.Do(req)
    if err != nil {
        return nil, err
    }
    defer resp.Body.Close()
    
    if resp.StatusCode != http.StatusOK {
        return nil, fmt.Errorf("API request failed with status: %d", resp.StatusCode)
    }
    
    var account BankAccount
    if err := json.NewDecoder(resp.Body).Decode(&account); err != nil {
        return nil, err
    }
    
    return &account, nil
}

// 交易处理服务
type TransactionService struct {
    bankClient *BankAPIClient
    // 添加数据库连接、区块链客户端等
}

func (s *TransactionService) ProcessDeposit(ctx context.Context, accountID string, amount float64) error {
    // 1. 验证交易
    // 2. 调用银行API
    // 3. 更新内部数据库
    // 4. 记录到区块链(如需要)
    // 5. 发送通知
    
    account, err := s.bankClient.GetAccountBalance(ctx, accountID)
    if err != nil {
        return err
    }
    
    // 处理存款逻辑
    fmt.Printf("Processing deposit for account %s: %f %s\n", 
        account.ID, amount, account.Currency)
    
    return nil
}

func main() {
    // 初始化银行API客户端
    bankClient := NewBankAPIClient("https://api.bankpartner.com", "your-api-key")
    
    // 初始化交易服务
    txService := &TransactionService{
        bankClient: bankClient,
    }
    
    // 处理存款交易
    ctx := context.Background()
    err := txService.ProcessDeposit(ctx, "acc123", 1000.00)
    if err != nil {
        fmt.Printf("Transaction failed: %v\n", err)
    }
}

技术栈组合分析

  1. React Native + Go:这是一个合理的全栈组合。Go提供高性能后端,React Native支持跨平台移动开发
  2. 区块链集成:需要熟悉以太坊智能合约交互,以下是一个简单的Go与以太坊交互示例:
package main

import (
    "context"
    "fmt"
    "log"
    "math/big"
    
    "github.com/ethereum/go-ethereum/accounts/abi/bind"
    "github.com/ethereum/go-ethereum/common"
    "github.com/ethereum/go-ethereum/ethclient"
)

// 简单的代币余额查询
func checkTokenBalance() {
    // 连接以太坊节点
    client, err := ethclient.Dial("https://mainnet.infura.io/v3/YOUR-PROJECT-ID")
    if err != nil {
        log.Fatal(err)
    }
    
    // 代币合约地址(示例:USDT)
    tokenAddress := common.HexToAddress("0xdAC17F958D2ee523a2206206994597C13D831ec7")
    
    // 用户地址
    userAddress := common.HexToAddress("0x742d35Cc6634C0532925a3b844Bc9e0BBE863C03")
    
    // 获取ETH余额
    balance, err := client.BalanceAt(context.Background(), userAddress, nil)
    if err != nil {
        log.Fatal(err)
    }
    
    fmt.Printf("ETH Balance: %s\n", balance.String())
    
    // 这里可以添加代币合约ABI解析来获取代币余额
    _ = tokenAddress // 实际使用中需要加载合约ABI
}

安全考虑: 由于涉及金融数据和合规要求,需要特别注意:

  1. 数据加密存储
  2. API安全认证
  3. 交易审计追踪
  4. 合规数据保护

DevOps要求: 职位提到的瑞士服务器部署需要熟悉:

  1. 容器化部署(Docker)
  2. 安全配置管理
  3. 监控和日志系统
  4. 持续集成/部署

这个职位适合有全栈经验的Go开发者,特别是对金融科技和区块链有兴趣的候选人。技术栈组合合理,项目具有明确的技术挑战性。

回到顶部