<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=yes"
/>
<title>Farzad Sadeghi</title>
<style>
code {
white-space: pre-wrap;
}
span.smallcaps {
font-variant: small-caps;
}
span.underline {
text-decoration: underline;
}
div.column {
display: inline-block;
vertical-align: top;
width: 50%;
}
div.hanging-indent {
margin-left: 1.5em;
text-indent: -1.5em;
}
ul.task-list {
list-style: none;
}
</style>
</head>
<body
style="
color: #005f87;
background: #000000;
text-align: left;
padding: 0px;
border: 0px;
margin: 0px;
"
>
<header id="title-block-header">
<h1 class="title"><strong>Farzad Sadeghi</strong></h1>
<p class="date">2023/01/28</p>
</header>
<p>
<span
><a href="https://terminaldweller.com"
>https://terminaldweller.com</a
></span
><br />
devi@terminaldweller.com<br />
thabogre@gmail.com<br />
Tehran, Iran<br />
</p>
<h1 class="unnumbered" id="professional-experience">
Professional Experience
</h1>
<p>
<strong
>Zharfpouyan Tous (Tehran, Iran)<br />
March 2021–June 2022<br />
14 months<br />
Developing/Maintaining code for a network device running on a unix-like
operating system(openssh,linux-pam,busybox).Mostly C and shell
scripts.<br />
<br />
<strong
>Erfan Salamat (Tehran, Iran)<br />
Nov. 2020–Feb. 2021<br />
4 months<br />
Backened Developer. Developed a GIS and Notification microservice
using Golang. Containerized the entire required stack for the said
microservices with Docker.<br />
<br />
<strong
>Maharan International (Tehran, Iran)<br />
Feb. 2019–Oct. 2020<br />
19 months<br />
Requirement manager, designer and developer for ERTMS/ETCS DMI for a
safety-ciritcal system written in C.<br />
<br />
<strong
>Truebit (Remote, 3 time-zones)<br />
July 2017–Nov. 2017<br />
5 months<br />
developed Truebit’s WASM interpreter and smart contracts. Also
managed the CI for the repositories.<br />
<div></div>
<strong
>NEAT (Rome, Italy)<br />
May 2016–July 2016<br />
3 months<br />
Wrote an automatic refactoring tool using Clang(Libtooling) in
C++. The tool would be the last piece of an automated
model-driven development process for safety-critical systems.<br />
<div></div>
<strong
>Crouse (Tehran, Iran)<br />
July 2014–March 2016<br />
21 months<br />
Embedded software developer, Safety-critical applications:
Design, implementation and automation. The Software team’s ISO
26262 representative.<br />
<div></div>
<strong
>Safir Language Academy (Tehran, Iran)<br />
August 2010–March 2012<br />
20 months<br />
English Teacher - Later on specifically IELTS teacher.<br /> </strong></strong></strong></strong></strong></strong
></strong>
</p>
<h1 class="unnumbered" id="skills">Skills</h1>
<p>
<strong
>Programming Languages: C, Python, C++, Go<br />
<strong>Other: Linux, docker<br /> </strong
></strong>
</p>
<h1 class="unnumbered" id="hobby">Hobby</h1>
<p>
I maintain my own local kubernetes cluster with k3s on my raspberry pis
along with a bunch of VPSs that I run my services on(Docker, not
swarm)).<br />
</p>
<h1 class="unnumbered" id="languages">Languages</h1>
<p>
<strong
>Persian: <span>Native</span><br />
<strong
>English: <span>Native-like</span><br />
German: Beginner<br /> </strong
></strong>
</p>
<h1 class="unnumbered" id="education">Education</h1>
<p>
2021–Now Master’s in Computer Science, Azad University, Science and
Research Branch, Tehran, Iran. Currently working on my thesis<br />
2007–2013 Bachelor’s in Electrical Engineering, Iran University of Science
and Technology, Tehran, Iran.<br />
<strong
>Thesis: Determining the frequency of an audio signal using phase
derivation in real time, design and implementation using an
FPGA.</strong
>
</p>
<h1 class="unnumbered" id="role-breakdown">Role Breakdown</h1>
<p>
<strong
>Backend Developer<br />
Developed a GIS microservice based on the OSM stack. Containerized an
entire geoserver stack (geoserver, tile server, static image server, DB)
so that we could rely on our own stack. Developed a notification
microservice using golang and Mongodb(with Percona memory engine).<br />
<br />
<strong
>ERTMS / ETCS DMI Development<br />
Split the DMI into two subsystems. Designed and implemented the
software for the component on the "kernel" side. Wrote a tool that
made the requirements’ traceability files by gathering special
comments from the C source files. Wrote a tool that determines all the
sub-fields of aggregate types used in the function and the functions
it calls(required for testing).<br />
<br />
<strong
>Embedded Safety-Critical Development<br />
Wrote the SRS and the SDD for the DSP algorithm, then implemented
the DSP algorithm for a safety-critical hard real-time embedded
system.<br />
<br />
<strong>Code Generation<br /> </strong></strong></strong
></strong>
</p>
<ul>
<li>
<p>Wrote A tool that generates binary file (WASM, ...) parsers in C.</p>
</li>
<li>
<p>
Wrote another tool that generates the C code necessary to add a C
structure to Lua as a Lua table.
</p>
</li>
</ul>
<p>
<strong>Automation and Tooling<br /> </strong>
</p>
<ul>
<li>
<p>
Developed a Misra-C:2004 rule checker(open-source project) using
Clang’s Libtooling.
</p>
</li>
<li>
<p>
Developed a source code obfuscation tool(open-source project) using
Clang’s Libtooling.
</p>
</li>
<li>
<p>
Developed an interactive CLI tool aimed at object code
manipulation(open-source project) in C++/C with Lua as it’s scripting
language. The tool also has Python embedded in it for rapid
prototyping.
</p>
</li>
<li>
<p>
Automated the traceability matrix generation using libclang’s Python
bindings.
</p>
</li>
<li>
<p>Automated the regression testing for a project I was involved in.</p>
</li>
<li>
<p>
Automated the calculation of the WCET for all implemented functions
through the use of of a Python script and an XML description file.
</p>
</li>
</ul>
<p>
<strong
>Automatic Refactoring<br />
Wrote an automatic refactoring tool using Clang’s Libtooling for C.<br />
<br />
<strong
>Defensive Programming / Safety-Aware Software Design<br />
Studied/Implemented defensive programming practices, coding style and
guidelines. Explored the use of FMEA and FTA for the software
domain.<br />
<br />
<strong
>AUTOSAR<br />
Studied AUTOSAR SWC and RTE.<br />
<br />
<strong
>ISO 26262<br />
Studied the software section of the standard. I was also the
software group’s representative for the study/review meetings held
with the hardware and system teams on ISO 26262.<br /> </strong></strong></strong
></strong>
</p>
<h1 class="unnumbered" id="links">Links</h1>
<p>
<span
><strong
><a href="https://terminaldweller.com">terminaldweller.com</a></strong
></span
>
My personal web page.<br />
<span
><strong
><a href="https://github.com/terminaldweller">Github</a></strong
></span
>
My Github page.<br />
<span
><strong
><a href="https://github.com/terminaldweller/hived/tree/arbitrage"
>hived</a
></strong
></span
>
A tiny and fast crypto API server.<br />
<span
><strong
><a href="https://github.com/terminaldweller/magni">magni</a></strong
></span
>
Upscales the images in a webpage and serves them back locally.<br />
<span
><strong
><a href="https://github.com/terminaldweller/cgrep">cgrep</a></strong
></span
>
Grep for C-family source files.<br />
<span
><strong
><a href="https://github.com/terminaldweller/devourer"
>devourer</a
></strong
></span
>
A little helper API server. Extracts, summarizes and vocalizes articles on
the web.<br />
<span
><strong
><a href="https://github.com/terminaldweller/mdrtl">mdrtl</a></strong
></span
>
A minimal RTL markdown editor.<br />
<span
><strong
><a href="https://github.com/terminaldweller/blog">blog</a></strong
></span
>
Source code for my blog.<br />
<span
><strong
><a href="https://www.linkedin.com/in/farzad-sadeghi/"
>Linkedin</a
></strong
></span
>
My Linkedin page.<br />
</p>
</body>
</html>