TDD for Embedded C
2019-08-14 18:47:30 UTC
Most useful learnings:
Practical implementation of concept
Concepts v exercises:
Presentation v discussion:
Too much discussion
For me, I was already 100% "all-in", embracing the TDD concept before ever signing up for the course. I've worked in product development for 30 years and see the problems and know there is a better way. I was already convinced this was the approach that wants/needs to be taken.
There was a lot of the "why should you do this" there. There obviously needs to be some, but for me it was too much. I would have rather spent more time on the practical - here's how you do it, here's how the development environment gets setup, etc.
For me, I was frustrated by the exercises on the first 2 days. Not because of the TDD part but because of the language part and trying to guess how James was expecting it to be implemented. I have not done day to day software development for a couple years so #1 I am rusty. Even when I did do development, I'm mainly a hardware or embedded systems guy so I probably only have used 50-60% of the C language. So conceptually I was chasing. It would have helped IMMENSELY to have a cheat sheet with the solution steps for when I hit a stumbling point. Yes, I could have asked for help and you could have jumped on, but it's a group class and there were very different experience levels involved. I know you might feel having a cheat sheet would let people just go through that, but having that for a clue point would have let me get more out of the exercise experience.
Calm cool and collected.
Bring it on!
Complicated. But I fully intend to start the next time I sit down to work on software. I am currently the COO of my company. I was asked to take over running the company when the former CEO ran it into the toilet. Now that I've righted the organization, I am working to shed a number of roles and transition to a CTO role. Initially it will be a hands on development role as I work to build a development team. So, I want to lead by example of what needs to be done so as I bring people on (including former co-workers who I intend to recruit) they can see the benefit. Probably will have more students for you in the future.
Challenges to applying:
Just the personal technical challenges of getting tools and processes setup and in place to actually do it. Since I'm the decision maker, that part will be easy.
I am going to HIGHLY recommend that you don't mix time zones like you did. Between the language barrier and the technical issues we ran into, it was very distracting to me as I was trying to wrap my head around some foreign concepts.
One problem I also think falls under this topic was the exercises. In a traditional in person class, when one person needs help, you are talking to that one person and working with them and not the whole class (until it was something where you needed to say "everyone should pay attention to this). Here, you were working with someone and we were all hearing it. When you were doing that, it was highly distracting to me as I was struggling to work through something. It would be good to find a way to have a one-on-one conversation with a person (not sure Zoom supports that but if it does). It was especially hard when you were helping someone far ahead of me and I'm trying to focus on something a ways back for them.
Thank you James!!!
Legacy code workshop:
Recommend to others: