"So are you a designer or a developer?" I get this question a lot. My answer? Both. And I believe this combination has been one of my biggest career advantages.
In the tech world, there's often pressure to specialize. Pick a lane, they say. Master one thing. But my experience has taught me that being able to both design and build has opened doors that wouldn't have been available otherwise.
How I Got Here
My journey didn't start with a grand plan to be a "designer-developer." I studied Computer Science at Africa Nazarene University, focusing primarily on programming. But during my internships, I noticed something: the gap between what designers envisioned and what developers built was often massive.
Designers would create beautiful mockups in Figma that were technically impossible to implement. Developers would build functional systems that looked like they were designed in 2005. Neither side fully understood the constraints and possibilities of the other.
I decided to learn both. Not to become a master of both (that would take lifetimes), but to be fluent enough in each to bridge that gap.
The Advantages I've Discovered
Faster Iteration
When you can design and code, you can move incredibly fast. I don't need to create perfect mockups before building. I can sketch basic wireframes, jump into code, see how it actually feels to use, then iterate on the design. This rapid prototyping has been crucial for client projects where we need to validate ideas quickly.
Better Design Decisions
Understanding code makes me a better designer. I know what's easy to build and what's difficult. I know when to push for that perfect animation because I know it's achievable with a few lines of CSS. I also know when to simplify because implementing a design would require weeks of work for marginal benefit.
For example, when designing the Travel Tourism website in my portfolio, I knew exactly how to structure the recommendation system because I understood both the user experience I wanted to create and the technical implementation required.
Better Development Decisions
Understanding design makes me a better developer. I don't just implement features—I think about the user experience. I question whether a feature actually solves a user problem. I care about things like loading states, error messages, and micro-interactions that pure backend developers might overlook.
More Opportunities
In the Kenyan market, especially working with startups, being a one-person design-dev team is incredibly valuable. Early-stage startups can't afford separate designers and developers. They need someone who can wear both hats. This hybrid skillset has led to more freelance opportunities and better rates.
The Challenges
It's not all sunshine and rainbows. Being a hybrid comes with real challenges:
The Depth vs. Breadth Dilemma
While my designer friends are mastering advanced animation principles in After Effects, I'm learning React. While my developer friends are diving deep into system architecture, I'm studying color theory. There's always this feeling that you're a bit behind specialists in both areas.
I've made peace with this. I'll never be as good a designer as someone who only does design, or as skilled a developer as someone who only codes. But the combination gives me unique value.
Imposter Syndrome Times Two
Designers sometimes view me as "just a developer who dabbles in design." Developers sometimes see me as "just a designer who writes some code." You develop thick skin and let your work speak for itself.
Keeping Up with Two Fields
Design trends change. Development frameworks change. Trying to stay current in both feels like a full-time job on top of your actual full-time job. I've learned to be strategic about what I dive deep into and what I just keep a surface-level awareness of.
My Tools and Workflow
Here's how I actually work on projects:
Design Phase
- Figma for UI design and prototyping
- Adobe XD occasionally for specific projects
- Pen and paper for initial wireframes (yes, still relevant)
- Webflow sometimes for quick design-to-code experiments
Development Phase
- React for most modern web apps
- Vue.js when appropriate
- Tailwind CSS for styling (faster than writing custom CSS from scratch)
- Node.js for backend when needed
The Bridge
The magic happens in how I move between design and code. I don't create pixel-perfect mockups. Instead, I design in stages:
- Rough wireframes to establish layout and flow
- Basic prototype in code to test interactions
- Refine design based on how it actually works
- Polish UI in Figma if needed
- Implement final version
This approach is much faster than the traditional hand-off from designer to developer.
Advice for Others Considering This Path
Start with One, Add the Other
Don't try to learn both from scratch simultaneously. Get solid in one first. I started as a developer, then added design. This gave me a foundation to build on rather than trying to master two complex fields at once.
Focus on Fundamentals
In design: Learn layout, typography, color theory, and user psychology before worrying about trends. In development: Master JavaScript deeply before jumping between frameworks.
Build Real Projects
Theory only gets you so far. The only way to truly learn both is to design and build complete projects. My portfolio pieces—the Hardware Shop Management System, the Travel Website—these weren't just coding exercises. Each required both solid design thinking and technical implementation.
Find Your Niche
You can't be everything to everyone. I've found my sweet spot: web applications with strong UX requirements. I'm comfortable designing and building in that space. You might find yours in mobile apps, data visualization, or something else entirely.
Don't Apologize for Being Hybrid
Own it. When clients or employers ask, I confidently explain that I can take a project from concept to completion. That's valuable, especially in the startup world.
Is This Path Right for You?
Consider the hybrid path if you:
- Enjoy both creative and analytical work
- Want to work with startups or as a freelancer
- Get frustrated when designs don't translate well to code (or vice versa)
- Like having control over the entire product
- Don't mind being a generalist in a world that loves specialists
It's definitely not for everyone. Some people love specializing deeply in one area. That's equally valid. But if you're drawn to both design and development, don't let anyone tell you to pick just one.
The Future of Hybrid Roles
I believe the future actually favors people who can span disciplines. As AI tools handle more of the routine work in both design and development, the ability to see the big picture—to understand how design decisions affect code and vice versa—becomes more valuable, not less.
Tools like Figma's dev mode, GitHub Copilot, and AI-powered design assistants are making it easier to bridge the gap. The technical barriers between design and development are lowering. What remains valuable is the judgment to know what to build and how to build it well.
Final Thoughts
Being both a designer and developer isn't about being twice as good as specialists. It's about seeing the full picture. It's about not losing important details in translation. It's about shipping products that are both beautiful and functional because you never had to hand off between teams.
Would I recommend this path? Absolutely, if you're willing to accept that you'll always be learning, always feeling like you could go deeper in either direction, but also experiencing the satisfaction of taking an idea from wireframe to deployed application all by yourself.
The Kenyan tech scene needs more people who can bridge these worlds. The startups I work with don't need specialists who can only do one thing. They need people who can see a problem, design a solution, and build it.
That's what I do. And if you're considering this path, that's what you could do too.
Want to see how I apply both design and development skills? Check out my portfolio or get in touch to discuss your project.