2 |
45 |
C |
Python, C++, Rust, Bash, ... |
Python unittest, Catch, in-house |
Hi! |
varied: Unit, integration, E2E tests. Very few human-in-the loop manual tests. |
varied: FPGA, MCU, Embedded C, Linux |
git, gcc, CMake, CLion, JIRA, Jenkins, Docker, Artifactory |
Under 10 seconds |
Informal |
Judgement call |
Pair program instead |
10 |
10 |
20 |
Creative, challenging, crisp analysis. |
Complexity, bloat, inconsistency, too much code that should never have been written. |
Once did a 2-hour TDD course: inspirational, but I desire additional teaching. |
I want to develop the finest TDD skills I can, and be better able to coach colleagues to do so. |
Show
|
2 |
40 |
C++ |
Python, Go, C, Java, C# |
Various, mostly home grown |
I dislike open ended questions without discussion |
Varies |
Varies, but mostly Linux VMs (not embedded) |
Varies |
1-5 minutes |
Varies |
Getting harder to change |
Varies |
50 |
20 |
10 |
Flexibility, learning new stuff |
Deadlines set without a good estimation process |
Just the basic principle |
Learn more about embedded development process |
Show
|
2 |
20 |
C++ |
Python, C, Rust |
Catch2 |
thinking and doing this stuff is hard when you're tired |
Catch2 unit test, end to end test using python |
varies |
CLion, Git, Gitlab |
11-30 seconds |
not strictly enforced |
when it's larger than say 10-15 lines |
continuous pair programming |
33 |
33 |
34 |
thinking about creatively solving problems in the best way |
not knowing why something doesn't work, spending hours on it |
the main stuff: write failing test, make it pass in the simplest way, refactor |
what "level" to write the tests at? (e.g. external interface only etc) |
Show
|
2 |
5 |
C, Java |
C++ |
Cmock, Cpputest |
na |
unit and integration tests |
arm, x64 |
jetbrains suite, vs code, sublime text |
1-5 minutes |
Conforming to Java 17 |
When there's conditional or logical operation words in its name e.g. "and" "or" "when" |
3 reviewers on every change, 2 junior and 1 senior |
5 |
3 |
2 |
Building new things, figuring things out, and finding how systems work & interconnect w each other |
The lack of country/continent-wise recognised certifications ala medicine professionals |
Test-first emphasis to eliminate regressions & guarantee behaviour for a set of (specific) reqremnts |
To see if TDD is better understood, appreciated and internalised through a workshop instead of book |
Show
|
2 |
1 |
Java, C# |
Python, XML, HTML, JS, SQL |
0 |
I'd like to get less technical about QA and instead head towards leadership and Systems Engineering. |
BDD, Manual QA, Black Box, Automation Tests of functionality, Integration testing, System Testing, Regression testing. |
Any complex software application |
VSCode, Notepad++, SQL, Docker, Cucumber, |
11-30 seconds |
Not much to tell, I mostly just script and do QA. |
When the scope of the function tries to achieve more than 1-2 things at once by itself. |
I don't do any. |
1 |
7 |
2 |
I do not like developing, this is why I joined the Quality Engineering career path instead. |
Tedious debugging, unclear errors occurring from typos or small coding syntax errors |
It's a programmatic way of shifting testing to the left. White-box testing. |
To learn more about automation, left-shift and white-box testing. |
Show
|
2.6 |
16 |
Embedded C/C++ |
All sorts of programming languages e.g. java, python |
google unit test |
Passionate about software engineering, enjoy travelling, good food |
Catch2 with google mock |
Linux |
GCC |
31-60 seconds |
varies with project |
when it is doing more than one thing |
use gitlab |
40 |
40 |
20 |
designing |
debugging |
You write test first and then code later |
Want to understand tdd properly. |
Show
|
6 |
10 |
C++ |
C, Python, Rust |
Catch2, pytest, nosetest |
I spend some of my spare time cycling and baking. |
Unit tests with TDD
Host integration test
Target end to end tests |
Embedded systems, some running CentOS or Debian Linux, some bare metal. C and C++ applications |
CLion, CMake, Git, Jenkins, Docker |
5-30 minutes |
Per-language coding standard for ISO quality system. Bit out of date, I tend to use modern standards |
More than a few lines, hard to read, does too much, not single responsibility |
Not required very often as dev is done using pair programming. Reviewed by senior devs during dev. |
10 |
40 |
50 |
Making cool stuff. Working with fun people. |
hard to read/understand code, slow tests, not having enough time to do it properly |
Test driven development drives the writing of code through tests. Red, green, refactor. An art form |
learn the art of TDD; how to write tests to drive the code, how to do abstraction/interfacing |
Show
|
10 |
20 partial |
C |
C# |
None |
I do not develop software full time. My main activities consist in developing electronics boards, writing code for the embedded microcontroller (bare C) and often writing GUI (C#) that interacts with hardware. |
Debugger |
? |
Keil MDK ARM, Visual Studio |
Under 10 seconds |
? |
When I can't remember what happened at the beginning |
No review |
5 |
5 |
5 |
Flexibility. |
Never works first time |
Only got an introduction to it, but sounds interesting |
To learn new methodology. |
Show
|
3 |
10 |
C++ |
C
Python
Rust |
Catch2
cpputest
Pytest
Cargo test
Cucumber |
I spend a lot of my free time on the river rowing and coaching rowers. |
Unit and integration tests in Catch2
End to End tests running on hardware in Pytest |
STM32 microcontroller |
Clion
STprogrammer and STlink |
11-30 seconds |
We aim for TDD and pair programming whenever possible. |
To many functional blocks/regions which should then be refactored to separate functions. |
Minimal due to heavy use of pair programming. However diffs are reviewed between releases. |
20 |
30 |
50 |
Solving the logical problems |
Maintaining documentation |
functionality/interfaces are first defined in the tests, code is then written to pass tests |
Professional development, and whilst I have learnt TDD on the job, I've never had a formal course. |
Show
|
3 |
15 |
Python |
JS/TS
SQL
C#
|
Pytest
Unittest
Robot Framework
React Testing Library |
As well as programming I love hiking and the outdoors |
Write the code and if time permits write unit tests.
Then update integration tests to make sure code base works as a whole.
Run robot framework on the output to make sure the behaviour is correct.
QA manually sign off that everything is working. |
The target is docker containers which run the data pipeline |
VSCode with Python Extensions
Copilot |
Under 10 seconds |
ISO9001 |
When it doesn't fit on your screen |
Done through the PR interface. Usually offline but if it is complex, done on a call |
30 |
10 |
60 |
It is my hobby and people pay me for it!? Mainly the puzzle solving aspect. |
Being told what and how to build something. |
Write unit tests first, then code to satisfy those tests. |
Out current testing approach isn't working. I am interested in other approaches for testing. |
Show
|
18 |
18 |
C |
C++, C#, Ladder Logic, Structure Language, Motion Perfect, VB |
CMOK, CUNIT |
I am an active person, I love scuba diving, I am a go-kart racer |
depends on the project. Hardly even pure TDD, a bit of mixture of soft TDD and test created after coding. Both unit and integration tests on PC, the same on HW + System test. |
Embedded (ARM, etc.) |
All sort of Editors (depends on client) |
1-5 minutes |
MISRA, internal and external, |
>20\30 lines? |
used a number of tools |
40 |
30 |
30 |
I can see results immediately, I like logical thinking, the interaction SW\HW, Human Factors |
debugging, legacy code, spaghetti code, compiling dependencies, cryptic test frameworks |
I know the principles and apply some of them |
to learn how my life can be made simpler when coding, and producing good modular code |
Show
|
<1 |
2 |
Python |
C++
Javascript |
unittest |
Mangoes are one of my favorite fruit |
By writing unit and integration tests |
Don't have one.
It can change at any point. |
IDEs and Code Editors.
Version Control.
Package and dependency managers.
Debuggers
|
31-60 seconds |
Normally PEP 8 |
When it does more than one thing or more than what can be easily described through the function name |
They go okay |
40 |
50 |
10 |
Having different solutions to one problem. |
Libraries that contain unpatched bugs |
It's difficult at first but rewarding at the end |
Because I want to get better at TDD |
Show
|
4 |
10 |
Python |
C++ |
Catch2
pytest |
Looking to go from working in mostly in Python to do more C++ and also embedded work so I'd like to do those things with TDD from the start rather than learn to code then figure out how to TDD it |
Using TDD - unit, integration, e2e. Automated CI to run tests on hardware |
Linux based systems, Raspberry Pis, cloud |
VScode, Jenkins, Docker |
Under 10 seconds |
Use TDD and clean code |
When it does more than one thing |
Usually pair program so the code review is done during development of a feature rather than after |
3 |
6 |
1 |
Continual challenges. Variation in projects. Satisfaction when a complicated things is simplified |
Often not enough time to go back and perfect the code |
Write the test first then the functioanlity. |
I want to get better at delivering high quality code and I see being an expert in TDD as the way |
Show
|
20 |
25 |
c |
c++ rust |
ceedling catch |
i tend to focus on embedded coding |
catch unit test
python integration and end to end tests |
microcontrollers embedded |
clion
gcc tool chain |
5-30 minutes |
c and c++ |
review
it becomes difficult to understand |
pair programming or formal document |
30 |
50 |
20 |
producing quality code
solving problems |
i'd like to do more of it |
write tests before changing code
change just enough to make the test pass |
i have received feedback that I need to improve my TDD skills |
Show
|
6 |
21 |
C# |
Python, Java, JavaScript, C++, C (although very rusty in C++ and C) |
MSTest, NUnit, JUnit, Selenium |
Father of 2 (10 and 7). Love my garden, keen badminton player and currently in the middle of doing loads of DIY on an extension project on the house which started in 2020. I've been working as tech lead for 7 months and want to get my hands dirty! |
On the current project we have a blend of Unit Tests, Integration tests, System Tests, performance tests and, unfortunately, a heavy contingent of manual tests still. |
Python Data Pipeline which pushes data into a Postgres Database fronted by a .NET / JS web app. |
VSCode, Visual Studio, Git, GitlabCI, Docker, Azure and associated tooling |
11-30 seconds |
All python is written to PEP8, C# is written to an internal standard |
We use in-built tooling in the IDE to flag this |
All code goes through peer review and gets signed off through a formal QA process on client data |
50 |
30 |
20 |
Problem solving and being able to take an idea and make it come to life |
Trying to explain to people who don't understand software, why building good software is important |
I know the principles but struggle with the application on a macro scale |
I want to understand how to 'think' properly about testing at the macro level |
Show
|
3 |
15 |
C++ |
C, Python, others |
googletest |
I've a fair amount of code for many systems in my life. But for the past 5 years I've been more architecting than coding, which has made me rusty. I try too hone my skills at home with personal projects, primarily coding games and robots. |
googletest |
embedded |
various |
31-60 seconds |
Using company coding standard |
when I have to scroll my screen |
pair programming, walkthroughs, formal reviews. |
30 |
40 |
30 |
The creative challenge |
management's misunderstanding of software |
start with writing tests that fail. then code till tests pass. |
to learn |
Show
|
2 |
40 |
C |
C++, Java, ... |
No much Unit testing Experience. Years ago I got some Junit during period working in Java |
I would like to become TDD fun after this training. |
My role is not currently development, as I am mainly on Support and with some devops. I write code occasionally for demostrations an recreating customers issues.
I normally write test cases. |
No target on this |
VS Code or JetBrains Tools. I have used others in the past. |
Under 10 seconds |
No comment |
It depends on the language, but based in the number of lines. |
No comment |
60 |
20 |
20 |
Continuous learning. |
Deadlines |
Very little, I think. I never had my brain set for the TDD. I normally focus on design. |
Learning the the TDD, and using it when I have to write code. I don't work on big projects though. |
Show
|
2 |
6 |
Python |
C++, Rust, Bash |
Pytest, Unittest, Catch, Cargo |
I studied aerospace engineering, I didn't study computer science. |
TDD, testing locally before pushing to CI.
Tests run in CI using Jenkins pipelines. |
Data diodes and their surrounding software for customer ease of use. |
Nvim, GitLab, Jenkins, Docker, Jira |
1-5 minutes |
2 years professional experience with 4 years in my degree. I try to actively improve my standard |
If things are not at or close to a single layer of abstraction. |
We use pair programming for the purposes of code reviews. |
10 |
10 |
80 |
The ability and opportunity to solve a wide variety of problems. |
Business challenges that slow down or stop you from developing. |
It should be used to guide the design of the code from the perspective of the user of the function. |
TDD is controversial, I want to grow a pragmatic understanding of when and how it should be used. |
Show
|
2 |
40 |
C++ |
C, Rust |
Boost.Test
Ceedling
Rust's inbuilt test harness (cargo test) |
Not on this form. |
Unit testing |
Armv7 SoC |
VS Code + language-specific extensions; git, Jira, valgrind |
1-5 minutes |
C, C++ coding standards located in company Quality Management system. TDD is not mentioned. |
When a reviewer suggests it might be. |
They depend on who is doing the reviewing. |
30 |
40 |
30 |
Problem solving |
Estimation |
Its use is controversial and subjective. Tends to polarise developers. |
Information declined. |
Show
|
0 |
11 |
C, C++, Python |
Flutter |
Unity, pytest, inhouse tools |
I like to play golf, and in my spare time I'm making an app for couples so that they can try new dates and be reminded to be romantic. It's fun because it's very different from embedded development. |
unit tests, function tests, system tests, manual tests |
IoT devices, embedded product with connection to cloud |
zephyr, git, cmake |
5-30 minutes |
Use tools like linters and static analysis to make sure everything at least looks the same |
When I need to scroll down a long way and it does way to many things |
Mine are usually pretty small and concise, |
20 |
40 |
40 |
Solving interesting problems and "make something out of nothing". I get to be really smart at times. |
Tight deadlines, and when the tech lead doesn't want to do anything too complex |
The basic structure, but I've never gotten it to stick. |
I want to become better, and make things go more smoothly. |
Show
|
0.1 |
30+ |
C++ |
C, Python, PHP, shell, assembly, Java, Javascript, Objective-C, ... |
CppUTest, XCTest, JUnit, Selenium, ... |
I don't like this planet. |
CppUTest |
custom embedded platform (Arm and x86) |
VSCode, Makefiles, git, Jenkins |
31-60 seconds |
We don't seem to have a formal coding standard here. :( |
I try to keep functions to within a page of lines, but this is arbitrary and subjective. |
PRs are reviewed before merging to main. Who reviews is chosen by the PR author. |
20% |
5% |
10% |
Problem solving |
Agile |
Step 1: Create tests to enforce spec requirements.
Step 2: Code to pass tests.
|
Assigned as a new hire, plus it's good to refresh my knowledge. |
Show
|
1 |
5 |
C/C++ |
Python, bash |
CppUTest, ZTest, BATS. |
As many software engineers are, I'm a technology enthusiast. I went to school to computer engineering and I also love the hardware-side of computing. |
I try to cover as much of my code as I can with unit tests, and run functional and integration tests too. |
I primarily write code for embedded ARM processors in avionics systems. |
git, vscode, docker, gdb, github. |
11-30 seconds |
we use our own standard developed over the years for formatting. |
If you start having 4, 5, or 6 parameters that's a tip-off. Also simply the number of lines. |
My goal when going through code reviews is to keep them as small in size and scope as possible. |
60% |
10% |
30% |
The speed with which you can build things. Iterative design. |
Managing dependencies between new and old code bases. |
Write the tests before your code and you'll catch a lot of mistakes that would have slipped by. |
My employer would like me to undertake this training. |
Show
|
0.3 |
9 |
C |
C++, Python, Javascript, Java |
Unity, Ceedling, GTest, Jest, JUnit |
I'm Icelandic |
Post-hoc with heavy mocking |
STM32 series microcontrollers |
CMake, GCC, CLion, cpplint, sonarqube, gitlab |
11-30 seconds |
There is none, only a cpplint config. |
When you've forgotten the start by the time you get to the end |
Two mandatory reviews per pull request, one dev, one QA |
5 |
3 |
2 |
Experiencing the simple joy of creation, fulfilling the fundamental human need to improve our world |
Working with people that don't care |
I've read Beck's book, but haven't applied it to anything beyond university assignments |
It was offered to me, and I'd like to write better tests |
Show
|
1 |
30+ |
C++ |
C, C++, Python, JavaScript, Java, Php, HTML, CSS, MySql, assembler, etc. |
roll my own |
:) |
manually |
game consoles, pcs, etc. |
all and any |
5-30 minutes |
depends on the language but write-test loop, re-evaluate, comment push to complete |
short and sweet is best |
solo developer so it's new terrain |
50 |
40 |
10 |
creative moments of system design |
micro-management and having to type |
necessary step |
employer assigned to me |
Show
|
4 months |
14 years |
C++ |
Rust, Python |
Google Test, CppUTest, Rust built in. |
I like to cook. |
CppUTest |
AMD X86 embedded, Arm V7 & V8, Alpine musl for static builds |
Make, CMake, VS Code, Sublime Text |
Under 10 seconds |
I base my coding standards off the standard that the company uses. |
If it's possible to break the work up into smaller functions then it's too long. |
Unless I see a major reason for a change I generally only ask probing questions make recommendations |
7 |
1 |
2 |
Being creative and solving problems, which includes debugging. |
Commenting code |
The goal is develop tests first and then write the functions later to verify they do what you need |
Company requirement |
Show
|
3 |
5 |
VHDL |
Verilog, C, C++, C#, VB |
None |
I prefer writing HDL due to more in depth testing/simulation tools |
Test Benches, Prayer |
ARM processors on Xilinx MPSoCs |
Vivado, Vitis, Visual Studio, VS Code |
5-30 minutes |
Outdated and now followed by everyone |
If there is repeated Code |
None |
2 |
3 |
5 |
Fun to solve problems |
Vendor provided tools |
Nothing |
To learn new ways to develop more efficiently |
Show
|
1 |
8 |
C# |
C, C++, VB, HDLs |
Visual Studio Unit Test projects |
I find that there is nothing better than 80s hair metal. |
"Automated" testing by writing code to test code, not using a unit test framework such as the one provided by .NET. |
Windows machines, Xilinx devices |
Visual Studio, Vivado, SDK |
1-5 minutes |
Not much of a standard, some linting practices. |
Likely when it is doing many different functionalities rather than what the name implies. |
Using either a lead dev on a project or a group of people to review code prior to merging to main. |
15% |
35% |
50% |
Seeing my code function properly and return the correct output given a broad range of inputs. |
Fully testing functionality to catch every edge case at the end of writing the code. |
Using testing throughout the software life cycle to save time and sanity when developing. |
To gain better knowledge about TDD in the embedded space. |
Show
|
21 |
21 |
python |
IEC-61131 (ladder / structured text), Labview, TestStand, C, C++, C#, Matlab |
pytest, Unity |
I was born in Normal, Illinois |
For code touching hardware, most is done with custom code that allows hardware to be exercised to verify functionality |
Windows PC and/or embedded target |
Vendor provided (MPLAB / Keil)
Visual Studio Code
|
11-30 seconds |
no formal std try to follow best practices |
If it is doing too many things, or if the number of lines of code is long |
Internal use - informal or None depending on scope
External - Formal peer reviews |
30 |
40 |
30 |
Ability to bring hardware together with software to create a cohesive system. |
Working around bugs/issues in vendor provided development environments. |
I have been reading your book as well as done exercises from throwtheswitch.org |
I want to be more efficient at applying/championing TDD to future work |
Show
|
4 |
8 |
Python |
C/C++, HTML, JS, CSS, MATLAB |
Not a familiar concept to me |
I love to snow ski in Colorado! |
Limited independent peer review, personal stress testing for edge conditions and critical logical conditions |
Not sure what is meant here. I don't have any specific procedure. |
Stock IDE tools for code generation and basic debugging. |
Under 10 seconds |
Keep nesting under three, use descriptive names, composition over inheritance, few global variables. |
Greater than three levels of nesting, or exceeds what can be shown on a standard screen. |
Informal and without a written description. Reviews performed by developers of the code. |
25 |
25 |
50 |
Playing a game or solving a puzzle, the more complex the problem the more satisfying the solution. |
Scale and learning curve is daunting. Too many assertions of a 'right' and 'wrong' way to do things. |
Very little, I'll try to come in with as open a mind as possible! |
It was suggested by my manager. I'm not a software developer by trade, but would like to learn. |
Show
|
5 |
<1 |
C |
none |
don't know / n/a |
. |
see if it does what i want it to |
arm microcontroller |
code composer studio |
Under 10 seconds |
don't have one |
it does more than one thing |
haven't done any |
40 |
20 |
40 |
satisfaction from getting code to work |
taking forever to find bugs |
nothing |
someone signed me up, plus it'll be helpful for a project i'm working on |
Show
|
7 |
1ish |
C |
Python |
UNK |
I enjoy rock climbing |
As I generate code, I create test functions at the bottom of the same file. The tests are intended to catch edge cases and compare function output to known good output. The test functions are wrapped in #ifdef for easy removal. |
Embedded C on microcontrollers & some scripting with Python |
Vendor provided IDEs (Code Composer Studio, STM32CubeIDE, etc.) |
11-30 seconds |
Unsure, as I recently began dabbling in firmware development out or curiosity. |
When code is repeated within the function, or the function is difficult to understand. |
After verifying functionality, I look to senior programmers for feedback on style and implementation |
40 |
20 |
40 |
I love solving puzzles, and it feels like I'm solving endless puzzles. |
My current level of understanding in the C language can lead me astray at times. |
I create a test function with known output, if I can, that I can compare my program to. |
I find embedded C interesting and I want to do more of it. To make that happen, I must improve :) |
Show
|
5 |
10 |
C++ |
C
Java
Python
Bash
|
None |
Love to code |
Functional tests as I'm programming |
Linux |
VS Code
GCC
Docker
Git |
5-30 minutes |
Project dependent |
When it starts repeating itself or doing the same things as other functions. |
We don't have a lot of them, and don't have a process established yet. |
50 |
25 |
25 |
Making computers do neat things. Solving problems in creative ways. Creating an end-product. |
Frustrating problems that don't seem to have a good solution. |
Not much, but seems a bit backward and risks missing reqs for the sake of making it testable. |
Mandated by manager |
Show
|
2.8 |
8 |
C |
C++, Python, VHDL |
Homemade |
I like to ride bikes and program on a raspberry pi at home. |
On-target |
Embedded MCUs |
vscode, eclipse |
1-5 minutes |
Safety Critical most of the time. Power of 10 and JSSSEH. |
It takes over a page when printed. |
I get okay feedback but we don't have the software review culture I would have expected. |
50 |
20 |
30 |
Getting something cool/complex to work. |
When something small keeps something from working and is hard to find a patch out. |
Write tests before writing a function. |
I'm looking for ways to implement tests and mock drivers on my computer. |
Show
|
8 |
25 |
C, C# |
C++, Python, bash, Perl, VB |
Those in Visual Studio, but just a little bit. |
25 years embedded software |
Custom test harness. |
hetero multicore SoC |
Linux tool chains |
31-60 seconds |
Ad hoc |
More than 2 pages |
Ad hoc |
5 |
0 |
15 |
Solving puzzles |
Managerial anti-patterns. |
I have good theoretical understanding, but I have not used it much. |
I am familiar with software testing but I can't talk about concepts with peers. |
Show
|
16 |
0 |
n/a |
I'm a quality engineer wanting to gain better understanding of software testing. |
n/a |
I have four daughters. |
n/a |
n/a |
n/a |
Under 10 seconds |
n/a |
n/a |
n/a |
n/a |
n/a |
n/a |
Wanting to learn about how the business can better control its code and develop SOP |
n/a
|
nothing |
Wanting to gain some insight testing and re-verification |
Show
|
7 |
5 |
C |
C#
VB
LabVIEW
Python |
Catch2
gMock |
My college major was actually biomedical engineering so I learned software on the job and at home. |
breakpoints; set up constants in code |
windows |
GitLab, Jira |
1-5 minutes |
every project is different |
when I see part of code repeat or parts I want to easily skip when debugging |
very unofficial reviews between peers |
50 |
20 |
30 |
instant feedback on my changes |
troubleshooting non software issues related to hardware |
write tests first before writing code |
My manager set up the training so she encouraged us to attend plus it sounded relevant to my work. |
Show
|
2 |
9 |
C/C++ |
Python, SQL, Bash, C# |
None |
drawing a blank here |
individual developers define their own Ad hoc tests unless specifics requirements are defined by the customer |
Linux |
Visual Studio Code, Sublime, other IDEs. Gitlab/Github |
11-30 seconds |
nothing formal |
It's function cant be summed up in a sentence or code from it is being repeated elsewhere |
Over the shoulder/ virtual screen share code reviews. Usually limited to a few hundred lines. |
70% |
10% |
20% |
The puzzle solving aspect. Finding a solution to the given problem and iterating on it |
Overhead work. Documentation, source control, maintenance, etc. |
unfamiliar |
Hopefully to find better and easier ways to accomplish the "boring" parts of development |
Show
|
3 |
5 |
c++ |
c, python, matlab |
None |
In my free time I play disc golf. |
Manual |
Just here to learn a better way to code. No current projects with target system. |
visual studio code |
11-30 seconds |
I typically just do developmental so no real standard to follow |
When a function is completing multiple tasks that should be split out into their own function. |
currently limited in current job function |
50 |
20 |
30 |
It is satisfying to get hardware working as intended |
Debugging can be difficult and time consuming and/or I write myself into an architectural corner. |
No much - excited to learn! |
I am attending the course to in hopes to learn better code architecture strategies |
Show
|
8 |
20 |
C# |
C, C++, Python, VHDL |
None |
I enjoy mountain sports (skiing, climbing, kayaking) and coffee! |
Creating Test Cases using the same language and IDE |
Microcontrollers (C/C++) and desktops (C#) |
Visual Studio, Spyder, Arduino |
1-5 minutes |
Depends on the project. I usually try to adhere to the industry standard for the language I'm using. |
When it can't all be viewed at once, does more than one thing, or is hard to read |
I like to circulate code, then have an in-person review. |
30 |
30 |
40 |
Software is a tool I use to solve system-level problems. ex. "How do we make these two things talk?" |
Risk and Uncertainty associated with changes. The overwhelming number of edge-cases to test. |
I understand it in the abstract, but have never applied it. |
Desire to improve quality and efficiency of testing, in order to create higher quality products. |
Show
|
8 |
35 |
C |
Python |
Roll-your-own |
I'm an RF engineer that spends about 75% of my time writing code. |
Combination of various ad hoc |
Embedded C on AMR M4 |
Eclipse |
Under 10 seconds |
Use my own developed over decades |
Does more than one thing, or not clear what it's doing |
Doesn't exist |
70 |
10 |
20 |
Power to do cool things |
Clunky tools, anacronyms of C |
Nothing really |
Standardize how we do testing |
Show
|
5 |
3 |
Python |
C, VB.net, labview |
none |
I am an electrical engineer who enjoys dabbling in software. I have 2 daughters at home, a 6 year old and a 3 month old. |
Trial and error. |
windows and linux |
visual studio code |
1-5 minutes |
no real standards for me, i try to follow pep 8 when coding in python. |
when it is trying to do too much. |
review with other engineers on the project. |
50 |
25 |
25 |
problem solving aspect. |
running into syntax errors, having to dig too deep to solve a problem. |
Write tests before you ever write a line of code. Then you write code to pass those tests. |
To learn more about test driven development, become a better programmer. |
Show
|
2 |
5 |
python |
C |
Unittest |
I've mostly worked on hardware teams and I was usually the only person writing hacky python code for automation. I want to get into embedded systems design and write C/C++ code that can be trusted not to break
currently learning C++ |
unittest module in python |
embedded linux devices |
vim
vscode
pycharm |
31-60 seconds |
- |
when it does too many things |
we dont do them |
40 |
20 |
40 |
I like getting things done and being depended on |
Reading codebases with no tests or documentation |
red-green-refactor |
I want to write code that doesnt embarrass me when I share it. |
Show
|
3 |
3 |
C# |
C, C++ |
None. |
I'm looking forward to learning about TDD. |
Functional Testing. |
WPF Apps, and Embedded STM32 Devices. |
GitHub, Jira, Microsoft Visual Studio, STM32CubeIDE |
11-30 seconds |
Internal Standard, rather basic with little hard constraints outside of formatting and naming. |
When it becomes difficult to understand with a glance and requires scrolling. |
Short pull request reviews for minor changes, and a larger system review prior to first release. |
50 |
30 |
20 |
The design and problem solving aspects. |
Rushed timelines and large amounts of minor changes. |
Not much, just that it has a large focus on test development earlier on. |
To gain some experience in an aspect of software that I have not encountered before. |
Show
|
11 |
30 |
C++ |
C
C# |
CppUTest
GoogleTest |
I mostly manage people and technology these days. Spend less time coding. Am taking the course with my son in HS to learn new things. |
CppUTest |
STM32xx w/ on-target tests in IAR and GCC + on-host tests w/ 32-bit windows GCC build |
IAR, GCC |
1-5 minutes |
Clang-Tidy linting + Markdown to capture manual rules + automatic formatting via Clang-Format, w/ CI |
Gut feel |
Pull request + CI automation checks |
30 |
30 |
40 |
Solving hard problems that others find too challenging/impossible to solve + planning and organizing |
long meetings |
Write a test for new use case, compile w/ coded interface (fails). Then implement to pass test. |
James convinced me it would be great for me and my team :) |
Show
|
5 |
20 |
C |
C++, Python, VHDL, Verilog, System Verilog |
Cppunit |
I am also a course instructor and I also write technical blogs over at embeddedrelated.com :) |
For C++ code Cppunit and using mocks for hardware drivers. For FPGA I use System Verilog with assertions to implement TDD to verify behaviours to reduce the risk of regressions when making changes. |
Almost all my projects have an FPGA and chips around them that we interface to. |
VSCode with TerosHDL for FPGA work and VSCode with C/C++ extensions for linting/code completion etc. |
1-5 minutes |
I have formulated my own coding standards based on the DO aviation standard for FPGA's. For C MISRA. |
When it handles too many behaviours. |
Generally I like to use checklists and have reviewers read standards beforehand. |
2 |
4 |
4 |
It is always a joy to see new behaviours working on a live board. |
How much time is spent trying things until it works and how brittle it often is. |
Very little, just that it can help prevent regression issues using a design for test philosophy. |
I was recommended it by Steve Branam and most recently I'm finding it could be useful for FPGA's. |
Show
|
2 |
5 |
C |
python |
none |
I've had little professional development around coding (outside of university) |
Test to functional specifications and ensure the device functions as intended. Additionally some longer term testing is setup but its all quite unstructured. |
Battery powered small embedded systems. Usually containing a sensor and RF |
STM IDE |
11-30 seconds |
We have a firmware standards document. |
When it is hard to follow / review |
Every pull request to a develop branch or to release goes through a pull request and is reviewed. |
20 |
50 |
30 |
The complexity and problem solving |
The repetitiveness of testing |
Nothing |
I know there is better ways of writing and testing code, however it is not done yet at work |
Show
|
3.5 |
3 |
Java |
C++, Bash, Python, |
Java |
I have a lovely dog who doesn't mind sleeping next to me whilst I code. |
Java unit tests. Build C++ code for some testing |
Java in a Linux environment |
IntelliJ, Qt |
31-60 seconds |
I'm still learning. Relatively junior as a software engineer. |
When it goes beyond 100 lines of code. Static analysis confirms too much cyclomatic complexity. |
Essentially non-existent, we don't have the time. |
30 |
20 |
50 |
Building something and seeing it working. Particularly seeing it provide real utility for someone. |
Never enough time. Crazy deadlines created by others. |
I hadn't heard of it until I came across your course. |
Because I won it in a competition. |
Show
|
2 |
6 |
python |
java |
mypy |
Dogs are great |
TDD |
n/a |
pycharm |
2-4 hours |
In python, for data processing, fairly proficient. Normally work using OOP and working to PEP8 |
It depends, but typically when reusing a code extract multiple times, or returning multiple things. |
I do them |
50 |
10 |
40 |
Building new things, building models |
testing |
Building a test first, that fails, then writing code to fulfil the test |
Mostly to learn more about embedding programming (not so much TDD) |
Show
|
3 |
5 |
C |
Python |
Unsure |
I am an avid baker and book reader. |
Debugging on embedded hardware |
STM32 |
STM32CubeIDE, STM32CubeProgrammer, STM32CubePowerMonitor |
Under 10 seconds |
Internal firmware standard |
When it becomes difficult to follow or contains many bugs |
Peer reviews on pull request |
40 |
10 |
50 |
Solving problems, working with logic based system |
Writing for other people's hardware, working around existing issues |
Almost nothing |
To learn better methods of coding - even if I don't agree with them, I would like to understand them |
Show
|
1 |
1 |
python |
Java, Javascript, C++ |
none |
A recent graduate, I am ready to hone my skills. |
Simple running and debugging the code |
I can't say for a certain |
VS Code for coding |
1-2 hours |
keeping the code maintainable, organized, and readable as much as possible as well as error handling |
Multiple lines present |
Just reading the code and test it |
20 |
30 |
50 |
Comprehensive and thorough documentation.
The programming outcomes and results |
The debugging process |
The opposite of how I test my code |
seeking to enhance my skill and knowledge |
Show
|
1 |
6 |
Ruby |
C, Kotlin, Python |
Unity, CppUTest
Espresso
Rspec, Nose |
I love martial arts and have trained many styles over the last 17 years |
Try to use TDD where Possible |
CN0510
https://github.com/graial/ad5940-examples-adjust-output |
cross core embedded studio (eclipse based) |
Under 10 seconds |
nil, one man team |
around 10 lines, unless its a switch |
nil, one man team |
3 |
5 |
2 |
The logical challenges |
Fighting with the initial setup of a testing toolchain |
I'm all about it |
Hoping to raise the technical standard of BSU's hardware labs |
Show
|
14 |
14 |
C++ |
C#, python, matlab |
Did not understand the question |
I work also as a control specialist and don't always work on software |
1. Unit testing for individual or a small set of classes
2. Integration testing in a simulated environment
3. Integration testing in a real time environment
4. System testing in a simulated environment |
Many product specific targets for simulated and real time environment |
1. C++ editor, compiler and debugger
2. Matlab / Simulink |
11-30 seconds |
Code needs to build with a C++98 compiler |
Difficult to read or understand and cannot be easily unit tested |
All pull requests to master branch must be approved by one colleague |
20% |
60% |
20% |
Usually it is possible to find out quickly whether you did an OK job or not |
Usually it is not possible to find perfect solution and need to compromise |
Often it is best to start by implementing a test case rather than start by implementing the feature |
To get some new or old ideas for testing and developing software more efficiently |
Show
|
5 |
9 |
C++ |
Python, C and C# |
Google test, python unittest |
I feel that we don't write that much code. In many feature that we do, we modify some existing code. I don't feel very experienced with coding and software systems. |
Unit test, manual testing with hardware, automated tests (unit tests and hw tests) |
Embedded system with ultrascale soc and different peripherals. |
Git, ide, debugger sw, confluence, build tools |
5-30 minutes |
We have a style guide which is based on Google C++ style guide. I think we have C++17, not sure. |
Hard to describe what it does or you forget what it does while checking it. |
We have code reviews when pull requests are being done. |
20% |
30% |
50% |
Problem solving, engineering, learning new, math |
Working with poorly defined requirements/user stories. |
Concept? Creating tests before coding features. |
I'm attending because my manager asked, also I'm curious to learn more. |
Show
|
4 |
4 |
C++ |
Python |
none |
I'm very lazy, but try very hard to not let anyone notice :) This is why I hate doing things wrong as it usually forces me to do them twice. |
Functional testing of the product |
Arm based real time control system |
VS code |
5-30 minutes |
Style guide that is based on Googles C++ style guide |
When I can't see it on my screen all at once? |
We do peer reviews (min 2) in pull requests |
5 |
15 |
15 |
Not having to reed HW standards, the power of digital control, the satisfaction of success. |
Computers, windows, technical debt, slow building/loading/feedback loops |
In practice, not much. The idea is very intriguing. |
To learn something new, to get new ideas for solving old problems, |
Show
|
7 |
15 |
C/C++ |
Python |
gtest/gmock, pytest |
- |
unit test, system test |
embedded |
VS Code |
5-30 minutes |
C++98 to C++17, Google C++ Style Guide derivative |
When it doesn't fit to the screen |
- |
40 |
40 |
20 |
- |
- |
Start by defining the test body how something is expected to work |
To have better tools for refactoring code |
Show
|
12 |
20 |
C++ |
C, Python, Matlab |
Catch, MStest |
No I won't |
Unit, systemtests, tests with realHW |
electric drive |
Visual studio/code |
1-5 minutes |
company has it's own |
When it's too long :) |
Via pull requests |
30 |
40 |
30 |
Problem solving. |
Complexity and quality of some legacy stuff |
I know the principles quite well. |
I see value in TDD, but has/is difficult with legacy stuff |
Show
|
4 |
4 |
cpp |
python |
google test |
I like bicycling. |
System level test. Unit tests |
Each product have a different target to compile |
meson, scons, vs code |
1-5 minutes |
google style guide, Klocwork |
When it is over 100 lines |
In each pull request a review is done. |
4 |
4 |
2 |
You can use your imagination |
Examine/Debugging others code |
You should do it more. |
In order to get better at TDD. |
Show
|
5 |
8 |
C++ |
C |
google test |
if get one function, how to get the start point to test it, and what kinds of stuff need to be considered |
mostly in hardware tests |
single chip / embedded device |
code IDE |
30-60 minutes |
C++ 17 |
feeling |
pull request reviewed by team member |
2 |
2 |
2 |
it can make the feature work |
a lot of stuff needs to be learned |
nothing |
want to learn the fundamental knowledge of TDD, hope it will be used in daily work |
Show
|
1.5 |
5 |
C++ |
Python, JavaScript, C# |
Stubs, mocks |
I prefer to do weight lifting on my spare time where I can only focus on one thing at a time. Also I play a lot of games so I spend most of my time on the computer in a day. |
Unit tests with Catch2, tests with simulated embedded SW |
Target system is a variable speed motor drive. |
Azure DevOps, Jenkins, Visual Studio |
5-30 minutes |
We are following a variation of C++ standard. |
It does multiple things. |
PR needs to be approved. Reviews are usually online. |
20 |
20 |
60 |
To see your work results fast. Also using creative ways to solve issues. |
Longer build times and pipeline slowness and errors. |
Idea is to write tests first and then the actual implementation should pass the tests. |
I try to attend all possible trainings to improve myself as a professional. |
Show
|
2 |
25 |
C++ |
C, C#, python |
googletest |
What there is to tell, still curious to learn new and better ways to get the job done |
Mostly in a simulated system running on a PC or on target hardware. Unit tests when module is new or making modifications to module, which has unit tests. |
Embedded software running on a ARM Cortex A53 |
Visual studio, Visual studio code, GCC |
30-60 minutes |
Based on Google c++ style guide |
When it is about to require effort to follow the logic it is way too long already... |
Every change to master requires approvals from at least 2 reviewers |
25 |
50 |
25 |
The process of turning an idea or a requirement to well functioning design |
Broken or difficult to use tooling, ever changing requirements, unrealistic schedules |
The idea has been presented or demonstrated few times over the years but I have never used it |
Volunteers were needed (and I was kind a interested to learn more about TDD) |
Show
|
6 |
10 |
C++ |
Python, C#, C |
Google Test framework |
My background is in automation and communication engineering. For the past few years, I have been working on the embedded software development side. |
Unit tests Google Test framework. Functional testing and smoke testing with ABB's own testing framework. |
Uses μC/OS-II or FreeRTOS, NXP1060 with ARMv7 (Cortex-M7) |
VScode, Visual Studio, IAR EW for ARM, SCons |
1-5 minutes |
The style guide is based on the Google C++ style guide. Using Cppcheck. |
Ideally, the function should do one thing and can be easily tested and debugged. |
1 person must review the code that is merged into the master |
50 |
30 |
20 |
Implementing something new and seeing it work in practice. Finding solutions to challenging problems |
Working with legacy code that uses abbreviations, no comments/descriptions, not very readable. |
Creating tests for a feature before writing the code that implements it. |
Getting deeper understanding of TDD and practical experience with different concepts related to that |
Show
|
5 |
5 |
C++ |
Python |
|
|
Unit tests
ATF |
Wind turbine converters |
VS code |
1-5 minutes |
ABB |
|
PRs |
40 |
30 |
30 |
|
|
Read the book |
I was asked to and subject is interesting |
Show
|
3 |
8 |
C++ |
C, C#, Python |
GoogleTest, CppUTest |
My first programming language was Haskell! |
A mix of CppUTest and manual unit testing. |
I work on both embedded Linux and microcontrollers. |
Visual Studio Code, IAR Embedded Workbench, QT Creator, Visual Studio |
31-60 seconds |
We use MISRA. |
It's somewhat subjective, but I look for too much nesting and readability. |
Currently, we conduct these via Bitbucket pull requests. |
20% |
30% |
50% |
I like the challenge of solving problems and constantly learning new technologies and skills. |
The amount of time it takes to do things such as documentation and unit testing. |
That it is a software development technique with the goal of making code easier to test. |
I'm interested in refining my development style. |
Show
|
4 |
15 |
C |
Python, JavaScript |
Unity |
I was trained as a historian before I became an embedded developer. Skills I learned combing through old archives do really come in handy when debugging software. |
PC targets are tested using Unity, embedded software are tested also using Unity but using a PC simulator |
Multi-target, ARM Cortex-M |
KEIL
Makefile
Vendor IDE(s) : STMCubeIDE |
1-5 minutes |
No such standards but static analyzers are using MISRA based rules |
When it does many things and has many parameters |
Small team so I am often my own reviewer |
30 |
10 |
60 |
Thinking about how to solve problems |
Too many abstraction layers that I don't understand |
I have read James' book and other resources about XP and SOLID programming (especially w/ Uncle Bob) |
I have a legacy project that I want to refactor and setup tests |
Show
|
3 |
3 |
c++ |
python, c, java, c# |
GoogleTest and CppUTest |
I'm pretty experienced in various learning environments. I went to public school then was homeschooled. Then virtual learning was introduced during college. I'm curious to see what methods of teaching are implemented during this training course. |
CppUTest |
This varies from project to project. |
IAR, VisualStudioCode |
1-5 minutes |
We use MISRA guidance |
We don't until we unit test them and then it's too late.. |
Currently involves a select group of Software Engineers within a team who go through the code. |
30% |
20% |
50% |
I like when software causes the intended behavior. |
Bugs and unit-testing nested if statements... |
Not much other than we're hoping that it expedites our unit testing efforts |
The real reason is because I'm interested in learning in general. Especially if it's something good. |
Show
|
2 |
10 |
c++ |
c, python |
gtest |
I studied Biomedical Engineering and developing embedded software for medical devices since 10 years |
gtest |
X86 & Arm A |
VS code, Cmake |
5-30 minutes |
C++17 |
currently we don't have tool. |
we do it in Bitbucket Pull request. |
30 |
30 |
40 |
- software for embedded system
- critical software
- using different features of language |
- slow deployment/testing |
only some theory |
I like to learn how to apply TDD practically |
Show
|
6 |
20 |
C++ |
C, python, Java |
cpp unit, gtest/gmock |
na |
gtest/gmock |
qnx/windows |
qcc
Visual Studio
git
Atlassian tool suite |
11-30 seconds |
Company has a coding standard |
Rule 1. Keep functions small Rule 2. keep functions smaller than that |
Code reviews are mandatory for every commit, several reviewers both internal and external of teams |
60 |
20 |
20 |
Its a combination of creativity, art, science, and engineering. |
It can feel like a grind sometimes |
Writing test firsts based off requirements and executing continuous test runs while developing code |
Manager suggested it and it sounds interesting to me |
Show
|
1.75 |
7 |
C++ |
C
Python
JS/Css/HTML
Rust
|
Gtest |
I love C++ templates/generics |
Gtest |
Real-time Linux-like OS |
VS Code
Linux
clang
coverity |
31-60 seconds |
Pretty modern, similar to Google's |
If you have to start commenting sections of the function. ~40 lines max. |
Done through bitbucket PRs |
50 |
10 |
40 |
It's fun solving problems and satisfying getting a solution |
N/A |
It's a way to layout behavior before coding functionality |
I want to see if TDD is all that it's cracked up to be (actually useful) or if it's just a buzzword. |
Show
|
5 |
12 |
C/C++ |
Python rarely |
Gtest |
I have a hardware background and enjoy bouldering! |
Unit and integration tests |
x86 and arm7 target nodes running an OS |
VSCode, target IDEs for smaller applications |
30-60 minutes |
C++17 |
Too many nested statements or multiple logic steps |
Deploy/test burden makes iterations a lengthy process |
40 |
30 |
30 |
Logic, organization, and being able to observe an action when something is successful |
So many options to accomplish the same thing. |
Design test first, then write code to make the test pass. |
To improve my design and test efficiency while creating robust software |
Show
|
7 |
45 |
QML |
c++, python, bash |
Google, others but I forget as it's been a while |
Studied Virtual Reality under Tom Defanti at University of Illinois at Chicago. |
run it on Linux laptop.
run it on robot.
run automated test framework. |
HUGO Surgical robot -- QNX and Windows x86 systems.
Linux laptops. |
VS Code.
g++, cmake, Qt tools |
1-5 minutes |
We have a pretty comprehensive c++ coding standard, but does not cover other languages. |
When it exceeds the height of the screen. |
every line of code is reviewed, often by more than one person. |
50 |
25 |
25 |
working in quiet on a cerebral problem;
automation;
solving real problems. |
In medical -- the long time it takes to develop a few lines of code. |
not much. Sounds like a good buzz phrase. |
My manager volunteered me for it. |
Show
|
2 |
8 |
C/C++ |
Python, Java |
Gtest |
I live in Colorado and love to snowboard |
Smoke Tests, Integration Tests, Ad-Hoc Tests, Unit Tests |
Linux and QNX OS, ARM and x86 arch |
Visual Studio |
11-30 seconds |
We have a whole document that outlines this |
When it is over 50 lines approximately and/or has too many if/else statements |
We use atlassian tools for code reviews |
40% |
40% |
20% |
Many problems to solve with a large thought connection chain |
Overhead of pushing code to a joint repository |
Not much |
To learn about TDD |
Show
|
1.5 |
35 |
C/C++ |
C++ |
GTest |
What else? |
GTest + Adhoc |
RTOS = QNX; multiple nodes communicating over EtherCat bus; Simulink based motion control algorithms |
multiple... |
1-5 minutes |
Internal |
takes more than a page |
100 % reviews Fish-Eye and Bitbucket |
40 |
20 |
40 |
I like seeing the interactions of SW with the "real" world. I am an low level embedded engineer.
|
Sometimes it takes very long time to see the results - medical industry... |
not much |
hope to learn more advanced techniques. Hope to make code base more debuggable |
Show
|
1 |
6 |
C++ |
Python, C#, Javascript, Rust, Solidity |
not sure |
:) |
GTest / Pytest |
qnx 7.1.0, ubuntu 20.04 |
VSCode, WSL, Docker |
11-30 seconds |
. |
If it solves more than one problem (S in SOLID principles) |
Comments about things not done properly, improvements in speed/robustness (why and how) |
30 |
65 |
5 |
Creating new things and solving problems |
Writing unit tests |
It seems it is about writing unit tests before the actual functionality. |
I want to know if tdd is useful, and if yes, I would like to do tdd in the future. |
Show
|
4 |
10 |
C++ |
Java, Python |
GTest |
I have a background in biomedical engineering and work remotely from Nashville, TN. |
Unit, Integration (HW + SW), and system verification |
QNX Armv7 |
VS Code to develop, Docker to build |
5-30 minutes |
Collaboratively developed and reviewed by colleagues who volunteer. Updated almost yearly. |
When it encompasses more that one main functionality. |
Code reviews are completed on the pull request |
20 |
70 |
10 |
There are many ways to accomplish tasks, and code reviews are helpful to learn from other people. |
Spending more of my time working with machines instead of with people. |
It's a way to ensure software is doing what's specified by requirements, unbiased by implementation. |
To learn how to better integrate tdd in my day-to-day. |
Show
|
4.5 |
12 |
C++ |
C
Python |
googletest
cpputest |
please mention that tests should be broken down meaningfully test cases and tests for readability. |
static analysis
unit-test
functional-test
system software in system |
qnx
windows
linux |
clang toolchain
qnx toolchain
|
1-5 minutes |
in-house coding standard with selected rules from google coding style, cpp corerules etc |
too complex: check with static analysis tool. Too long: measure execution time. |
we use Atlassian online tools to review the code changes. |
2 |
6 |
2 |
You can know what the software should do and check what it actually does. |
iteration takes long time. |
test if software outputs the expected result with certain input |
team exercise |
Show
|
<1 |
15+ |
C/C++ |
C# and some python, but not really. I Know enough to get in trouble. |
None, experimented with Unity and CppUTest due to TDDEC Book |
I started my career as an industrial electrician were I worked with PLC,s variable drives, etc. I went back to school and studied EE where I was introduced to embedded systems and quickly realized that was my passion. I like building model rockets. |
Bench test, toggle IO, printf, hw in the loop testing. |
Cortex-M7 with external memory,sensors, xcvrs. |
VS Code
GCC
CMake
cppUTest
WSL2
MSYS2
AtmelStudio
IAR |
1-5 minutes |
Dated |
When the functionality is not apparent with a quick review of the code. |
Minimal |
UNDEF |
UNDEF |
NaN |
Recently, I have been trying to learn more about architecture/designing sw vs just coding. |
Lack of documentation/requirements |
Failing tests come first, the test is the first client, test doubles help w/absent dependencies |
I have read the book and want to exercise what I have learned to share with my team |
Show
|
1.5 |
7 |
C++ |
Python
Bash
JavaScript |
GTest |
I enjoy building thing my spare time and don't like huge frame works. |
Unit tests and SITL tests |
armv7/x86 qnx systems |
VS Code |
1-5 minutes |
We have one, no specific guidance on unit test coverage. Req of no static analysis errors. |
Personally, when It tries to accomplish more than one objective. |
At lease two dev reviewers. |
40 |
30 |
30 |
Using code to use hardware to interface with the real world. |
Unnecessary complicated code, and arch, left by devs trying to be clever. |
Design tests(establish functionality needs) first then write the code. |
Testing code in units is faster than testing on HW. Want to get better at it. |
Show
|
7 |
30 |
C++ |
Python, Rust, C, Bash |
GTest |
I enjoy looking into hard to debug problems.
In my spare time I like to go running, hiking and rock climbing. Also I like to spend a lot of time with my two kids. |
GTest |
QNX 7.1 and Linux |
Vim, VSCode |
4-8 hours |
Custom coding standard based on various publically available coding standards. |
Gut feeling. Mainly where it concerns readability. But that's very subjective. |
Done in the Bitbucket pull request. >= 2 reviewers need to complete; all comments addressed |
10 |
10 |
20 |
I like building things and thinking about challenging problems. |
Waiting for long builds or tool runs. |
Write the test first, then make the test pass by implementing software. |
I can't imagine how TDD can work in real life. I want to find out if I'm wrong about that :) |
Show
|
2 |
2 |
C |
C# |
NUnit/JUnit
Ceedling/Unity/CMock |
|
Mostly system level tests that are automated. |
Microcontrollers |
Visual Studio
GCC
GDB
Bash
Python
Git |
11-30 seconds |
There are some guidelines for the coding style.
Indentation, naming, etc. |
N/A |
GitLab to manage merge request. Colleagues will review the change. |
33 |
33 |
33 |
It's fun to build something useful. |
It can be frustrating. |
I have heard about TDD a few times, also had a course in software testing while studying. |
Curiosity. |
Show
|
3 |
4.5 |
C or C++. It varies. |
Assembly(device specific), Python, C#, JavaScript, TypeScript, Markdown, LaTeX |
Ceedling and GoogleTest |
I enjoy making things in my free time, Whether it's baking, cooking, knitting, modeling and 3D printing, soldering, or writing microcontroller code. |
Depending on the project, either with Ceedling or GoogleTest for unit tests and Python for tests that interface with hardware. |
Usually a microcontroller that's either running FreeRTOS or a custom Linux image built with Yocto. |
Atmel/Microchip Studio, VS Code, PuTTY, CMake, hardware JTAG debuggers, GitHub Copilot or ChatGPT |
1-5 minutes |
We don't have a formal standard at the moment. I mostly follow what I was taught in college. |
When there are comments labeling chunks that could be moved into their own function calls. |
We create pull requests and if a reviewer flags an issue we discuss it, though issues are rare. |
25 |
25 |
50 |
Problem solving and being able to make computers do anything, with enough thought and creativity. |
Banging my head against a wall chasing down bugs for hours at a time. |
It's a method of writing software to be easily tested & write tests, to reduce time spent debugging. |
To learn how to structure code to be tested and how to set up and write tests. |
Show
|
25 |
20 |
C, C# |
JAVA, Python |
JUnit |
love coding. |
Manually |
Various |
Various IDE |
30-60 minutes |
Company Standard |
Code Standard |
DevOps Pull Request |
50 |
10 |
40 |
Challenging |
Hard to find bugs. |
Tried once. |
Need to use it |
Show
|
9 |
20 |
C |
I've been really focused on C for the last longest time. |
Unity |
I love caves. I can't wait to go spelunking again. |
Unity |
The next target I know of is called the Platform Development project. |
IAR, Codewarrior, MPLab |
Under 10 seconds |
It needs an update |
It just feels too long |
Done online through DevOps |
30 |
30 |
40 |
I like the relatively quick sense of accomplishment when the plan comes together |
All the documentation to go along with it. And UL. |
I've had a little experience with it. |
To brush up in preparation for building our AOS code library |
Show
|
2 |
10 |
c |
C++ |
TDD |
no |
TDD |
ARM cortex-M3/M4 |
Keil IAR e2-studio |
31-60 seconds |
no |
no |
DevOps |
30 |
30 |
40 |
no |
no |
know a little |
To let code strongger |
Show
|
.5 |
2 |
C |
python |
cunit |
my experience is in v/r & re. I want to learn the other side of it. my personal projects at home fail miserably because ive never devoted time to learning how to do things in small/incremental steps |
right now its non existent |
arm32 bit embedded systems running linux |
vscode, make, scripts for upload |
1-5 minutes |
I dont have one, does clang-format count? |
when it does more than one thing |
very informal, usually a small amount of discussion and a pull request soliciting teammates comments |
10 |
10 |
80 |
I like building things, and i have little experience doing this. my experience is in v/r and re |
i hate debugging, and getting sucked into writing a bunch of code at once, instead of incrementally |
only the basic concept behind unit tests, ive never written any. |
I want to learn how to build embedded systems reliably. |
Show
|
11 |
28 |
C# |
C++(Arduino)
|
Never used one. |
The 1st computer I saw was in the 80's @10yrs old. I started programming @15 on a toy laptop in BASIC, then @16 I got 1st PC, a 486 with Win3.11 and moved into QBasic, VB, C#. BA Comp Eng. @35. Was an Electrician, Machine Maint. Facilities ENG. |
Just look to see if what I wrote does what I want it to do. |
I'm not sure |
Visual Studio
E^2
IAR
Arduino IDE
Unity3D |
1-5 minutes |
I've been prog. for 28 years. I've been a hobbyist, until 1.5yrs ago. So I've not used a standard. |
when it repeats itself, or my finger gets tired of scrolling. |
Not what they should be. |
45 |
5 |
50 |
Time disappears, I get on an emotional rollercoaster with lows and highs. It keeps me engaged. |
That I eventually get tired and have to stop. |
Just the very little of your book I've read so far. It sounds very interesting. |
Company encouragement, but I want to learn anything from experienced programmers I can. |
Show
|
2 |
10 |
C |
C#, C++ |
Unity |
I have experiencein designing temperature controllers, power switching devices, thermostats etc. |
using debugger |
temperature controller pcb with ARM microcontroller |
Renesas E2 Studio |
1-5 minutes |
We follow company's coding standards. Try to write code that will be easly readable and portable. |
when it's hard to read and follow |
Code reviews are done using DevOps. |
50 |
25 |
25 |
I like to design sofwtare because I like to solve problems and be creative and innovative. |
pressure to deliver bug-free software within short time frame. |
It is used to create more bug-free code by first designing the test methods. |
TDD course is required by my company, but I'm also courious how it works and want to learn more. |
Show
|
1 |
9 |
c |
python |
unity
Cunit |
I enjoy music and the outdoors |
unit tests around Cunit framework |
embedded linux device running on beagle bone type hardware |
VSCode with gcc toolchain |
1-5 minutes |
Covers practice of Coding Conventions, Validation and Test, Defensive Programming and Formatting |
when it starts doing more than one task |
code is peer reviewed through git Pull Request from dev branch into feature branch for testing |
40 |
30 |
30 |
I like determinate logic |
debugging |
start with the test design then develop the application to satisfy the test cases |
i want to develop my approach to TDD |
Show
|
3 |
8 |
C |
Python |
None. |
Electronics and telecommunication engineer, Control and Automation specialist, learned SW in 2002 (Delphi), worked in 10 different companies, worked with: IT, software, database, hardware, SW QA, Management, etc. |
Using framework-less unit tests. |
Telematics device for transport refrigeration systems |
VS Code, Git, CMAKE, MAKE. |
5-30 minutes |
Try to follow as best as possible the guidelines shared among the team, but sometimes differs. |
personally when it's doing many different logics, or repetitive, or much bigger than a screen page. |
reviews based on logic, best functions, comments, variable types, magic numbers, use of enums, etc |
70 |
10 |
20 |
Put ideas to work in the real world. Challenging myself. Different tasks. Math. Logic. Teamwork |
Testing. Solitary. Long time in a chair. low interaction with other people. |
I understand the concept and tried to implement something. |
Because my manager wants that we all start making more unit tests and he wants to use TDD approach. |
Show
|
< 1 |
5 |
C/C++ |
Python, JavaScript |
CppUTest, Unity |
In my free time, I enjoy reading, engaging in various forms of digital media (video games, shows, films), exercise (particularly martial arts), LEGOs, and working on personal software projects. |
Yes, but not unit tests. |
Generalized I/O systems, capable of running various peripherals. |
VS Code, some kind of Terminal, some Eclipse-based IDEs for platform-specific development. |
31-60 seconds |
MISRA-C |
When it eclipses 100 lines and has multiple instances of repeating code. |
We don't conduct code reviews. |
20 |
20 |
60 |
I enjoy solving simple to complex technical problems and applying an elegant, simple solution. |
I don't enjoy working within a codebase that doesn't apply software development best practices. |
I've read James Grenning's TDD book a couple times and have tried implementing it once or twice. |
I would like to practice my TDD skills more and apply it to my work from the bottom-up. |
Show
|
3months |
10 |
C |
C++, python, bash, c# |
GTest, NUnit, CUnit |
Also want to become a better project manager |
CUnit |
arm |
VSCode, git |
11-30 seconds |
Google standard |
More than 70-100 lines |
2 approvals/reviwers per merge request |
40 |
30 |
30 |
Writing software |
Debugging |
Writing tests before beginning development |
Write better tests |
Show
|
6 |
15 |
C |
Python |
Ceedling |
I'm a foodie |
Ceedling |
Bare-metal ARM |
Vendor provided tools |
1-5 minutes |
Loosely based on K&R |
When it's doing multiple things |
Conducted during PR review |
60% |
15% |
25% |
Creating new apps |
context switching |
Few concepts (having used ceedling) |
To formalize my TDD learning and fill any knowledge gaps/ learn best practices |
Show
|
2 |
5 |
C |
Python, Bash |
Internal company framework, gTest, unity (not the game engine) |
A nerd not only at work, but in a lot of things. Love hiking, cooking, gaming, and learning new things. Soon to have a second son (being able to set my own pace with this course will come in handy :)) |
Code first, unit and integration tests later. |
Mainly an ARM Cortex M processor from STM32 |
VIM for writing code, VSCode for debugging. VM and Docker environment for building and unit testing. |
Under 10 seconds |
Main focus is readable AND memory efficient code. Functions and components should do one thing. |
When it does too many different things. When it's hard to read. |
Find potential bugs, suggestions for cleaner code, tests run in CI |
50 |
20 |
30 |
Problem solving, collaboration, it's a craft you hone, mix of tech. knowledge and creative thinking. |
Debugging is fine, but doing it under time pressure is awful (which is normally the case) |
Not much, test before you implement. People have very strong opinions of it (on both sides) |
I've heard a lot of negative opinions on TDD, and some positive. I'm want to form my own opinion :) |
Show
|
3 |
5 |
C |
C++, Rust, Python, LabVIEW |
ucunit, Google Test, |
. |
Unit tests running on target using ucunit framework, and partially the same tests on PC with the same framework. Also there's obviously debugging and manual inspection. |
TI C2000 |
Code Composer Studio, Visual Studio Code, LDRA. |
1-5 minutes |
Pretty rigorous as I work in aerospace - MISRA + more |
When it becomes hard to follow - for example > 60 lines of code? |
What can I say, they are performed by other team members. They are OK I guess? |
50% |
10% |
40% |
The magic of making the logic work, thinking about ideas and then creating code from them. |
Slow development environment, tedious tasks (boring debugging included) |
I understand the general idea and I would like to try it in practice. |
Well, I wanted to know more about TDD and maybe try to introduce it in our work. |
Show
|
3 |
12 |
C |
C++ assembler |
VectorCast, CUnit UCunit Gtest Gmock |
nothing special |
unit and integration test |
embedded systems for automotive and aerospace
|
lauterbach gcc eclipse beyond compare |
1-5 minutes |
it is |
use my brain |
we have |
10 |
70 |
20 |
there is no ideal code |
I like |
I used it |
test only |
Show
|
3 |
7 |
C |
Python |
zephyr ztest |
I'm a slow learner, I have had difficulties with programming but I'm improving. I enjoy it and I like embedded systems. |
zephyr ztest, unit, integration and system test |
Lock platform. |
python, zephyr, jlink, VSCode, docker, and others. |
5-30 minutes |
Readability and functionality - code does what it intends to do |
When irrelevant or repeated logic is available. |
Review all code that is ready for contribution. |
60% |
20% |
20% |
Creating |
Not getting enough time for research or improving solution. |
To achieve reliability, find bugs, and modular approach during development. A way to limit errors. |
I want to learn more about TDD, I have heard and read stuff but really not got time to get hands-on. |
Show
|
14 |
20 |
C |
python |
ztest, company´s own |
I am an embedded software engineer that is really passionate about testing. Not only unit testing and TDD, but all forms of testing. For me, testing is the heart of product development. |
Unit tests with ztest / fff. Integration and system level testing on real hardware with Robot. |
Locks, readers, door automatics |
Tools provided by the Zephyr platform |
Under 10 seconds |
Following the coding standards from the Zephyr platform (similar to Linux coding standards) |
It doesn´t fit on the screen :) Or sonarqube tells me it is too long |
Every change is reviewed in merge request using Gitlab. Each merge request needs 2 approvals |
40 |
50 |
10 |
It is fun to see the code in action. Problem solving |
Nothing really. Perhaps fighting with tools that doesn't work or slows down your work |
I know quite a lot of theory. I try to practice it when I can. I teach TDD in the company sometimes |
Evaluate if this is a good course for colleagues that want to take programming to the next level |
Show
|
5 |
23 |
Python |
Java, PHP, Javascript, C/C++ |
unittest,behave,JUNIT,Cucumber,Mockito,PHPUnit, Behat,mocha, sinon, jest,googletest, CppUTest |
I am a programmer who likes his job. I don't like stress or pressure at all, but I can deal with it. |
I started strictly programming through test driven techniques 5 or 6 years ago. Before that, I used to write some tests or partially going through something like BDD. Making many common testing mistakes though. |
My job is about web environments, and part of a personal project is about microcontrollers and comm. |
From many years ago I have the personal license for all Jetbrains tools. CLion for C/C++ |
Under 10 seconds |
I try to "objectify" everything in order to stick to SOLID principles. |
function does many things, or I cannot quickly understand it, or it does not fit my little screen |
I'm a bit strict but at the same time I understand that there is not only one way to do things right |
40% |
50% |
10% |
It's a cheap way to create very powerful things. Things that may seem to have its own life. |
My code from last year backwards. I will think the same next year |
It's a "pathfinder" technique for any development journey. Very helpful in the structuring process. |
Reading "TDD for embedded" book improved my TDD knowledge a lot. I want to go to the next step. |
Show
|
2 |
26 |
C |
Assembler
TKL
Flavors of BASIC |
CUnit |
All of the above answers are from my memory of doing it more than a decade ago. I have not been coding for a long time. This is an adventure! |
Debug |
x86 microprocessor. 48K RAM. 4K ROM |
Visual C |
1-5 minutes |
Our own definition that is updated as needed. Mostly about syntax, little about structure. |
It's longer than 50 lines on the screen |
Happen when an engineer expresses difficulty or requests a review. Also when a debugging. |
40 |
20 |
40 |
Inventing worlds inside a microprocessor. |
Complex and emergent behaviors |
The cycle: write test, fail, pass, refactor |
You generously offered it to me! |
Show
|
33 |
45 |
C |
Visual Basic for Applications |
Unity |
I am semi-retired, would like to train other on software quality. Resolving all the issues at our company to retrain them. Hope to do that when my contract is up. I love learning; the "aha" moment when I found what I was doing wrong. Best practices. |
TDD until it breaks down because we were not doing it right. |
Mostly water heater controls |
Eclipsed based IDE (KDS, MCUXpresso, starting Renasas E2Studio). Used others. |
Under 10 seconds |
Our company standard was based on Object Oriented in C using PC-Lint/Misra, formatting. |
We have not limited it. But usually TDD breaks down long before it gets big. |
We have used several tools most recently DevOps for pull requests. |
20 |
20 |
60 |
It is creative and I like seeing things "come alive", even a blinky LED is satisifying. |
When the code gets way to complicated and hard to debug. |
Took this course live at the Barr group years ago. Taught others including wrong practices! |
You gave me the chance to check out the online version to recommend to my colleagues. Learn more. |
Show
|
1 |
12 |
C |
Python, C++ |
Ceedling, GTest |
I am a heavy metal singer and an avid Magic the Gathering player in my spare time. |
Unit tests and integration tests. |
ARM processors in general. |
VS Code |
31-60 seconds |
Our company has its own internal coding standard, which is somewhat similar to MISRA-C. |
When it has too many lines and does too many things. |
We have a classical merge request/review/approval process. We need at least one approval to merge. |
50 |
20 |
30 |
Having the power to control and see the result of my work becoming "alive" on the hardware. |
Bugs and writing lots of documentation, usually. |
We do it actively and I have a good experience with it, but I feel like it can be much better. |
Learn more and be better at TDD. |
Show
|